7. Автомобильные часы с двумя DS18x20 и двумя маленькими индикаторами
По просьбе @SUSA была доработана схема и прошивка вот этих часов: В результате получилось очень даже не плохо.
Схема на PIC16F876
Схема на PIC16F886
Схема на PIC16F886 с измерением напряжения 25,5 Vmax (по кнопке "+" показывается только время и напряжение, по кнопке "-" часы переводятся в обычный режим "день-напряжение-температура")
Без часов на контроллере PIC16F873
Пробежимся по настройкам меню:
1 - часы 2 - секунды 3 - день 4 - время отображения дня (сек) 5 - время отображения температуры (сек) 6 - коррекция (0.096 сек/сутки) 7 - яркость 8 - время ночи (пониженной яркости) 9 - с чего регулируется яркость (по времени (AUTO) или с переключателя «СВЕТ» (VHOD)) 10 - частота кварца (4.000/4.096) (с кварцем 4.000 – подгонял точность хода экспериментально) 11 - термометр 1 (HET/DS18S20/DS18B20) 12 - термометр 2 (HET/DS18S20/DS18B20) 13 - настройка коррекции (одинарная/двойная) 14 - «0» в температуре (нет/есть) 15 - «0» в часах (нет/есть) 16 - точка (одна/две) С датчиком DS18S20 точность 0,5 ⁰С (-55..+99 ⁰С). С датчиком DS18B20 точность 0,1 ⁰С (-55..+99 ⁰С).
Работа датчиков температуры: - 5 секунд | - считывание температуры 1 | - 5 секунд | - считывание температуры 2 | - 5 секунд -----------------------------------
Принцип управления часами описан в предыдущих статьях.
Фотки от @SUSa
Плата
Кварц с частотой 4.000 МГц лучше не использовать, ход часов будет не точный, это связано с особенностью TMR0, используемого для формирования временных интервалов часов (относится к версиям ниже 2.0).
Обновление 20.08.2014
Обновление 11.09.2014
Обновление 09.03.2015
Обновление 11.05.2015
Изменения:
1 - меню переработано и разделено на 2 группы:
- длинное нажатие (1 секунда) CLOC - настройка часов и минут SEC - настройка минут, сброс секунд dAY - настройка дня недели tdAY - время отображения дня недели в дежурном меню ttEr - время отображения температуры в дежурном меню Corr - коррекция хода +/- 24.0 сек/сут с шагом 0,1 LIGH - ночная яркость nIGH - ХХ.ХХ - "время начала ночи"."время конца ночи" - длинное нажатие (6 секунда) LIGH - LDr - яркость от датчика освещения - tIПE - яркость изменяется по времени FREQ - частота кварца 4.000/4.096 MHz dAt1 - 18B/18S/no - датчик 1 DS18B20/DS18S20/нет dAt2 - 18B/18S/no - датчик 2 DS18B20/DS18S20/нет otEr - знак градуса в термометре dECt - десятичная точка в термометре Ind - индикатор с общим анодом/катодом oCLC - незначащий ноль в часах dot - мигает одна точка/две точки 88,88/88,'88 2 - устранено мигание индикаторов при опросе датчиков температуры 3 - полностью устранен неконтролируемый уход времени при использовании кварца 4,000 МГц и предустановки TMR0 (TMR0 не предустанавливается - предделитель не сбрасывается)
4 - изменено отображение дней недели 5 - добавлена возможность программно выбрать конфигурацию прошивки под разработанные мной платы с разными индикаторами (5 плат)
6 - изменен алгоритм коррекции хода: +/- 24.0 сек/сут с шагом 0,1 7 - все параметры (кроме номера схемы) могут изменяться в меню и сохраняются в EEPROM через 20 секунд после отпускания кнопок
8 - добавлен выбор индикаторов с общим анодом/катодом 9 - выключен резервный переход на внутренний генератор контроллера при отказе или долгой раскачке кварца 10 - переработан алгоритм перехода на низкую/высокую яркость от внешнего датчика освещения 11 - начало и конец ночи настраиваются от 0 до 23 часов. При равенстве значений, яркость остается максимальной. Прошивки, исходники, схемы, платы v2.1 (для PIC16F873/876/883/886 v2.1)
Обновление 13.05.2016 Изменения: 1 - знакогенератор перенесен в EEPROM. 2 - вдвое повышена частота динамической индикации (122 Hz). 3 - медленное изменения яркости от LDR. 4 - изменен принцип опроса датчиков DS18x20, что исключает подмигивание индикатора, кроме самой минимальной яркости. Необходимо в меню подобрать минимальную яркость индикаторов ночью, при которой подмигивания незаметны. Обновление температуры 1 раз в 1,5 секунды. 5 - исправлены ошибки в прошивке 873/876 контроллеров. Прошивки, исходники, схемы, платы v2.2 (для PIC16F873/876/883/886 v2.2) Протеус PIC16F886 с одним термометром и вольтметром
Прошивка, исходник с вольтметром (PIC16F886 v1.0) (по кнопке "+" показывается только время и напряжение, по кнопке "-" часы переводятся в обычный режим "день-напряжение-температура") Обновление модификации с вольтметром (05.03.2016)
- изменения смотри в описании в архиве.
- исправлена точка в вольтметре Без часов на контроллере PIC16F873
- два термометра без часов
- кнопки "+" и "-" регулируют яркость
- скрытая кнопка "меню" - вход в меню настройки типа датчиков
- кварц 8,000 МГц
| |
Категория: Часы | Добавил: Boroda (01.05.2012) W | |
Просмотров: 13942 | Комментарии: 65 | |
Всего комментариев: 65 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|