- Вложения
-
- ATtiny_595_leds.zip
- (158.74 КБ) 1167 скачиваний
управление 7-ными индикаторами при динамической индикации
Достал плату индикатора (файл у вложеном арихиве cxem.jpg).Подключил к МК, просимулировал в Proteus (вместо транзисторных ключей использовал инверторы)-все отлично работает(индикатор с ОА).Поставил тран. ключи как в схеме - сегмент горит постоянно и независит от сигнала управления. Думал глюк Proteus,собрал на макетке - та самая проблема. Подскажите как решить даную проблему.
- Реклама
А вы n-p-n и p-n-p транзисторы не перепутали?
Скелет колобка состоит из черепа.
Дело в том, что это действительно глюк протеуса. Его модели LED индикаторов ток как бы не потребляют!!! Поэтому если они подключаются через транзисторы, то необходимо в цепи их нагрузок подключать сопротивление, примеры этого приведены в прикрепленном проекте. Если этого не делать, то сегменты горят постоянно. А вот в железе должно работать, надо поискать ошибки.
- Вложения
-
- ATtiny_595_leds_primers.zip
- (29.14 КБ) 294 скачивания
Большое спасибо! Ваш проект сделан в протеус 7.5? У меня стоит версия 7.4 и поэтому не могу открить пороект. Скачал себе версию 7.5 работает несколько иинут потом слетает(наверное плохое лекарство).Если не трудно выложите проект сделаный в 7.4 (а еще лучше поделитесь лекарством для проги, или ссилкой на него).
- Реклама
- Сообщения: 3604
- Зарегистрирован: Пн июл 28, 2008 22:12:01
А если подумать и не наступать на чужие грабли ?Alex72 писал(а):Дело в том, что это действительно глюк протеуса. Его модели LED индикаторов ток как бы не потребляют!!! Поэтому если они подключаются через транзисторы, то необходимо в цепи их нагрузок подключать сопротивление, примеры этого приведены в прикрепленном проекте. Если этого не делать, то сегменты горят постоянно. А вот в железе должно работать, надо поискать ошибки.
То почему то окажется , что давно все перетерто и транзисторы для симуляции LED сборок не нужны совсем.
Но зато кричать , что это глюки надо всем и везде, а может не глюки а руки ?!?
см. http://radiokot.ru/forum/viewtopic.php?t=16661
Чтобы определить где проблема увеличил время между индикацией розрядов так чтобы было заметно для глаза.(сначала активация 0-разряда иникация цифры,через некоторое время активирую 1-розряд -индикация цифри и ...)В Протеус все работает, а в железе(смотрите вложеное видео в архиве) идет смена цифр одновременно на всех розрядах иникатора.Не пойму где проблема. 
- Вложения
-
- leds_disp.zip
- (69.62 КБ) 240 скачиваний
Проект протеуса тоже надо было прикрепить (с осциллографом, подключенным к общим анодам индикаторов)
прикрепленный проект с исходником на асм(в реальном усройстве транзисторы,а в Протеус- вместо транзисторов инверторы.)Alex72 писал(а):Проект протеуса тоже надо было прикрепить (с осциллографом, подключенным к общим анодам индикаторов)
- Вложения
-
- ATtiny_595_leds.zip
- (50.46 КБ) 228 скачиваний
Что ж такая динамика то медленная, оставь прижние 1мс, хотя можно спокойно увеличить и до 4. Мне видится проблема в неправильной организации зажигания знакомест. Надо делать паузы между их включениями. Алгоритм примерно такой:
1. Выводим нужный знак в регистр 74HC595
2. Включаем первое знакоместо
3. Ждем 1.....4мс.
4. Выключаем первое знакоместо
Здесь можно сделать небольшую паузу (20......50 мкс.)
5. Выводим нужный знак в регистр 74HC595
6. Включаем второе знакоместо
7. Ждем 1.....4мс.
8. Выключаем второе знакоместо
Здесь опять сделать небольшую паузу (20......50 мкс.)
и т д.
.................
.................
16. Выключаем четвертое знакоместо, пауза (20......50 мкс.)
Переход к пункту 1.
Попробуй вот так в железе, должно нормально работать
1. Выводим нужный знак в регистр 74HC595
2. Включаем первое знакоместо
3. Ждем 1.....4мс.
4. Выключаем первое знакоместо
Здесь можно сделать небольшую паузу (20......50 мкс.)
5. Выводим нужный знак в регистр 74HC595
6. Включаем второе знакоместо
7. Ждем 1.....4мс.
8. Выключаем второе знакоместо
Здесь опять сделать небольшую паузу (20......50 мкс.)
и т д.
.................
.................
16. Выключаем четвертое знакоместо, пауза (20......50 мкс.)
Переход к пункту 1.
Попробуй вот так в железе, должно нормально работать
Совсем не понимаю: В Протеус все работает,а в железе то самое( то что на видео).Думал может что то с програматором - изменил цифры для вывода,в итоге выводятся другие цыфры с тем самым приколомAlex72 писал(а): Попробуй вот так в железе, должно нормально работать
Может что то с контроллером?
Проверь отдельно как работают транзисторные ключи, они как будто всегда открыты, без МК, если возможно. Может на той плате что неисправно, или с подключением намудрил. Должно работать.
Ключи полностью рабочие: отключил от МК и подал +5 транзистор закрылся индикатор погас, подал потенциал общего провода транзистор открылся.Встановил все биты на порте управления в лог "1" ключи должны закриться но этого не произошло! Измерил тестером напряжение на выводах этого порта(лог "1") - 4.17 В,при напряжении питания контроллера 5В ! Из за этого ключи постоянно открыты,и индикаторы странно работают (как на видео).Alex72 писал(а):Проверь отдельно как работают транзисторные ключи, они как будто всегда открыты, без МК, если возможно. Может на той плате что неисправно, или с подключением намудрил. Должно работать.
Как решить проблему? Другого МК у меня нет.Какой уровень напряжения лог "1" МК,при напряжении питания 5В?
Что то не совсем понятно как проверялись ключи. Возьмем к примеру ключ R5 - VT1. (Нога МК от ключа отсоединена) Подаем на левый вывод R5 +5В, на базе VT1 при этом должно быть тоже +5В, транзистор закрыт, соответствующий разряд индикатора не светится. Подаем на R5 потенциал общего провода, на базе VT1 при этом должно быть примерно +4,2В, он открыт, на коллекторе +5В, разряд индикатора светится.(если конечно на сегментах низкий потенциал)
Выходной уровень лог. "1" на МК при напряжении питания 5В почти также 5В. Но на этих выходах МК ведь присутствуют импульсы для последовательного включения разрядов индикатора, так называемый бегущий "0" (или ты программно установил на всех выводах постоянную лог.1) Если есть осциллограф проверь, что на выводах МК, базах и коллекторах транзисторов в динамике. Может что с регистром 74НС595?
Да и видео сделать и выложить неплохо бы.
Выходной уровень лог. "1" на МК при напряжении питания 5В почти также 5В. Но на этих выходах МК ведь присутствуют импульсы для последовательного включения разрядов индикатора, так называемый бегущий "0" (или ты программно установил на всех выводах постоянную лог.1) Если есть осциллограф проверь, что на выводах МК, базах и коллекторах транзисторов в динамике. Может что с регистром 74НС595?
Да и видео сделать и выложить неплохо бы.
На всех выводах управления знакоместами индикатора программо установил лог"1"(индикатор должен не светиться) :при напряжении питания 5В лог "1" равна 4.17В, в итоге происходит смена цифр на всех знакоместах,как на прикрепленном видео(leds_disp.zip)Alex72 писал(а):
Выходной уровень лог. "1" на МК при напряжении питания 5В почти также 5В. Но на этих выходах МК ведь присутствуют импульсы для последовательного включения разрядов индикатора, так называемый бегущий "0" (или ты программно установил на всех выводах постоянную лог.1) .


