Propeller Clock
                                                                                       Часы-пропеллер с бегущей строкой
 

Еще одна разработка на тему дисплея с механическим сканированием. Показывает время, дату, температуру и выводит бегущую строку. Разрешение экрана 64x8 точек.

Схема.
Схема достаточно проста. Три сдвиговых регистра U6-U8(по числу лопастей), к каждому подключено по 8 светодиодов. Микроконтроллер U2(Atmega8) по SPI загружает в эти регистры изображение строки. Датчик Холла U3 нужен для определения позиции вертушки. При приближении к магниту он выдает импульс. Контроллер по импульсам считает период одного оборота и время показа каждого столбца изображения. U4 - часовая микросхема со своей батарейкой резервного питания(BAT1). U5 - цифровой датчик температуры.
Схема питается через вращающийся трансформатор. Вторичная(роторная) обмотка подключается к разъему J1, далее напряжение питания стабилизируется U1 и подается на схему. В реальной конструкции напряжения со вторички было недостаточно и пришлось исключить стабилизатор U1, а чтобы напряжение не выходило за допустимые пределы был установлен мощный стабилитрон на 4.7 вольт.

Была также задумка передавать данные в контроллер через сам вращающийся трансформатор(цепочка D2, R1), но на это уже не хватило памяти. Поэтому R1 и D2 можно не ставить.
Через разъем J2 программируется текст бегущей строки, устанавливается дата и время. Для соединения с COM-портом компьютера следует использовать отдельный конвертер уровней RS232, например по этой схеме. Прим.: На разъеме конвертера поменять местами 1-й и 2-й контакты(чтобы было TXD->T2in и R2out->RXD) т.к. конвертер изначально предназначался для работы с другой схемой.
Разъем J3 - для прошивки контроллера.

Первичную обмотку вращающегося трансформатора можно запитать от однотактного генератора по следующей схеме.

Частота работы генератора определяется номиналами элементов C2, R1 и R2. Ее следует подбирать под конкретный трансформатор.  Полярность подключения катушки имеет значение. При неправильном включении напряжение питания вертушки падает в несколько раз.

Конструкция и детали.
Печатная плата имеет вид вентилятора с тремя лопостями. Это позволяет уменьшить обороты и упростить балансировку. Может показаться, что плата не симметрична, но это не так: светодиоды располагаются под углом 120 градусов относительно центра.

Сдвиговые регистры U6-U8 74HC595 в корпусе SO-16. Контроллер Atmega8(Atmega8A) в корпусе TQFP-32. Датчик Холла U3 - из старого компьютерного вентилятора, я закрепил его на краю лопасти. Светодиоды красного цвета свечения, 3мм. Я использовал прозрачные СД, но светящееся пятно у них имеет слишком малый размер, поэтому лучше использовать матовые светодиоды. Если предполагается использовать диоды других цветов, то может потребоваться подбор гасящих резисторов R7-R30 по требуемой яркости свечения.
Если в схеме потребуется иключить стабилизатор U1, то надо использовать стабилитрон мощностью 1-1.5W на напряжение 4,7-5,1V.
Первичная обмотка вращающегося трансформатора намотана на корпусе мотора, вторичная - на бумажной гильзе. Количество витков точно неизвестно(60...100), намотал сколько влезло.

Программа.
Программа написана под компилятор CVAVR.
Основное сообщение хранится во внутренней EEPROM контроллера(всего 512 байт) и легко меняется с компьютера. Помимо этого, устройство еще может выводить 5 дополнительных сообщений. Каждому такому дополнительному сообщению присваивается своя дата показа. Строки доп. сообщений(message1[]...message5[]) с их датами определены в файле scroll_text.h, они помещаются во FLASH память и могут быть изменены только на этапе компиляции.

Массив msg_date_matrix содержит день и месяц для каждого сообщения. Если потребуется отключить какое-либо сообщение, то в его дату можно забить нули.

Можно полностью отключить показ доп. сообщений. Для этого в файле main.c надо найти макрос
#define USE_MESSAGES TRUE
и переписать его на
#define USE_MESSAGES FALSE

Использование.
В терминальной программе настроить соединение со стандартными параметрами порта: 9600, 8N1, без управления потоком. Подать питание на устройство, быстро два раза нажать на [ENTER] т.к. есть таймаут. В окне будет выведено меню. Все посылаемые символы возвращаются в ПК(режим эхо).

Прошивка включает обычный и жирный шрифт. По умолчанию используется обычный шрифт. При вводе текста его части можно выделять:
Команда /1 - переключает на жирный шрифт;
команда /2 - переключает на обычный шрифт.
Когда текст доходит до конца параметры сбрасываются на обычный шрифт.
Если вертушка не вращается или обороты недостаточны, то включается бегущий огонь.

Скачать:

Схемы, платы

Прошивки, исходники
 

На главную

Hosted by uCoz