роботы робототехника микроконтроллеры


 Страниц (3): « 1 [2] 3 »   

> Без описания
morokoriss Post Id



Генералиссимус


Сообщений всего: 697
Дата рег-ции: Нояб. 2011  



Бред сивой кобылы! Тогда бы в двух разрядах одно и то же горело, да хоть в четырёх, пусть хоть все транзисторы открыты будут. Вот почему "показывает цифру предназначенную для первого разряда!" ? Там МК по барабану для какого разряда оно предназначено, какой катод подключен там и будет. Если Вы хотите разные цифры видеть надо использовать динамическую индикацию, быстренько перебирать катоды и в определённое время включать нужные сегменты, а инерционность нашего зрения сделает своё дело! Или же использовать по одному МК на каждый сегмент или сдвиговые регистры.
(Добавление)
Duha Нет. Прерывание происходит по событию (изменение, спад, подъём). Надо просто исключить дребезг, уже писали про это здесь! Есть программные методы а есть схемотехнические. В уроках Джереми Блума об этом ну очень доходчиво сказано. Вот http://wiki.amperka.ru/видеоурок...ная-стабилизация изучайте!

(Отредактировано автором: 15 Февраля, 2014 - 19:46:33)

 
 Top
n1k3 Post Id


Лейтенант


Сообщений всего: 21
Дата рег-ции: Февр. 2014  



morokoriss Спешите с выводами! Всё так и задумано как вы говорите, "Там МК по барабану для какого разряда оно предназначено, какой катод подключен там и будет. Если Вы хотите разные цифры видеть надо использовать динамическую индикацию, быстренько перебирать катоды и в определённое время включать нужные сегменты, а инерционность нашего зрения сделает своё дело!" - всё верно, так всё и должно быть! Если бы посмотрели код, то увидели бы что так и реализовано. От первого разряда отключил транзистор специально для отладки! И увидел я такую картину - загораются на втором разряде цифра и для первого и для второго разряда.

Вот вопрос и состоит в том - почему?? elmot говорит что транзистор всегда открыт.. тогда для меня это загадка с чего это вдруг он открыт Улыбка Ведь на его базу ничего не подается в момент подачи сигналов цифры первого разряда. Электронщик я тоже слабый..

PS elmot насчет балластных резисторов - ну это ведь эмулятор.. накидал по быстрому для симуляции картины Улыбка

PPS
morokoriss пишет:
Тогда бы в двух разрядах одно и то же горело, да хоть в четырёх, пусть хоть все транзисторы открыты будут.


А вот в том то и дело, что во всех и горит одно и то же!!!




PPPS Опять поспешил, забыл ко второму транзистору прилепить резистор.. но смысл думаю понятен о чем я.

(Отредактировано автором: 15 Февраля, 2014 - 20:56:06)

 
 Top
Петр Киселев Post Id



Гуру


Сообщений всего: 2397
Дата рег-ции: Окт. 2012  



morokoriss прав! У вас, n1k3, явно не хватает динамического опросчика.
Это типа дешифратора с динамическим стробом, которые должны открывать вентили на нужные разряды ваших семисегментных индикаторов.
 
 Top
morokoriss Post Id



Генералиссимус


Сообщений всего: 697
Дата рег-ции: Нояб. 2011  



Ну во первых, кода не выложили. Так и будет, вы по очереди зажигаете разряды в программе. Только нужно это делать гораздо быстрее и очень быстро переключать разряды. А если вы захотите зажечь 1234 так, как сейчас у Вас сделано, то во втором разряде по очереди 1 2 3 4 будут загораться, Нужно на мискросекунды зажигать 1 при подключенном первом разряде, затем 2 при подключенном втором, 3, 4 и так по кругу ну ооооочень быстро. Если на камеру снять любой дисплей с динамической индикацией и сильно замедлить, то все увидите и поймёте. Что за такое понятие цифра для 1 или 2 разряда? Нет тут такого, они одинаковы! Вот если бы у вас был дисплей с управлением по I2C. Вы послали ему в адрес 1 разряда а он зажигает во втором вот тут странно бы было. Поймите механику этого процесса так сказать.
(Добавление)
Относительно картинки, И БУДЕТ ГОРЕТЬ ОДНО И ТО ЖЕ!!!!! Неужто неясно почему? Оба транзистора открыты!!! Можно второй и не ставить, от первого все четыре катода замкните и все 3333 загорятся. Может код неверный? Вот транзисторы и открыты всегда?
(Добавление)
Вот, Ваш случай! И номиналы резисторо указаны. http://avr-start.ru/?p=491#more-491
 
 Top
n1k3 Post Id


Лейтенант


Сообщений всего: 21
Дата рег-ции: Февр. 2014  



morokoriss пишет:
Ну во первых, кода не выложили.


Да всё я выложил, опять спешите: http://myrobot.ru/forum/topic.ph...68176#1392368176

n1k3 пишет:
Код такой: http://pastebin.com/A4R2HAMW


morokoriss пишет:
А если вы захотите зажечь 1234 так, как сейчас у Вас сделано, то во втором разряде по очереди 1 2 3 4 будут загораться, Нужно на мискросекунды зажигать 1 при подключенном первом разряде, затем 2 при подключенном втором, 3, 4 и так по кругу ну ооооочень быстро. Если на камеру снять любой дисплей с динамической индикацией и сильно замедлить, то все увидите и поймёте. Что за такое понятие цифра для 1 или 2 разряда? Нет тут такого, они одинаковы! Вот если бы у вас был дисплей с управлением по I2C. Вы послали ему в адрес 1 разряда а он зажигает во втором вот тут странно бы было. Поймите механику этого процесса так сказать.


Да всё так и сделано! Посмотрите код, механику процесса прекрасно понимаю!

Вот часть кода, о которую вы пытаетесь мне "объяснить" Улыбка

CODE:
PORTB = numbers[tens];
PORTA = 0b00000010;
_delay_ms(20);
PORTB = numbers[nums];
PORTA = 0b00000001;
_delay_ms(20);

Т.е. на порт В вывожу цифру первого разряда, которая должна показывать десятки, и зажигаю первый разряд с помощью порта А(к нему подключены транзисторы). Затем вывожу цифру второго разряда(единицы) и включаю второй разряд, первый гашу (PORTA = 0b00000001).

morokoriss пишет:
Относительно картинки, И БУДЕТ ГОРЕТЬ ОДНО И ТО ЖЕ!!!!! Неужто неясно почему? Оба транзистора открыты!!!


В том то и вопрос! Почему они оба открыты? Посмотрите внимательно на последний скриншот - сигнал подается только на порт PA0! (красный квадратик значит выходит высокий потенциал). Как и с ножками индикатора видно по abcdefg горят только нужные для того чтобы увидеть цифру 3.
Т.е. всё правильно, в данном случае мы должны увидеть цифру 3 на первом разряде. А мы её видим на двух! И непонятно с какого перепугу, ведь на базу второго транзистора(к базе которого подключен PA1) сигнал не подается, значит второй разряд гореть не должен! А он горит.
 
 Top
elmot Post Id



Гуру


Сообщений всего: 1141
Дата рег-ции: Дек. 2010  



Перестаньте человеку втирать про принципы динамической индикации. Тут не программу надо чинить, а электрику. Человеку не удается транзистор закрыть.

n1k3, резистор R1 уменьши значительно, может полегчает.
 
 Top
morokoriss Post Id



Генералиссимус


Сообщений всего: 697
Дата рег-ции: Нояб. 2011  



В реальности тоже так? По поводу резистора, я дал ссылку, там 3К.
 
 Top
n1k3 Post Id


Лейтенант


Сообщений всего: 21
Дата рег-ции: Февр. 2014  



В реальности пока собирать не хочу схему.. тут бы на эмуляторе разобраться. Знания электроники у меня хорошо подзабытые. Резисторы поставил на 3К, но эффект тот же.

Открыл тут интересуную вещь(случайно разумеется). Если эмиттеры транзисторов ни к чему не подключать, то начинает работать! Голливудская улыбка Правда не так как задумывалось.. И если подается сигнал на базу транзистора, то разряд к которому он подключен тухнет






И опять же: эмиттеры висят в воздухе!!

Господа что то изменилось в мире электричества, или Proteus ISIS глючит!? Первый раз эту программу юзаю.
(Добавление)
http://www.youtube.com/watch?v=fuY8taRZUZ4 Не поленился ролик сделать.
 
 Top
elmot Post Id



Гуру


Сообщений всего: 1141
Дата рег-ции: Дек. 2010  



Ну протекает какой-то ток по цепи коллектор-база в контроллер, вот оно и светится. В реальности будет светиться.... менэээ... не ярко.
 
 Top
n1k3 Post Id


Лейтенант


Сообщений всего: 21
Дата рег-ции: Февр. 2014  



Диоды ещё что ли поставить?

Почему транзистор всегда получается открытым, если к эмиттеру землю подключаешь - всё ещё открытый вопрос получается...

(Отредактировано автором: 19 Февраля, 2014 - 16:34:31)

 
 Top
Роботов Post Id



Гуру


Сообщений всего: 1350
Дата рег-ции: Июнь 2011  



Скорее всего протэус глючит.
Можно попробовать вместо индикатора, подключить к коллекторам просто светодиоды, и посмотреть как поведёт себя протэус.
 
 Top
n1k3 Post Id


Лейтенант


Сообщений всего: 21
Дата рег-ции: Февр. 2014  



[quote=Роботов][/quote] А вот с диодами работает как ожидалось! Подскажите безглючную версию протеуса Улыбка

 
 Top
morokoriss Post Id



Генералиссимус


Сообщений всего: 697
Дата рег-ции: Нояб. 2011  



Макетная плата)
(Добавление)
И где ж работает? Опять оба транзистора открыты?
(Добавление)
Попробуйте транзистор другой чтоли в протеусе.
 
 Top
Роботов Post Id



Гуру


Сообщений всего: 1350
Дата рег-ции: Июнь 2011  



morokoriss пишет:
И где ж работает? Опять оба транзистора открыты?

Да нет, всё нормально.
n1k3 пишет:
Подскажите безглючную версию протеуса

Может быть компонент индикатора глючный. Попробуйте аналог.
 
 Top
morokoriss Post Id



Генералиссимус


Сообщений всего: 697
Дата рег-ции: Нояб. 2011  



Синим квадратиком это открыто или закрыто? А то на фотках вверху тоже на обеих транзисторах синие, только не работает почему-то. Нах.. усложнять себе жизнь? Возьмите макетку и сделайте. В протеусе не такие схемы надо эмулировать!
 
 Top
Страниц (3): « 1 [2] 3 »
« С чего начать? »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 





Powered by Exclusive Bulletin Board
ExBB FM 1.0 RC1 Smiles by Fool from Foolstown
  Яндекс.Метрика   Рейтинг@Mail.ru