Ну вот и продолжение часов из первой статьи.
Конструкцию собрал и протестировал @SUS (www.bezkz.su/forum) за что ему огромное спасибо!!!
Добавлено:
- нормальный звук будильника (аппаратный ШИМ)
- большие индикаторы до 90 мА на сегмент
- статическая индикация
- настраиваемый автоповтор будильника
- дополнительный выход (логическая 1 при звонящем будильнике)
- термостат с проводного или радиодатчика (логическая 1 при температуре ниже уставки)
Убрано:
- выбор режима выхода будильника
Схема.
В часах применимы любые ОА LED индикаторы с током сегментов до 90 мА. Драйвер индикаторов MBI5026 имеет токовые выходы (стабилизатор тока) с настройкой резистором на 23 ноге.
Схема часов:
Схема радиодатчика и радиозвонка (в архиве с прошивкой может быть другая схема):
Плата (индикаторы с обратной стороны).
Плата радиомодуля под батарейный отсек 3ААА (плата универсальная, поэтому на ней стоят лишние резисторы. Радиодатчик необходимо собирать по схеме из статьи):
Индикатор в дежурном режиме:
- отображение по кольцу.
- любой пункт можно убрать, кроме часов.
- время отображения любого пункта можно настроить.
Пункты меню настройки:
- вход/выход осуществляется по длинному нажатию на кнопку «МЕНЮ».
- отображение меню по кольцу по короткому нажатию на кнопку «МЕНЮ».
- регулировка параметров кнопками «МИНУС» и «ПЛЮС».
- кнопки регулировки работают по такому принципу: нажал - параметр изменился, держим дальше; после некоторой задержки (0,5сек) включается автоповтор нажатия (8Гц).
- кнопка «МИНУС» (слева) прибавляет параметр в 2х старших разрядах индикатора, уменьшает одиночный параметр или отключает звук будильника в дежурном меню (длинное нажатие выключает будильник полностью, иначе будет звучать автоповтор через каждые 5 минут).
- кнопка «ПЛЮС» (справа) прибавляет параметр в 2х младших разрядах индикатора, увеличивает одиночный параметр, сбрасывает секунды в ноль или включает будильник в дежурном меню.
- при включенном будильнике горит точка в младшем разряде индикатора.
- при настройке тона будильника звучит сигнал. Отображается частота Х.ХХ кГц.
By @SUS
Радиомодуль
Видео с прошивкой v1.0. Сейчас все поменялось.
Перед прошивкой контроллера PIC12F629/675 обязательно считать данные с него и записать на листочек (лучше на корпусе контроллера) калибровочную константу внутреннего генератора! Она находится в последней ячейке памяти, выглядит как 34XX (например 3430, 347F). При дальнейшем программировании этого контроллера необходимо вписать эту константу в последнюю ячейку памяти. Восстановление константы.
Кварц с частотой 4.000 МГц лучше не использовать, ход часов будет не точный, это связано с особенностью TMR0, используемого для формирования временных интервалов часов (относится к версиям ниже 3.5).
Обновление 29.07.2012
Обновление 22.12.2012 - v3.3
Изменения:
- переработан алгоритм контроля напряжения сети
- "минус" при отображении температуры теперь стоит перед цифрами, а не только в левом знакоместе
- Обращение к датчику будет происходить только во время переключения индикации из режима
"Температура1" в режим "Температура2" и из режима "Температура2" в режим "Время"
- возможность выбора отображения знака градуса
- можно выбрать буквы из знакогенератора перед температурой
- вернулся звонок (настройка номера звонка в EEPROM, программа на модуль звонка v1.2 в первой статье)
- коррекция +/-24,0 секунды в сутки, шаг 0,1 секунда ( каждые 6 минут по 0,1 секунде, до 240 раз в сутки )
- запись в EEPROM через 20 секунд после изменения параметра, который надо записывать
- будильник пищит 1 минуту, потом через минуту еще 2 минуты. (по другому я его утром просыпаю :D )
Обновление 18.05.2015 Обновление 21.05.2015 (Добавлены режимы термостата: нагреватель/холодильник) Обновление 11.07.2015 (Термостат с проводного или радиодатчика)
Изменения:
- добавлен термостат с проводного или радиодатчика. На 11 ноге появляется 1, если температура ниже/выше уставки (меню tEr)
- при получении сигнала от звонка, на экране появляется "ALAR"
- добавлена настройка драйверов 74НС595/MBI5026
- коррекция +/-12,0 секунды в сутки, шаг 0,1 секунда
- исправил мигание разделительной точки
Обновление 24.07.2015
Обновление 27.07.2015 (исправлена некорректная работа декодера протокола радиодатчика) Обновление 30.07.2015 (исправлена некорректная работа алгоритма помехозащищенности радиосвязи) Обновление 02.11.2015 (исправлена коррекция - работала только в минус)
Изменения:
- поддерживается один радиодатчик с кнопкой звонка Radiomodul_DS18_bell_v1.0
- функция звонка отключается в EEPROM
- в EEPROM введена настройка источника температуры для термостата (провод/радио)
Добрый день уважаемый Борода! Я в восторге от этого Вашего проекта. Собрал четверо часов, трое подарил, одни работают у меня дома. 12 лет без нареканий. Удобный функционал, всё как мне нужно. Но очень хотелось бы добавить 2 разряда секунд с третьей MBI5026.
Уважаеьмый Boroda! В первую очередь спасибо за классные часы!!! Дождался пришль сегодня модуля DRA888TX DRA887RX. Решил проверить,установил на рабочие часы и ничего. Стояли модуля HM-R(T)433 Часы собраны на новой печатной плате где уже предусмотрен разъём под DRA,а радиодатчик плата ещё старая делал два года назад. В чём может быть причина?
Нет, им для управления надо минимум 5 ног и очень сложная настройка регистров. Можно использовать SYN115/SYN480R, DRA887RX/DRA888TX или RF transmitter and receiver link kit for Arduino, но с последними результаты печальные.
Уважаемый Борода! Пришли радиодатчики SYN115\SYN440/ На выходе приёмника вижу импульсы но часы не реагируют. С HM-R(T)433 работают. В чём проблема? Заранее спасибо
Добрый день Ув. Борода. Собрал часы ст.10 при этом уже есть часы ст.2 у них разные прошивки радиодатчика. Было принято решение перешить часы ст.2 на прошивку 3.7 убрать проводные термодатчики и сделать два радиомодуля улица и комната.При перепрошивки радиодатчика который прекрасно работал с прошивкой 1.5 на прошивку DS18_bell_1.0 радиомодуль перестал запускаться через контролер модуль WL102-341 передатчик приёмник RX470-4. Вешаю светодиод на 7ю ногу мигает подключаю передатчик тишина. В чём может быть проблема.?
А светодиод множественно мигает при каждой передаче или горит более одной секунды? Если множественно мигает, то поменяйте байт конфигурации EEPROM - режим 7 ноги: 00 - питает передатчик, 01 - светодиод индик. передачи. Часы с двумя радиодатчиками принимают 2 температуры с кодами EEPROM радиодатчика - какой параметр будем передавать: 00 и 01.
Залил "Обновление 02.11.2015 " версия 3,7 и там же радимодуль 1,0. Проблемы 2 :
1) Нету в меню часов настройки яркости ночью, есть время когда наступает ночь но яркость не меняется - этот вопрос решен 2) Радиомодуль штурмует передачу данных постоянно и не важно как стоит перемычка на 5 ноге.
да, ставил вначале 01 ( стоит MBI5026) результата не дало потом 00 - да настройка в меню появилась, но индикация мигает почему...примерно раз в 2-3 секунды , такого не было при выставлении 01 и в старых прошивках
Если индикация мигает, попробуйте проверьте все электролиты на плате часов, и стоит попробовать отпаять радиоприемник, или питание его отключить. Но это сугубо мои мысли, что скажет автор я незнаю. У меня радиомодуль еще старого оброзца.
Добрый день! - Мигания индикатора происходят при приема сигнала с радиодатчика, т.к. алгоритм приема старый (с новым не должно мигать). Заменить алгоритм на новый? - У радиодатчика в EEPROM ничего не напутали? Период передачи - минуты/секунды. Я сделал порядка 10ти датчиков - работают норм.
Попробуйте эту прошивку часов, должно перестать подмигивать при приеме (будет изменяться яркость только при звонке).
А точно ли каждые пару-тройку секунд идет передача? 2я, 4я и 5я ноги 629-го не в воздухе висят? Модуль передатчика питается от ноги контроллера? Может его питание перевесить на + батарейки.
залило водой датчик...жду новый, а какой планируете использовать датчик/модуль влажности в будущем или какой хороший заказать можно, чтоб заказать пока придет... DHT22 или есть что-то лучше?
Ну DHT22(AM2302) пока самые адекватные. Все остальное надо калибровать. Ток потребления в покое 15мкА. Питание правда от 3,3 до 5 вольт - батарейки сильно не разрядишь. На сами часы датчик такой не поставишь - больно уж неадекватные тайминги протокола - индикатор мигать жутко будет (можно конечно на ногу прерывания его посадить и один таймер у системы отнять). Вот DS18x20 я могу хоть раз в секунду пинать и забирать с нее по одному биту, а этот всю посылку отдает сразу и попробуй поймай 26, 50 и 70 микросекунд, когда еще кнопочки надо опросить и индикатор засветить.
С датчиком делаю так: берем маленькую монтажку (ширина - пару дырочек 2,54), с одной стороны припаиваем датчик, с другой провод. Соединяем датчик и провод волосками МГТФа (минимизируем теплопередачу от провода к датчику). Датчик вместе с монтажкой заворачиваем в термоусадку. Заливаем торец "Моментом" (который эластичный). И еще раз в термоусадку - но эту вторую тащим домой вместе с проводом.
кстати передачу данных отображает теперь только точка в последнем сигменте...ага как выяснилось мигает из-за постоянной передачи данных передатчика, мигание прекратилось при снятии и подаче вновь питания на передатчик ... чудеса...
Добрый день, уважаемый Boroda! Скажите, будет ли радиодатчик от прошивки 3.7, тоесть ваш новый, работать с этими модулями WL101/WL102-341/433Mhz RF transmitter and receiver kit? Заказал 2 пары с алиэкспресса. Заранее спасибо)
Ещё я заметил ошибку в Вашей последней версии платы, перемычка, которая идёт от + к электролиту, который возле датчика ds18x20, должна идти с стабилизатора, а не напрямую от входа питания. Очень сильно начинает греться pic и выгорает
Ну поэтому она и нарисована пунктиром. Либо чип 0ом под разъемом Load ставится, либо перемычка от основного питания. Нагрузки-то разные могут быть: и на 5 и на 12 вольт...
Да, в последней прошивке радиомодуля протокол передачи разрабатывался с учетом использования различных аналоговых и дискретных датчиков, в том числе и DHT22. Как датчики придут с китая - сделаю прошивку.
В последней прошивке 3.6 непонятки с отображением уличного радиодатчика. Вот некоторые из значений на дисплее: Р7.9(со знаком градуса), 40.8 -7.9 88.1.Иногда температура отображается правильно.При программировании в EEPROM прописал: ( 02 75 14 3E 01 03 01 01 01 01 00 C8 FF). В предыдущей версии прошивки все работало нормально,только разделительная точка не мигала в часах.
Добрый вечер! Странно. В прошивке от 11.07 исправлено пару строчек относительно 21.05 не относящихся к приемнику. В передатчике с 4й ногой все нормально? Такое ощущение, что настроено на другой датчик.
Все,разобрался.Прошивка рабочая 100%,извиняюсь.Просто разгерметизировался выносной датчик и в него попала вода,поэтому и все эти глюки на дисплее.Заменил другой датчик,проблем не наблюдается. А что нужно изменить в прошивке радиодатчика,чтобы передача шла не через 5 мин, а например, через 10 или 15 мин?Это возможно сделать?
3х1,5в АА работает уже больше года, точно и не помню.Правда, сам радиодатчик находится в комнате, а выносной термодатчик через стену выходит на улицу. У меня трое часиков в разных комнатах работают от одного радиодатчика.
Попробовал новую прошивку 1.5,передача идет каждые 2 сек независимо какие данные в EEPROM-5,6 или 10 мин.Джампер на GPIO.2 (5 нога) в любом положении-все равно передача каждые 2 сек.
Измененная прошивка 1.5 работает, только непонятно какие цифры вносить во 2-ую ячейку EEPROM. Вписываю 10 мин, передача идет примерно через 16 мин.Или в ячейку можно вносить данные только до 5 мин?
Все понял,спасибо большое за проделанную работу! Помнится,как-то автор обещал сделать прошивку под два радиодатчика для этой схемы,можно ждать в будущем ?
Да. Такая штука планируется. Сначала были большие сомнения по поводу стабильности радиоканала на простых радиомодулях (транзисторно-катушечных), хотел перейти на nRF24L01, но не устроило качество работы в помещении и количество используемых ресурсов МК (ног и кода). Но тут попались на глаза китайские модули DRA887RX/DRA888TX - в приемнике никаких катушек, только микросхема - заказал на алиэкпресс за 1000руб 10 комплектов (приемник/передатчик) - результат отличный, приемники/передатчики меняешь - сигнал стабильный, а на модулях for Aduino постоянно были пляски с бубном. Вчера написал новый протокол для универсального радиодатчика. В дальнейшем предполагается температура/влажность с поддержкой DHT22, аналоговые входы, дискретные входы. Под него буду подгонять часы. Тестировал все это на недавно сделанных часах на 2х модулях MAX7219 с ebay по 8 цифр в корпусе G1032B (статью скоро напишу).
Добрый день. Собрал ещё одни часы прошивка 3.4-1.5. Есть пять pic12f629 и ни один не запускает передатчик,константа на месте pic прошивается без проблем. Ставлю pic с передатчика который сделал раньше,всё запускается,выходит железо в порядке. Подскажите в чём может быть проблема?
Уважаемый Boroda! Нельзя ли выделить Вам времени для под корректировки прошивок 3.4 и 1.5, так как их связка работает плохо с отображанием уличной температуры
Был очень трудный период в жизни: поменял работу, место жительства и т.д. Я сейчас этим занимаюсь, идет тестирование часов из первой статьи с разными протоколами передачи данных. Мигание индикатора при приеме радиосигнала убрал, переделал немного меню, добавил несколько удобностей, тайминги битов подправил до рабочих/стабильных (ранее не работали HM-R(Т)433 - сейчас должны). Сейчас начал потихоньку заказывать разные RF модули для экспериментов (HM-R433/HM-T433,RR10-433/RT6-433,и такие). В общем потихоньку втягиваюсь обратно...
Здравствуйте! Собрал часы с модулями HM-R (T) 433 прошивка 3.4-1.5 заработали сразу работа корректная. Подарил сыну. Собрал ещё одни начались проблемы с передатчиком. При повышении температуры выше 26-28градусов датчик терялся.Впаял светодиод по питанию передатчика всё заработало и появилась индикация работы устройства. RT11-RT14 чегез pic не запустились, питание на прямую работают
Вчера подключал RCT-433-UTR - с ноги контроллера питания не хватило, пришлось на + вешать, ток потребления между передачами 8-10 мкА, так и оставил. Да и НМ-Т433, если его не дергать 75мс, уходит в сон, так что можно питание на + вешать, а не на ногу контроллера.
В каком смысле? Контроллер управляет сдвиговыми регистрами, которые подают сигналы на индикаторы. Как это еще расписать? На дипломную записку у меня текста не хватит. Более менее принцип работы расписан в первой статье. Тут тоже самое, только интерфейс управления индикаторами другой.
Смотря какие радиомодули и местность установки, те, что указаны в статье, через одну бетонную стену + 6 метров (с питанием от 3х мизинчиков) спокойно бьют.
Тут суть в том чтоб не тянуть провода через комнату и чтоб добится точных показаний, так как в зимнее время где то на 1.5 градусов погрешность в +ю сторонну так как провод теплопроводник, а еще точность измерения добивается тем что датчик можно закрепить на северной стороне, скрыть его от попадания солнечных лучей!
Здравствуйте!!! Собрал всё пошло сразу модуля HM-T433---- HM-R433 прошивка 3.2 -- 1.4 другие пока не пробовал.Точки немного путают. И ещё при минимальной яркости при опросе комнотного датчика затухает один драйвер. Отключил его в меню работает нормально, Выдернул приёмник опять потух .
Привет! Буду пытаться поправить. Есть некоторые доработки для часов из первой статьи (связанные с этими проблемами), а до этих никак руки не дойдут. Возможны такие баги, т.к ШИМ управления яркостью программный, но его можно отключить при прошивке и использовать фотодатчик освещенности.
Так, погоди. Я ее допилил... Не должна яркость меняться при полном отвале приемника и при опросе домашнего датчика. Это возникает при установке в меню "яркость"=01?
А вот при приеме температуры с радиодатчика яркость будет по любому изменяться. В вашем случае либо все потухать будет, либо яркая вспышка должна быть примерно 60мс. Т.к. при минимальной яркости индикатор светится 100мкс, потом гаснет на 4мс. Выход один - фотодатчик на драйвер вешать.
Если яркость и уменьшается, то должна она уменьшаться на всех четырех индикаторах одновременно, т.к запись в драйвера, управление яркостью происходит одновременно.
Привет! В принципе и те и те работают, но с последними иногда глюки случаются (плохо запускаются при подаче питания), но если работают, то качественнее (сигнал на выходе чище и настройка на частоту точнее).
Добрый день!Подскажите пожалуйста будут ли работать в этих часах модули RCT-433-UTR и RR10-433 с сайта chip-nn.ru,а то таких как у Вас не могу ни где найти.
Перепрошил МК на другом ПК, результат тот же: версии 3.2 и 1.4 работают нормально, а вот версия 3.4 и 1.5 не идет.Проверил осциллом с выхода 6 pic629 : три пачки импульсов идут и на выходе приемника тоже три импульса проходят, а на индикаторах температура с радиодатчика не отображается.
В первой статье последние прошивки работают, для надежности переделал прошивку радиодатчика: добавил задержку на запуск модуля передатчика в пол секунды (но это больше относится к модулям типа HM-T433; а RCT-433 стабильно работал в связке с RCR-433-MPR с самого начала).