Электронные часы с большими цифрами. Нужна помощь
-
Vovochka8585
- Родился
- Сообщения: 17
- Зарегистрирован: Сб сен 19, 2009 19:10:13
- Контактная информация:
Электронные часы с большими цифрами. Нужна помощь
Ну вот. Принимайте новенького.
Хочу собрать свою первую схему.
Есть желание сделать часы со светодиодными цифрами размером порядка А4 и форматом времени ЧЧ:ММ:СС
Имеем Мега8.
Идея какая -
PD0-PD6 подключаются чеез транзисторы к анодам светодиодов-сегментов всех цифр, но в один момент времени зажигается только одна цифра их шести.
Каков алгоритм
PortB=0;
установить в PortD набор 0 и 1 отвечающий за младший разряд секунды
PB0=1;
пауза
PortB=0;
установить в PortD набор 0 и 1 отвечающий за старший разряд секунды
PB1=1;
пауза
PortB=0;
установить в PortD набор 0 и 1 отвечающий за младший разряд минуты
PB2=1;
пауза
и т.д.
Паузу выбрать такую, что б за 1 сек 6 цифр обновились 25 раз.
по моим расчетам
4000000/25/6 = 26666
4000000/26666 = 150 мс.
(хотя можно было просто умножить 25 на 6, но до этого нужно было дойти ))))...)
Вот.....
Проблема именно в физической реализации устройства.
Вот набросал схему в Proteus для одной цифры - остальные подключаются по аналогии - общий анод для однотипных сегментов через транзистор на микруху, и управление включением-выключением конкретной цифры через транзистор замыкаем катод на землю.
Вот вылаживаю схему подскажите что и где не так.
Прошивку напишу сам. Принцип я рассказал.
Жду ответов, зараннее спасибо.
Хочу собрать свою первую схему.
Есть желание сделать часы со светодиодными цифрами размером порядка А4 и форматом времени ЧЧ:ММ:СС
Имеем Мега8.
Идея какая -
PD0-PD6 подключаются чеез транзисторы к анодам светодиодов-сегментов всех цифр, но в один момент времени зажигается только одна цифра их шести.
Каков алгоритм
PortB=0;
установить в PortD набор 0 и 1 отвечающий за младший разряд секунды
PB0=1;
пауза
PortB=0;
установить в PortD набор 0 и 1 отвечающий за старший разряд секунды
PB1=1;
пауза
PortB=0;
установить в PortD набор 0 и 1 отвечающий за младший разряд минуты
PB2=1;
пауза
и т.д.
Паузу выбрать такую, что б за 1 сек 6 цифр обновились 25 раз.
по моим расчетам
4000000/25/6 = 26666
4000000/26666 = 150 мс.
(хотя можно было просто умножить 25 на 6, но до этого нужно было дойти ))))...)
Вот.....
Проблема именно в физической реализации устройства.
Вот набросал схему в Proteus для одной цифры - остальные подключаются по аналогии - общий анод для однотипных сегментов через транзистор на микруху, и управление включением-выключением конкретной цифры через транзистор замыкаем катод на землю.
Вот вылаживаю схему подскажите что и где не так.
Прошивку напишу сам. Принцип я рассказал.
Жду ответов, зараннее спасибо.
- Вложения
-
- Shema.rar
- Собственно схема
- (72.09 КБ) 317 скачиваний
Неполучится. сверху и снизу у тебя эммитерные повторители. Значит размах напряжения не превысит размаха напряжения на выходах контроллера. А 3 последовательных светодиода могут и не зажечься от 5 вольт (синие - однозначно, остальные будут светить тускло, что наверняка не подойдёт для дисплея размером с А4). И второе - светодиоды питаются током.
-
Vovochka8585
- Родился
- Сообщения: 17
- Зарегистрирован: Сб сен 19, 2009 19:10:13
- Контактная информация:
-
Vovochka8585
- Родился
- Сообщения: 17
- Зарегистрирован: Сб сен 19, 2009 19:10:13
- Контактная информация:
И еще , На схеме в качестве внешнего питания для наглядности поставил генератор.
- Вложения
-
- Shema2.rar
- Исправленная
- (72.15 КБ) 243 скачивания
Извини, мне такие форматы трудно разглядывать - я вижу только Clock.EPS, но к сожалению, правая часть мне не видна. Ghostscript режет по формату A4. Так что чем изменилась схема я не вижу. Но даже если ты там повысил напряжение питания - это тебе не поможет - эммитерный повторитель на то и эммитерный повторитель, что на эммитере напряжение повторяет напряжение на базе. Сколько бы ты на коллектор ни подводил.
-
Vovochka8585
- Родился
- Сообщения: 17
- Зарегистрирован: Сб сен 19, 2009 19:10:13
- Контактная информация:
надо поставить обычный транзисторный ключ. для нижнего по схеме - NPN структуры - эммитером на массу коллектор - к катоду светодиодов. Базу через токоограничивающий резистор к микроконтроллеру. С верхними ключами несколько сложнее. Сам ключ, разумеется, делается аналогично только вверх ногами и транзистор соответственно структуры PNP. А вот управлять им прямо с контроллера не получится, если на эммитер подать напряжение повыше чем питание микроконтроллера (а это необходимо, если светодиоды включать последовательно). В этом случае тебе поможет такой-же ключ как и для коммутации катодов в коллекторную цепь которого включена база верхнего транзистора. Ну и параллельно переходу база-эммитер верхнего транзистора нужно поставить резистор, чтобы он (верхний транзистор) запирался. И снова - не забудь последовательно со светодиодами ставить токоограничительные резисторы.
Хм.. а в гугле/яндексе посмотреть на типовые решения?
Хм.. а в гугле/яндексе посмотреть на типовые решения?
Паузу выбрать такую, что б за 1 сек 6 цифр обновились 25 раз.
Еще, сначала я это описание не читал, но тут заметил. 25 - мало
будет очень неприятно "мЫргать". Чем выше - тем лучше. Но слишком быстро - тоже плохо: если соотношение времени когда горит разряд и временем переключения станет близким - потеряешь в яркости. IMHO оптимально от 60 Гц до 120Гц.
uldemir писал(а):Паузу выбрать такую, что б за 1 сек 6 цифр обновились 25 раз.
Еще, сначала я это описание не читал, но тут заметил. 25 - мало
будет очень неприятно "мЫргать". Чем выше - тем лучше. Но слишком быстро - тоже плохо: если соотношение времени когда горит разряд и временем переключения станет близким - потеряешь в яркости. IMHO оптимально от 60 Гц до 120Гц.
А на каждый разряд по регистру хранения поставить...религия не позволяет???? И вопрос с мырнаньем и прочими фантомными чудесами пропадут и софт упростится. Или всеже религия?????
-
Vovochka8585
- Родился
- Сообщения: 17
- Зарегистрирован: Сб сен 19, 2009 19:10:13
- Контактная информация:
uldemir писал(а):Хм.. а в гугле/яндексе посмотреть на типовые решения?
Так вот хочется же самому сделать. Сколько раз нарывался на то, что нужно что-то сделать...То там копировал-вставил, то там... А на выходе в голове-то нифига и не отложилось.
Вот и решил сам все сделать.
Тем более если смотреть типовые решения, то сильно отвлекают всякого рода хорошештва сделанные другими людьми. И начинается то посмотреть видео, то посмотреть схему без номиналов. То ссылка еще на новость какую ну и поехало... А мысль то упущена уже...
Фух
ОФТОП полный. Сори.
Зато думаю наглядно рассказал. Берусь реализовывать ваши пожелания. Авось выйдет что-то хорошее.
Отпишусь когда схему накидаю
Спасибо за отзывы
Так вот хочется же самому сделать. Сколько раз нарывался на то, что нужно что-то сделать...То там копировал-вставил, то там...
Это не есть плохо. Повторяя - учишься. С другой стороны, необязательно повторять все. Можно посмотреть как другие решают подобные задачи. Тем более врядли тебе в ближайшее время удастся изобрести такой способ включения транзистора, который еще никто не применял.
Хотя могу тебя обрадовать - в интернете я, с разбегу, не нашел подобной схемы, чтобы бросить тебе ссылку "смотри как нада" ;-). Даже здесь, на радиокоте, была только с эммитерными повторителями. Почему-то никто не ставит светодиоды последовательными цепочками. И если ставит, то не делает динамической индикации. Обычно такое применяют для газоразрядных индикаторов (посмотри на конкурсную работу Sunny Clock, например. Хотя автор вывернулся используя оптроны). Кстати, еще раз посмотрел на sunny clock, и подумалось, что верхний ключ тоже можно делать на транзисторе NPN. Пожалуй, с энергетической точки зрения так выгоднее.
-
Vovochka8585
- Родился
- Сообщения: 17
- Зарегистрирован: Сб сен 19, 2009 19:10:13
- Контактная информация:
Вобщем подключил по такой схеме. Прилагаю PNG.
Работает. Но на ~48 секунде выдает ошибку прилагаю тоже.
Прошивка тестовая
portb.0 = !porb.0; <= меняется каждые 500мс
и
portd.0 = 0;
portd.1 = 0;
portd.2 = 1;
portd.3 = 0; <= Сие значит показать единицу
portd.4 = 0;
portd.5 = 1;
portd.6 = 0;
Работает. Но на ~48 секунде выдает ошибку прилагаю тоже.
Прошивка тестовая
portb.0 = !porb.0; <= меняется каждые 500мс
и
portd.0 = 0;
portd.1 = 0;
portd.2 = 1;
portd.3 = 0; <= Сие значит показать единицу
portd.4 = 0;
portd.5 = 1;
portd.6 = 0;
- Вложения
-
- shema1.PNG
- (89.63 КБ) 541 скачивание
-
Vovochka8585
- Родился
- Сообщения: 17
- Зарегистрирован: Сб сен 19, 2009 19:10:13
- Контактная информация:
-
Vovochka8585
- Родился
- Сообщения: 17
- Зарегистрирован: Сб сен 19, 2009 19:10:13
- Контактная информация:
Вот как вариант накидал чхему без массы. Управляется портом Б.
Какие глюкы ожидать)))??
Какие глюкы ожидать)))??
- Вложения
-
- SHEMA2.PNG
- (102.23 КБ) 522 скачивания
- GP1
- Поставщик валерьянки для Кота
- Сообщения: 2401
- Зарегистрирован: Пт май 23, 2008 19:32:22
- Откуда: Россия, Волгоград
- Контактная информация:
1. прочти вот это, для начала
http://radiokot.ru/start/mcu_fpga/avr/15/
2. в реале такая схема если и запустится, но работать будет не долго.
проц вылетит к едрене фене.
3. использовать в качестве ключей эмитерный повторитель????
замени сегментные транзисторы на p-n-p.
4. ну и от меня лично - учиться на чужих разработках не только не зазорно, но и весьма полезно. а схем часов даже на нашем форуме выше крыши. если надо могу прислать свою схему с исходниками, но у мняу все на асме.
зы: у меги8 есть целых 3-и таймера
http://radiokot.ru/start/mcu_fpga/avr/15/
2. в реале такая схема если и запустится, но работать будет не долго.
проц вылетит к едрене фене.
3. использовать в качестве ключей эмитерный повторитель????
замени сегментные транзисторы на p-n-p.
4. ну и от меня лично - учиться на чужих разработках не только не зазорно, но и весьма полезно. а схем часов даже на нашем форуме выше крыши. если надо могу прислать свою схему с исходниками, но у мняу все на асме.
зы: у меги8 есть целых 3-и таймера
-
Vovochka8585
- Родился
- Сообщения: 17
- Зарегистрирован: Сб сен 19, 2009 19:10:13
- Контактная информация:
Вот вроде бы закончил схему. работает, потом вылетает ошибка. Че за ботва?
- Вложения
-
- shema3.PNG
- (104.84 КБ) 523 скачивания
-
- Shema.rar
- (78.14 КБ) 214 скачиваний
-
- Proshivka.rar
- (22.62 КБ) 213 скачиваний
