Часы Боба Блика с Bluetooth

Увидел пост пользователя khomin и решил запостить фотки своего «вентиллятора».
Только только закончил делать часы/дисплей с Bluetooth.
Синий зуб поставил для синхронизации времени и вывода текста. Пока что скину видео и несколько фоток:

Синий круг означает, что к устройству подключились по BT.


10 светодиодов размера 1206.

На плате видны провода — это из-за того, что я забыл заклеить обратную сторону платы скотчем и стравил медь.

Как работают такие часы
Для того, чтобы отобразить текст надо знать через какие промежутки времени зажигать светодиоды — выводить столбцы на дисплей. Для этого надо знать время совершения одного оборота. Измеряется оно следующим образом: при пересечении фототранзистора на вращающейся части часов с ИК светодиодом на подставке срабатывает прерывание в котором запоминаем текущее значение таймера (T) и обнуляем таймер. Теперь мы знаем время совершения одного оборота. Далее делим полученное количество тактов таймера на кол-во пикселей по ширине t = T/n, в моём случае n = 141 пиксель и зажигаем светодиоды через каждые t тактов таймера, т.е. записываем в регистр порта вывода элементы массива со столбцами по очереди.
О железе
Управляет часами микроконтроллер ATMEGA32, тактируется от кварца на 7.3728 МГц, выбран такой кварц только из-за того, что UART на 115200 работает. Блютус модуль HC05. Фототранзистор железный, с линзой, выдернут из старого советского флопика. Воздушный трансформатор намотан на каркасе из картонки от рулона туалетной бумаги (лол), сколько витков в первичной обмотке я не помню, но около 50, во вторичной примерно 30 с отводом от середины, т.к. выпрямитель на двух диодах, чтобы лишний вес не вращать и меньше потерь было на выпрямителе. Питается трансформатор от генератора на TL494 + дровина на КТ815 и КТ814 + IRF830, работает на частоте 84 кГц.
Плата крепится на ось мотора при помощи держателя CD диска, мотор из дисковода.
О программе
Для микроконтроллера писал в AVR Studio 5 на C, весит прошивка примерно 1980 байт. Прошивку прикрепил: Bobblick.zip
Для ПК писал на C#, получилось «кроссплатформенно», заработало на убунте ^_^
Для тех кто хочет поковыряться в говнокоде прикрепил архив с проектом для античной 2008-ой студии: Propeller.zip
Схема питальника для воздушного трансформатора

Схема вертушки

Рекомендую вместо 78L05 поставить TPS76350, у него больше КПД, будет меньше нагреваться обмотка воздушного трансформатора.
Печатная плата
Платы разведены в программе Sprint Layout 5. Отверстия с металлизацией это не просто так, а действительно переходные отверстия, т.к. обратная сторона платы чуть менее чем полностью покрыта земляным полигоном. Не покрыта только под антенной BT модуля. Светодиоды размера 1206, резисторы 0805.
Все платы в архиве pcb.zip
Некоторые характеристики вертушки
  • Потребляемый ток: 360 мА при 12 В питании
  • Разрешение: 141х10 пикселей

Замечания
Смотрите, чтобы скорости передачи данных через UART BT модуля и микроконтроллера были одинаковые. Для BT HC05 это 38400 бод/с. В прошивке микроконтроллера как раз такая скорость и установлена. В программе по умолчанию тоже, но можно поменять на любую другую, которая поддерживается BT модулем.
В прошивке за скорость передачи отвечает строка 289 Bobblick.c: usart_init(F_CPU, 38400);
Если хотите 115200 бод/с, то подключите перемычку на плате к + 3 В, чтобы перевести модуль в режим мастера, и отправьте BT модулю на дефолтной скорости строку:

sendstr("AT+UART=115200,1,0\r\n\0");

we.easyelectronics.ru/part/rabota-s-bluetooth-modulem-hc05.html
Далее припаяйте перемычку обратно к земле. Готово.
Плата в архиве и на фотках немного отличается.
Светодиоды подключены к порту C, поэтому нужно отключить JTAG во фьюзах.
Кто отгадает что за странная надпись на дисплее? :)
Файлы в топике: main_circuit_1125x726.GIF, PCB+SOFT+FIRMWARE.zip

Комментарии (29)

RSS свернуть / развернуть
А чего вокруг бт-антенны столько меди? Она этого не любит же.
0
  • avatar
  • Vga
  • 23 июня 2012, 21:18
Возможно и не любит, но на дальности это никак не сказалось. Без меди там не оботись, т.к. надо балансировать девайс и удобно это делать напаиванием припоя :)
0
А можно о желе чуть подробнее :) Ну какой контроллер, частота тактирования
0
Добавил в пост: Управляет часами микроконтроллер ATMEGA32, тактируется от кварца на 7.3728 МГц.
Ща шайбу найду и еще что-нибудь напишу :)
0
так вроде не сезон для хоккея. ;)
+2
Жжешь напалмом.
0
Блин походу у моего пропеллера элементарно не хватает частоты контроллера, для быстрого управления 5-ю 74hc164 (5 переменных, пока запишет, уже 100 us блин пройдет)
0
А что за саунд? Ничего так девайсина
0
Black Box Revelation — Do I Know, из редактора ютуба.
0
Добавил исходники прошивки и софтинки.
0
Народ, никогда не клейте двигло на горячие сопли, т.к. через час двигло нагревается и происходит фейл :)
0
На горячие сопли вообще ничего клеить не надо — более или менее быстро отклеится. Ими заливать надо.
0
Это точно, на то он и термоклей, я как то попытался чего то поклеить соплями в энергозберегайке...)))
0
У безногим нет других забот
Думает он только о себе, ДОСМОТ
Все, кто посмотрел, с ума сходить,
НЕ ПЫТАЙТЕСЬ ЧТО-то ИЗМЕНИТЬ.
0
Нет, серьезно, автор просил угадать надпись на дисплее.
+1
Выложил печатные платы и схемы.
0
Как поставить видео по центру?
0
Может питальник лучше было сделать по схеме push-pull?
Да и выходной каскад черезчур уж мощный, ИМХО. Требуемую нагрузке мощность TL494 вроде вполне может прокачать даже через свои встроенные транзисторы (они до 200мА).
0
  • avatar
  • Vga
  • 24 июня 2012, 16:19
Ууу… Так ТЛку насиловать, не, велик шанс спалить, лучше пускай с запасом будет, чем вот так в притык.
0
С Push pull наверное КПД был бы выше?
В следующей вертушки попробую такой.
0
Можно парой биполярников умощнить. Хотя теоретически при 12В 0.2А можно передавать 2.4Вт, а твоя схема с полватта жрет.
Алсо можно было вообще 555 таймер поставить, и один биполярник, если нужен (у таймера тоже довольно мощный выход — до 200мА). Возможности TL494 здесь не нужны. Есть еще несколько вариантов автогенераторов на двух транзисторах и трансе в пуш-пульной конфигурации.
0
Алсо, вообще говоря, трансформатор и не нужен. Можно питать от генератора. Правда, увеличится нагрузка на движок.
0
Это как без трасформатора питать?
0
Оно же вертится. Просто поставить на вращающуюся часть генератор. Он будет преобразовывать обратно в электричество часть мощности двигателя.
0
А чем защищали электроны от силы Кориолиса? :D
+1
  • avatar
  • DVF
  • 24 июня 2012, 18:51
А как компонент называется? Типо черной сетки, если такое под лазарус или делфи?
0
Компонент самописный. Сделан на базе pictureBox, в архиве есть его исходник: BlockBox.cs
0
При работе сильно шумит?
0
Почти бесшумно, в метре от вертушки шум уже не слышно.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.