Каталог статей


Выбранная схема!!!


6001
ЧАСЫ С ТЕРМОМЕТРОМ НА PIC16F628A

Часы построены на микроконтроллере PIC16F628A, в качестве датчика используется DS18B20, транзисторы BC212 управляют общими анодами семисегментного индикатора, также в состав схемы входят несколько пассивных элементов.

Устройство настраивается с помощью 4-х кнопок. Одна увеличивает, другая уменьшает значение, третья кнопка используется для входа в меню, а также переключает элементы меню. При выходе из меню настройки сохраняются в EEPROM контроллера. Если часы зависают по какой-то причине кнопкой сброса они могут быть перезапущены. Часы будут продолжать работать с последними сохраненными значениями. Микроконтроллер тактируется от внешнего кварца частотой 4МГц для более точного отсчета времени. PIC16F628 управляет дисплеем в режиме мультиплексирования. Индикаторы находятся под контролем одного типа транзистора - BC212.

Как известно точность хода частов зависит от многих факторов - кварцевого резонатора, конденсаторов, температуры самого микроконтроллера, а также от качества электронных компонентов. В этой схеме, точность часов может быть установлена с помощью программного обеспечения. Нам просто нужно измерить отклонение в секундах за час или более часа, расчитать значения используя формулу для расчета поправочного коэффициента и ввести эти значения в память контроллера при помощи меню. Если правильно рассчитать поправочный коэффициент, то ход часов будет точным.

 

Настройка часов, описание меню:

- ho: Установка часов 0-23 
- nn: Установка минут 0-59 
- dn: Установка месяца
- dd: Установка числа месяца
- dY: Установка года
- dt: Установка формата индикации месяца. Если 1 - буквами(JA FE ||A AP ||Y JU JL AU SE oc no dE), 2 - цифрами(01 02 03 04 05 06 07 08 09 10 11 12). 
- tt: Задержка индикации времени. Значение переменной 2-99с 
- td: Задержка индикации даты. Значение переменной 2-99с. В случае если равно нулю дата не показывается! 
- tE: Задержка индикации температуры. Значение переменной 2-99с. В случае если равно нулю температура не показывается! 
- Sh: Калибровка шестнадцатеричного значения (см. ниже) 
- Sl: Калибровка шестнадцатеричного значения (см. ниже)

Примеры установки калибровок Sh/Sl:

Отставание на 30 секунд в 24 часа: 30/86400 = 0,000347 
1000000 - (1000000 * 0,000347) = 999653 (в десятичной системе) = F40E5 (шестнадцатеричной)

В результате шестнадцатеричное значение 40E5 раскладываем на Sh=40, SL=E5

Отставание на 2 секунды в 1 час: 2/3600 = 0,000555 
1000000 - (1000000 * 0,000555) = 999445 (в десятичной системе) = F4015 (HEX)

Sh=40, SL=15

Спешат на 15 секунд за 60 дней: 15/5184000 = 0,000002 
1000000 + (1000000 * 0,000555) = 1000002 (в десятичной системе) = F4242 (HEX)

Sh=42, SL=42

АРХИВ:Скачать

http://www.hobbielektronika.hu/cikkek/digitalis_ora_homerovel.html?pg=1

 




Источник: http://shemu.ru/index.php/cifrovueshemu/item/458-chasy-s-termometrom-na-pic16f628a
Категория: Часы | Добавил: brys99 (14.03.2015)
Просмотров: 4302 | Комментарии: 4 | Теги: ТЕРМОМЕТРОМ, PIC16F628A, НА, часы | Рейтинг: 4.3/3


Всего комментариев: 4
0
4 brys99   (18.09.2016 19:01)
Поправил...

0
3 fifan   (17.09.2016 17:50)
Прошу изменить ссылку на оригинал статьи: http://www.hobbielektronika.hu/cikkek/digitalis_ora_homerovel.html?pg=1
Кстати схема реально работает. Собрал, завелась сразу. Буду настраивать константы коррекции времени хода.

0
2 mole495   (25.09.2015 22:11)
Всё работает. Прошивка под тем же названием, что и печатка.

0
1 mole495   (25.09.2015 19:33)
Здравствуйте. Какая прошивка по ОА? Почему две печатные платы в Sprint Layout ? На одной плате нет одной кнопки, я её сделал, уже запаял. Придётся пинцетом закорачивать, наверное.

Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов! Подробно тут!
Жалоба

Пожалуйста оставьте свои комментарии !!!!

Имя *:
Email:
Код *:


ElectroTOP - Рейтинг сайтов
Copyright Zloy Soft (Company) © 2008 - 2016