garikmogilev
Новые
- Регистрация
- 6 Дек 2011
- Сообщения
- 442
- Реакции
- 41
- Баллы
- 0
Часы-пропеллер на PIC16F628A
Долгое время хотел и пытался собрать такие часы, но то времени нету, то желания.tehno015
Но вот плотно занялся и за пару недель по вечерам собрал их.
Основой является микроконтроллер PIC16F628A, прошивки поддерживают часы реального времени на микросхеме PCF8583.
Можно использовать любой пульт, который работает в протоколе RC-5 или прикрепленный к статье на таком же микроконтроллере. Если будете использовать свой пульт, нужно узнать код пульта и код кнопок, все это записать в файл key.asm и заново собрать файл hex. Файлы key.asm для вращающейся части я изменил для пульта на микроконтроллере и файлы hex для того же пульта, в базе на PIC16F628 также использован файл keys.asm для самодельного пульта. В остальных версиях баз нужно отредактировать keys.asm.
Также можно использовать универсальный пульт URC22B. Для этого, пульта есть файл keys_URC22B.asm, чтобы скомпилировать например этот файл его нужно переименовать keys628.asm и заменить в папке с версией прошивки.
В этих версиях прошивки можно менять, как будут они вращаться по часовой стрелке или против. Также можно отказаться от часов реального времени, для этого нужно закоментировать всего одну строку. Можно менять режим отображения даты DDMMYY или YYMMDD. Еще можно закоментировать строку для определения адреса пульта и тогда пульт не будет учитывать адрес, а только код кнопок, но если у Вас несколько устройств на протоколе RC-5 возможны некоторые неудобства.
В архиве несколько вариантов плат с RTC и без. На SMD компонентов и почти полностью DIP, немного переделав можно полностью отказаться от SMD, только впаяв столько транзисторов увеличится значительно вес на длинной стороне, что приведет к усложнению балансировки.
Часы отображают количество оборотов в минуту, нормальный режим работы примерно 1960 оборотов.
У базы есть несколько режимов работы: спящий( поддерживает часы на минимальном уровне питания, двигатель выключен), рабочий (нормальное напряжение на вращающейся части, у меня получилось около 12 В, двигатель включен). Так же с базы можно регулировать обороты двигателя.
Собирал на желтых светодиодах и синих, синие получились сильно яркими, с расстояния несколько метров воспринимается не очень хорошо.
Возможно изменение номиналов резисторов, которые ограничивают их по току исправят ситуацию.
Если Вам покажется мое расположение кнопок не очень удобным, пишите, оформлю коды пульта на микроконтроллере, для расстановки по своему.
Долгое время хотел и пытался собрать такие часы, но то времени нету, то желания.tehno015
Но вот плотно занялся и за пару недель по вечерам собрал их.
Основой является микроконтроллер PIC16F628A, прошивки поддерживают часы реального времени на микросхеме PCF8583.
Можно использовать любой пульт, который работает в протоколе RC-5 или прикрепленный к статье на таком же микроконтроллере. Если будете использовать свой пульт, нужно узнать код пульта и код кнопок, все это записать в файл key.asm и заново собрать файл hex. Файлы key.asm для вращающейся части я изменил для пульта на микроконтроллере и файлы hex для того же пульта, в базе на PIC16F628 также использован файл keys.asm для самодельного пульта. В остальных версиях баз нужно отредактировать keys.asm.
Также можно использовать универсальный пульт URC22B. Для этого, пульта есть файл keys_URC22B.asm, чтобы скомпилировать например этот файл его нужно переименовать keys628.asm и заменить в папке с версией прошивки.
В этих версиях прошивки можно менять, как будут они вращаться по часовой стрелке или против. Также можно отказаться от часов реального времени, для этого нужно закоментировать всего одну строку. Можно менять режим отображения даты DDMMYY или YYMMDD. Еще можно закоментировать строку для определения адреса пульта и тогда пульт не будет учитывать адрес, а только код кнопок, но если у Вас несколько устройств на протоколе RC-5 возможны некоторые неудобства.
В архиве несколько вариантов плат с RTC и без. На SMD компонентов и почти полностью DIP, немного переделав можно полностью отказаться от SMD, только впаяв столько транзисторов увеличится значительно вес на длинной стороне, что приведет к усложнению балансировки.
Часы отображают количество оборотов в минуту, нормальный режим работы примерно 1960 оборотов.
У базы есть несколько режимов работы: спящий( поддерживает часы на минимальном уровне питания, двигатель выключен), рабочий (нормальное напряжение на вращающейся части, у меня получилось около 12 В, двигатель включен). Так же с базы можно регулировать обороты двигателя.
Собирал на желтых светодиодах и синих, синие получились сильно яркими, с расстояния несколько метров воспринимается не очень хорошо.
Возможно изменение номиналов резисторов, которые ограничивают их по току исправят ситуацию.
Если Вам покажется мое расположение кнопок не очень удобным, пишите, оформлю коды пульта на микроконтроллере, для расстановки по своему.
Вложения
Последнее редактирование: