Механические часы на микроконтроллере

Задание

Разработать систему управления часами. В часах стрелки (часовая, секундная и минутная) механически соединены (при помощи шестерней) друг с другом и с приводящим их в движение шаговым двигателем.

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

Для обеспечения точности хода и актуальности отображаемого времени в часах предусмотрена периодическая синхронизация с ПК посредством USART.

Система должна обеспечивать:

• вывод соответствующего сигнала на ШД для перемещения стрелок в соответствующие моменты времени;

• обработку синхронизирующего пакета USART;

• перевод стрелок в соответствии с синхронизированным временем;

• перевод стрелок на 12:00:00 при сбросе (и после старта).

Необходима обратная связь по положению стрелок (предложить свой вариант).

Микроконтроллер PIC16F876A. 

Схема в протеусе

Шаговый двигатель для секундной стрелки использовался от старого флопика. Данный ШД делает 200 шагов за оборот. 10 шагов равны 3 секундам. Для определения положения секундной стрелки использовался абсолютный 10-разрядный энкодер, а точнее была написана программа для МК, моделирующая работу абсолютного энкодера.

Схема часов на шаговом двигателе

Заказать программу