Страница 1 из 2

Электронные часы с большими цифрами. Нужна помощь

Добавлено: Сб сен 19, 2009 21:55:45
Vovochka8585
Ну вот. Принимайте новенького.
Хочу собрать свою первую схему.
Есть желание сделать часы со светодиодными цифрами размером порядка А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 для одной цифры - остальные подключаются по аналогии - общий анод для однотипных сегментов через транзистор на микруху, и управление включением-выключением конкретной цифры через транзистор замыкаем катод на землю.


Вот вылаживаю схему подскажите что и где не так.
Прошивку напишу сам. Принцип я рассказал.
Жду ответов, зараннее спасибо.

Добавлено: Вс сен 20, 2009 07:55:01
kalobyte
этих часов тут кучи и с разными индикаторами

Добавлено: Вс сен 20, 2009 09:06:39
uldemir
Неполучится. сверху и снизу у тебя эммитерные повторители. Значит размах напряжения не превысит размаха напряжения на выходах контроллера. А 3 последовательных светодиода могут и не зажечься от 5 вольт (синие - однозначно, остальные будут светить тускло, что наверняка не подойдёт для дисплея размером с А4). И второе - светодиоды питаются током.

Добавлено: Вс сен 20, 2009 11:10:45
Vovochka8585
Ладно, раз эмиттерные повторители не подходят, какие транзисторы подойдут?? И еще. Исправил. Питание на светодиоды будет внешнее от порядка 12 В.

Добавлено: Вс сен 20, 2009 11:14:16
Vovochka8585
И еще , На схеме в качестве внешнего питания для наглядности поставил генератор.

Добавлено: Вс сен 20, 2009 11:51:32
uldemir
Извини, мне такие форматы трудно разглядывать - я вижу только Clock.EPS, но к сожалению, правая часть мне не видна. Ghostscript режет по формату A4. Так что чем изменилась схема я не вижу. Но даже если ты там повысил напряжение питания - это тебе не поможет - эммитерный повторитель на то и эммитерный повторитель, что на эммитере напряжение повторяет напряжение на базе. Сколько бы ты на коллектор ни подводил.

Добавлено: Вс сен 20, 2009 16:55:26
Vovochka8585
[buldemir [/b]
Ну как ты не поймеш... )) ну подскажи мне что мне нужно поставить вместо этого эмитерного повторителя...

Добавлено: Вс сен 20, 2009 17:57:37
uldemir
надо поставить обычный транзисторный ключ. для нижнего по схеме - NPN структуры - эммитером на массу коллектор - к катоду светодиодов. Базу через токоограничивающий резистор к микроконтроллеру. С верхними ключами несколько сложнее. Сам ключ, разумеется, делается аналогично только вверх ногами и транзистор соответственно структуры PNP. А вот управлять им прямо с контроллера не получится, если на эммитер подать напряжение повыше чем питание микроконтроллера (а это необходимо, если светодиоды включать последовательно). В этом случае тебе поможет такой-же ключ как и для коммутации катодов в коллекторную цепь которого включена база верхнего транзистора. Ну и параллельно переходу база-эммитер верхнего транзистора нужно поставить резистор, чтобы он (верхний транзистор) запирался. И снова - не забудь последовательно со светодиодами ставить токоограничительные резисторы.
Хм.. а в гугле/яндексе посмотреть на типовые решения?

Добавлено: Вс сен 20, 2009 18:05:57
uldemir
Паузу выбрать такую, что б за 1 сек 6 цифр обновились 25 раз.
Еще, сначала я это описание не читал, но тут заметил. 25 - мало
будет очень неприятно "мЫргать". Чем выше - тем лучше. Но слишком быстро - тоже плохо: если соотношение времени когда горит разряд и временем переключения станет близким - потеряешь в яркости. IMHO оптимально от 60 Гц до 120Гц.

Добавлено: Вс сен 20, 2009 20:28:10
Rokl
uldemir писал(а):
Паузу выбрать такую, что б за 1 сек 6 цифр обновились 25 раз.
Еще, сначала я это описание не читал, но тут заметил. 25 - мало
будет очень неприятно "мЫргать". Чем выше - тем лучше. Но слишком быстро - тоже плохо: если соотношение времени когда горит разряд и временем переключения станет близким - потеряешь в яркости. IMHO оптимально от 60 Гц до 120Гц.
А на каждый разряд по регистру хранения поставить...религия не позволяет???? И вопрос с мырнаньем и прочими фантомными чудесами пропадут и софт упростится. Или всеже религия????? :))) :)))

Добавлено: Вт сен 22, 2009 00:20:16
Vovochka8585
uldemir писал(а): Хм.. а в гугле/яндексе посмотреть на типовые решения?
Так вот хочется же самому сделать. Сколько раз нарывался на то, что нужно что-то сделать...То там копировал-вставил, то там... А на выходе в голове-то нифига и не отложилось.
Вот и решил сам все сделать.

Тем более если смотреть типовые решения, то сильно отвлекают всякого рода хорошештва сделанные другими людьми. И начинается то посмотреть видео, то посмотреть схему без номиналов. То ссылка еще на новость какую ну и поехало... А мысль то упущена уже...
Фух
ОФТОП полный. Сори.
Зато думаю наглядно рассказал. Берусь реализовывать ваши пожелания. Авось выйдет что-то хорошее.
Отпишусь когда схему накидаю
Спасибо за отзывы

Добавлено: Вт сен 22, 2009 07:41:09
uldemir
Так вот хочется же самому сделать. Сколько раз нарывался на то, что нужно что-то сделать...То там копировал-вставил, то там...
Это не есть плохо. Повторяя - учишься. С другой стороны, необязательно повторять все. Можно посмотреть как другие решают подобные задачи. Тем более врядли тебе в ближайшее время удастся изобрести такой способ включения транзистора, который еще никто не применял.
Хотя могу тебя обрадовать - в интернете я, с разбегу, не нашел подобной схемы, чтобы бросить тебе ссылку "смотри как нада" ;-). Даже здесь, на радиокоте, была только с эммитерными повторителями. Почему-то никто не ставит светодиоды последовательными цепочками. И если ставит, то не делает динамической индикации. Обычно такое применяют для газоразрядных индикаторов (посмотри на конкурсную работу Sunny Clock, например. Хотя автор вывернулся используя оптроны). Кстати, еще раз посмотрел на sunny clock, и подумалось, что верхний ключ тоже можно делать на транзисторе NPN. Пожалуй, с энергетической точки зрения так выгоднее.

Добавлено: Ср сен 23, 2009 17:53:35
Vovochka8585
Вобщем подключил по такой схеме. Прилагаю 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;

Добавлено: Ср сен 23, 2009 17:54:29
Vovochka8585
И ошибка. Одним сообщением неудалось отправить. Сорри

Добавлено: Ср сен 23, 2009 19:01:55
Vovochka8585
Вот как вариант накидал чхему без массы. Управляется портом Б.
Какие глюкы ожидать)))??

Добавлено: Ср сен 23, 2009 19:16:07
uldemir
Картинка красивая. На столе работать будет.

Добавлено: Ср сен 23, 2009 19:19:00
uldemir
А схема - не логичная. Или я, может, не в курсе нюансов портов ATMega8?

Добавлено: Ср сен 23, 2009 21:37:33
GP1
1. прочти вот это, для начала
http://radiokot.ru/start/mcu_fpga/avr/15/
2. в реале такая схема если и запустится, но работать будет не долго.
проц вылетит к едрене фене.
3. использовать в качестве ключей эмитерный повторитель????
замени сегментные транзисторы на p-n-p.
4. ну и от меня лично - учиться на чужих разработках не только не зазорно, но и весьма полезно. а схем часов даже на нашем форуме выше крыши. если надо могу прислать свою схему с исходниками, но у мняу все на асме. :wink:

зы: у меги8 есть целых 3-и таймера

Добавлено: Ср сен 23, 2009 22:13:14
Vovochka8585
Вот вроде бы закончил схему. работает, потом вылетает ошибка. Че за ботва?

Добавлено: Ср сен 23, 2009 22:22:04
GP1
да, схемы летят как из пулемета.
а не плохо бы еще озадачиться вопросом - какой ток будет протекать через РВ0 (РВ1-РВ3) если на индикаторе "8"?