Еще одна разработка на тему дисплея с механическим сканированием. Показывает время, дату, температуру и выводит бегущую строку. Разрешение экрана 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 - переключает на обычный шрифт.
Когда текст доходит до конца параметры сбрасываются на
обычный шрифт.
Если вертушка не вращается или обороты недостаточны,
то включается бегущий огонь.
Скачать: