1. Часы-термометр LED с радиодатчиком
  Здравствуйте!
  Ну вот я и отважился на написание статьи.
  Все началось 3 года назад с изучения ASM’a и структуры PIC’ов, мигания светодиодами в Протеусе посредством PICBasic Pro и дошло до банального термометра PIC16F630 + 3LED с датчиком DS18S20, висевшим за окном. Его жизненный цикл закончился через три зимне-весенних месяца, после того как в очередной раз на DSку попала вода (хотя датчик находился под тремя!!! слоями разнокалиберной термоусадки) и отвалилась одна из ног, я решился на разработку безпроводного герметичного датчика.
   Система состояла из основного блока PIC16F630 + DS18S20 + 3LED + RCR-433-MPR и радиодатчика PIC12F629 + DS18S20 + RCT-433-AS. Корпусом для последнего послужило «яйцо» от больничных бахил. Данная конструкция проработала безотказно больше года при температуре -25… +35 *С (никаких следов окисления обнаружено не было). Батарейка датчика CR2032 (компьютерная) немного подсела с 3,3 до 3,2 вольт при посылке температуры раз в 10 минут.
    Все было хорошо, жизнь продолжалась, температура менялась, но тут неожиданно сдохли старые, собранные моим батей, часы на КР145ИК1901. Вывод напросился сам собой. Надо было только заменить PIC16F630 на что-то помощнее, ну и индикатор. Выбор пал на PIC16LF628. Через месяц трудов и еще одного месяца отладки и реализации новых функций родились они, Часы-термометр с радиодатчиком. Давайте пробежимся по возможностям данного девайса PIC16LF628 + DS18S20 + 4LED_OA + RCR-433-MPR:
 
1.  Время/день недели.
2.  Температура дома (-55..+99 ⁰С).
3.  Температура с радиодатчика (-55..+99 ⁰С).
4.  Будильник с автоповтором.
5.  Радиозвонок.
6.  Коррекция хода.
7.  Кольцевое отображение данных.
8.  Резервное питание.
 
Дополнительные функции:
-  уменьшение яркости индикатора ночью (время ночи и яркость настаиваются).
-  при обрыве датчика температура_1 не отображается.
-  если сигнала нет 50 минут, то температура_2 не отображается.
-  выход будильника настраивается (длинный 0, секундные 0, генератор с настраиваемым тоном). Сигнал «каждый час», ночью отключается.
-  коррекция хода +/-12 секунд в сутки с шагом 0,1сек.
-  отображение данных: Время->День->Температура_1-> Температура _2.
-  время отображения данных настраивается: 1-20сек время, 0-10сек день и температура.
-  резервное питание: CR2032, ток потребления 0,7мА, будильник работает.
 
Схема. 
    В устройстве применен индикатор CA56-12GWA (14.2мм 4х7 зеленый ОА, 10.5мКд), в его анодах стоят эмиттерные повторители КТ3102. В каналах сегментов резисторы 100-160 Ом. Пищалка взята от компьютера с последовательно включенным резистором 20 Ом (лучше поставить транзистор). Питание осуществляется от телефонной зарядки. Потребляемый ток примерно 50-70мА.
 
Схема с ОА (это старая схема, новая лежит вместе с прошивками начиная с версии 4,0)
 
Часы-термометр с радиодатчиком температуры

Схема с ОК (это старая схема, новая лежит вместе с прошивками начиная с версии 4,0)

Часы-термометр с радиодатчиком температуры
 
Схема радиодатчика и радиозвонка (в архиве с прошивкой может быть другая схема):
 
 
Proteus:
 
 
    Индикатор в дежурном режиме:
-  отображение по кольцу.
-  любой пункт можно убрать, кроме времени.
-  время отображения любого пункта можно настроить.
 
 
    Пункты меню настройки:
-   вход/выход осуществляется по длинному нажатию на кнопку «МЕНЮ» (1сек).
-   если меню разделено на два, то вход во второе меню (мало используемое) осуществляется по более длинному нажатию «МЕНЮ» (6сек).
-   смена пунктов меню по кольцу по короткому нажатию на кнопку «МЕНЮ».
-   регулировка параметров кнопками «МИНУС» и «ПЛЮС».
-   кнопки регулировки работают по такому принципу: нажал - параметр изменился, держим дальше; после некоторой задержки (0,5сек) включается автоповтор нажатия (8Гц).
-   кнопка «МИНУС» (слева) в зависимости от пункта меню:
a - прибавляет параметр в 2х старших разрядах индикатора
b - уменьшает одиночный параметр
c - по короткому нажатию выключает звук будильника
d - по длинному нажатию отключает будильник
-   кнопка «ПЛЮС» (справа) в зависимости от пункта меню:
a - прибавляет параметр в 2х младших разрядах индикатора
b - увеличивает одиночный параметр
c - сбрасывает секунды в ноль
d - включает будильник
-   при включенном будильнике горит точка в младшем разряде индикатора.
-   при приеме сигнала с радиодатчика эта точка мигает.
-   при настройке тона будильника звучит сигнал.  За качество сигнала сильно не ругайте, сделал, как мог. Можно поставить внешнюю пищалку с генератором или музыкальную открытку, для этого и сделан выбор режима будильника.
 
Меню часов с DS18x20 и радиодатчиком
 
Пояснения:
- "ALAr"   - будильник
- "ArPt"    - авторепит, автоповтор будильника (2-60 минут)
- "CLoc"    - часы/минуты
- "SEC"    - минуты/секунды
- "dAY"  - день недели
- "Corr"   - коррекция хода (+/-12 секунд в сутки с шагом 0,1)
- "niGH" - время ночи (ХХ.YY, где ХХ - начало ночи, YY - конец ночи)
- "LIGH"   - яркость индикатора в ночное время
- "tCLC"  - сколько времени отображаются часы
- "tdAY"   - сколько времени отображается день недели
- "ttEr"    - сколько времени отображается температура
- "ton"    - тональность звукового сигнала будильника
- "dAt"   - выбор датчика температуры (DS18S20/DS18B20/нет датчика)
 
    Значения переменных меню "Corr", "LIGH", "ton" и "dAt" заносятся в EEPROM через 20 секунд после отпускания всех кнопок.
    При прошивке часов необходимо настроить EEPROM: частота кварца, номер радиозвонка, режим будильника, отображение знака градуса, отображение символов перед температурой и тд.
 
Ну тут вроде все понятно, теперь перейдем к софту.
 
    Программа написана на PIC BasicProton+, занимает в памяти контроллера 99%. В программе часов задействованы все 3 таймера, организован программный протокол 1Wire. 
    По переполнению таймера_0 (4мсек) происходит аппаратное прерывание, в котором полностью рассчитываются значения часов, минут, секунд и дня недели, корректируется ход.
    Так же с помощью этого прерывания организована динамическая индикация и сканирование кнопок. Когда кнопки отпущены – счетчик антидребезга равен 0, во время нажатия, значение кнопки сохраняется как старое, а счетчик начинает прибавляться при совпадении старого и нового значения кнопок. При достижении счетчика 4х, кнопка считается нажатой. Далее счетчик тикает до 30, сбрасывается в ноль и доходит до 4х – автоповтор. Но второй счетчик (я его назвал автоповтор) не даст сделать 1,2…7 автоповторы. То есть первая реакция на кнопку произойдет через 20мс, а вторая реакция - только через 840мс и далее с частотой примерно 8 Гц.
 
    Протокол радиопередачи слизан с IR NEC (хорошая синхронизация, проще декодировать по сравнению с RC5).
 
    Данные радиодатчика температуры последней версии содержат следующие байты: 
-   Серийный номер (0х65 - настраивается).
-   Тип параметра (0 - температура 1 с десятыми долями, 40 - звонок).
-   Значение знака температуры (для звонка 0х01).
-   Значение температуры.
-   Значение десятых долей температуры.
-   Байт контрольной суммы (+ по всем байтам). 
 
    Данные с радиозвонка (старая версия; новая версия звонка объединена с термодатчиком):
-   Серийный номер (0х65-1).
-   Значение номера звонка
-   Нулевой байт 
-   Нулевой байт 
-   Байт контрольной суммы (XOR по всем байтам). 
 
    В последней версии протокола единица передается импульсом 1500 мкс с паузой 500 мкс, 0 – 500/500. Перед посылкой байтов отправляется преамбула из 64-х импульсов 1500/1500мкс (иначе приемник DRA887RX работает некорректно) и опознавательный сигнал длительностью 4мс. На пульты от автомобильных сигнализаций декодер приемника не реагирует. Индикатор, как в предыдущих прошивках, во время приема радиосигнала не подмигивает.
 
 
    Теперь по радиодатчику (PIC12F629 + DS18S20 + RCT-433-AS + CR2032).
PIC12F629 работает от внутреннего генератора 4МГц (+/-2%). Кстати на качество декодирования это не сказывается, т.к. в декодере приемника допустим разброс временных интервалов +/-15%. Модуль питается от литиевого элемента CR2032 (уже больше года). Корпусом служит «яйцо» от больничных бахил. Передатчик отправляет данные о температуре, серийный номер и LRC либо каждую секунду, либо троекратно через 5 минут (+/- 1 минута), для переключения времени в схеме предусмотрен джампер. Остальное время контроллер спит и потребляет ток порядка 0,02 мА (насколько позволил измерить мой китайский мультиметр).
 
   Звонок построен на PIC12F629 или PIC12F675, питается от одного элемента CR2032. В звонке с помощью джамперов можно выбрать порядковый номер и соответственно в часах такая настройка тоже имеется. При нажатии кнопки звонка, три раза подряд в радиоэфир передается последовательность байтов, которую и примут часы. Если кнопка все еще нажата, то эта последовательность повторяется. При отпускании кнопки контроллер засыпает.
 
    Платы для этих устройств на начальном этапе не разрабатывались. Все было выполнено на односторонних монтажках посредством провода МГТФ. И, как я убедился, работает на ура и без глюков! 
    
    В дальнейшем устройство было усовершенствовано, об этом читай во второй статье.
 
Плата часов:
 
Часы-термометр с радиодатчиком температуры

Несколько фоток от @SUS (Bezkz.su):
 
 
 
 
 
Плата радиомодуля под батарейный отсек 3ААА (плата универсальная, поэтому на ней стоят лишние резисторы. Радиодатчик необходимо собирать по схеме из статьи):
 
Фотка:
 
Радиодатчик температуры

    Перед прошивкой контроллера PIC12F629/675 обязательно считать данные с него и записать на листочек (лучше на корпусе контроллера) калибровочную константу внутреннего генератора! Она находится в последней ячейке памяти, выглядит как 34XX (например 3430, 347F). При дальнейшем программировании этого контроллера необходимо вписать эту константу в последнюю ячейку памяти. Восстановление константы.
В прошивках 2.0/2.1 прописывается серийный номер, по умолчанию 65 hex.
 
HEX, исходник радиодатчика версия 1.3  (Датчик 18S20 или 18B20, контроллер PIC12F629 или PIC12F675)
HEX, исходник радиодатчика версия 1.4  (подходит для часов версий 3.3 и 3.4)
HEX, исходник радиодатчика версия 1.5  (подходит для версий 3.5 и 3.6)
HEX, исходник радиодатчика версия 2.0  (подходит для версии 4.0)
HEX, исходник радиодатчика версия 2.1  (подходит для версии 4.1)
 
HEX, исходник радиозвонка версия 1.1  (Контроллер PIC12F629 или PIC12F675)
HEX, исходник радиозвонка версия 1.2  (подходит для часов версий 3.3 и 3.4)
HEX, исходник радиозвонка версия 1.3  (подходит для версий 3.5 и 3.6)
HEX, исходник радиозвонка версия 2.0  (подходит для версии 4.0)
HEX, исходник радиозвонка версия 2.1  (подходит для версии 4.1)
 
 
Кварц с частотой 4.000 МГц лучше не использовать, ход времени будет не точный, это связано с особенностью TMR0, используемого для формирования временных интервалов часов (относится к версиям ниже 4.1).
 
Обновление 30.12.2011
 
Обновление 07.01.2012
Собрал все в кучу и засунул в одну прошивку (датчики, кварцы, коррекцию, нули, перевернутые индикаторы, звонок, яркость - все находится в меню SET)
Прошивка, исходник v2.4 (расширено меню SET, читай подробности в архиве)
 
Обновление 11.01.2012
Прошивка, исходник v2.4а (первые пол минуты будильник звучит с периодом 1 сек, остальные пол минуты с периодом 0,5 сек; в меню изменения ночной яркости индикатор меняет яркость; читай подробности в архиве)
 
Обновление 29.01.2012 
Исправлено меню SET (теперь отображает числа больше 99)
Прошивка, исходник v2.5 (Добавлено: в меню "Yarc" индикатор меняет яркость)
 
Обновление 23.05.2012 
Убрал: меню SET, звонок ALAr, настройка выхода bSET и кварца Cvar через меню
Добавил: термометры с шагом 0,1 градуса, настройка кварца и выхода при программировании EEPROM, коррекция +/- 24,9 секунды в сутки с шагом 0,1 секунда. 
Коррекция хода: XX.Y сек/сутки. 
XX - добавляется/отнимается XX секунд каждый день
Y  -  добавляется/отнимается Y секунд  каждые 10 дней
Коррекция происходит не сразу (отнять/добавить несколько секунд сразу), а постепенно не более +/-1 секунды в час в течение суток. При манипуляциях в меню Corr счетчики часов коррекции и дней коррекции сбрасываются.
Прошивка, исходник v3.0 (описание в архиве , читать перед заливкой в контроллер); версия радиодатчика 1.4
 
Обновление 29.07.2012
Обновление 24.08.2012 - перезалил прошивку (улучшена точность хода с кварцем 4.000 МГц)
Изменения:
- переработан алгоритм контроля напряжения сети
- переработан алгоритм опроса датчика температуры (маскирует мигание индикаторов)
- "минус" при отображении температуры теперь стоит перед цифрами, а не только в левом знакоместе
- Обращение к датчику будет происходить только во время переключения индикации из режима
  "Температура1" в режим "Температура2" и из режима "Температура2" в режим "Время"
- возможность выбора отображения знака градуса
- можно выбрать буквы из знакогенератора перед температурой
- вернулся звонок (настройка номера звонка в EEPROM, программа на модуль звонка v1.2)
- коррекция +/-24,0 секунды в сутки, шаг 0,1 секунда ( каждые 6 минут по 0,1 секунде, до 240 раз в сутки )
- запись в EEPROM через 20 секунд после изменения параметра, который надо записывать
- будильник пищит 1 минуту, потом через минуту еще 2 минуты. (по другому я его утром просыпаю :D )
Прошивка, исходник v3.3 (описание в архиве, читать перед заливкой в контроллер); версия радиодатчика 1.4

Обновление 22.12.2012
- Помехозащищенный алгоритм передачи данных по радиоканалу
- Небольшие исправления при отображении температуры
- будильник пищит 1 минуту, потом через минуту еще 2 минуты.
Прошивка, исходник v3.5 (описание в архиве, читать перед заливкой в контроллер); версия радиодатчика 1.5
 
Обновление 29.07.2012
Обновление 24.08.2012 - перезалил прошивку (улучшена точность хода с кварцем 4.000 МГц)
Изменения:
- будильник пищит 1 минуту, потом автоповторы через каждые 5 минут (период НЕ настраивается в меню)
- звук отключается коротким нажатием на минус, будильник полностью отключается длинным нажатием
Прошивка, исходник v3.4 (описание в архиве, читать перед заливкой в контроллер)
 
Обновление 22.12.2012
Изменения:
- Помехозащищенный алгоритм передачи данных по радиоканалу
- Небольшие исправления при отображении температуры
Прошивка, исходник v3.6 (описание в архиве, читать перед заливкой в контроллер); версия радиодатчика 1.5
Обновление 02.03.2013
Изменения:
- настраивается автоповтор будильника от 2 до 60 минут
Прошивка, исходник v3.9 (описание в архиве, читать перед заливкой в контроллер); версия радиодатчика 1.5
 
Обновление 07.01.2014 - v4.0
Обновление 25.01.2014 - v4.0 (были перепутаны сегменты индикатора, добавил схему)
Обновление 01.02.2014 - v4.0 (переделал платы)
Изменения:
- переделан алгоритм приема/передачи данных по радиоканалу (тайминги)
- индикаторы не подмигивают при приеме сигнала по радиоканалу (мигает правая точка)
- работает с радиодатчиком v2.0 и радиозвонком v2.0 (см.выше)
- в часах, радиомодулях можно менять серийный номер в EEPROM
- убран одноимпульсный режим срабатывания будильника ( -_--------------- )
- при включении будильника отображается время будильника на 1 секунду
- при приеме сигнала с радиозвонка, на индикаторе отображается ALAR
- диапазон коррекции хода уменьшен до +/-12секунд в сутки с шагом 0,1 секунда
- меню разделено на два:
                       (0.9 секунды на кнопку "меню")
  1 - будильник                                       
     - автоповтор будильника
     - часы/минуты
     - минуты/секунды
     - день недели
     - коррекция хода
     - время ночи
     - яркость индикатора ночью
                       (6.0 секунд на кнопку "меню")
  2 - время отображения часов в "режиме индикации"    
     - время отображения дня недели в "режиме индикации"
     - время отображения температуры в "режиме индикации"
     - тон сигнала будильника
     - датчик температуры 18b20/18s20
- в протеусе уход частоты внутреннего генератора контроллеров на +/-8% (3,7..4,3МГц) не влияет
  на качество приема сигнала с датчиков.
Прошивки, исходники, схема, платы v4.0 (описание в архиве, читать перед заливкой в контроллер. Старые платы в конце статьи)
 
Обновление 12.05.2015 - v4.1
Обновление 29.11.2015 - v4.1
Изменения:
- полностью устранен неконтролируемый уход времени при использовании кварца 4,000 МГц.
  TMR0 не предустанавливается.
- начало и конец ночи настраиваются на любое время.
  При равенстве значений, яркость остается максимальной.
- добавлен режим "без десятых долей градуса.
- переделан ШИМ яркости (прерывание).
- оптимизирована программа, обрезан знакогенератор, меню перенесено в EEPROM.
- один Радиодатчик v2.1, один Радиозвонок v2.1
- исправлена коррекция (работала только в минус)
Прошивки, исходники, схема, платы v4.1 (описание в архиве, читать перед заливкой в контроллер. Старые платы в конце статьи)
 
Обновление 24.07.2015 - v4.2
Обновление 29.11.2015 - v4.2
Изменения:
- поддерживается один радиодатчик с кнопкой звонка Radiomodul_DS18_bell_v1.0
- функция звонка отключается в EEPROM
- исправлена коррекция (работала только в минус)
Прошивки, исходники, схема, платы v4.2 (описание в архиве, читать перед заливкой в контроллер. Старые платы в конце статьи)
 
Модификация_1 от 29.11.2015 - v4.2_mod1
Изменения:
- поддерживается два радиодатчика с кнопкой звонка Radiomodul_DS18_bell_v1.0
- нет проводного датчика
- исправлена коррекция (работала только в минус)
Прошивки, исходники, схема, платы v4.2_mod1 (описание в архиве, читать перед заливкой в контроллер. Старые платы в конце статьи)
 
Печатные платы

Форум
 
Категория: Часы | Добавил: Boroda (05.07.2011) W
Просмотров: 31314 | Комментарии: 84 | Теги: радиозвонок, PIC16F628, радиодатчик, Часы-термометр
Всего комментариев: 831 2 3 »
83 guslik   (11.12.2022 19:23) [Материал]
Здравствуйте! Скажите есть ли в возможность корректировки показаний датчика температуры радиомодуля в- или + значение ? Просто хочется подправить температуру к примеру в - 3 градуса , как это сделать?

82 ФонБарон   (29.03.2022 20:32) [Материал]
  • Здравствуйте я новичок в программировании часов скажите пожалуйста, можно ли использовать такие китайские радио модули в этих часах.
  •  Модель: MX-05V
  • Напряжение: 5 В постоянного тока
  • Ток: 4 мА
  • Частота: 433,92 МГц 315 МГц
  • Чувствительность:-105 дБ
  • Антенна: 32 см, одножильный провод, в форме гелициформы
  • Размер: 30*14*7 мм
  • Модель: MX-FS-03V
  • Расстояние передатчика: 20-200 метров (влияет на напряжение)
  • Напряжение: 3,5-12 В
  • Размер: 19*19 мм
  • Режим работы: AM
  • Скорость передатчика: 4 КБ/с
  • Мощность передатчика: 10 мВт
  • Частота: 433 м/315 м
  • Attenna:25 см одножильный провод или многожильный провод
  • Расположение штифтов: лево-правое (данные; VCC;GND)

81 samand587   (09.04.2019 18:42) [Материал]
Поставил версию приемника 4.1 и радиодатчика 2.1- начал видеть показание второго датчика, но какой то мусор- (- 65.8)- такое показание. Что посмотреть?

77 adel13763   (20.12.2017 12:06) [Материал]

Обнаружил ошибку в схеме из "Обновления 29.11.2015 v4.2 Новая плата"
Батарейка подключена в цепь питания контроллера и транзисторов индикации, что вызовет быструю кончину батарейки при пропадание сетевого питания

78 Boroda   (20.12.2017 12:10) [Материал]
Ну на контроллер сигнал тоже заводится через R2, и по этому сигналу контроллер отключает транзисторы. Так что ошибки нет. А батарейка и так быстро сядет. Потребление контроллера 700мкА из-за генератора на 4МГц. CR2032 хватит на 13 суток. 3хААА на 53 дня.

79 adel13763   (21.12.2017 13:55) [Материал]


Здравствуйте Борода!
В процессе изучение печатки радиодатчика Radiomodul_DS18_bell_v1.0 в Обновление 29.11.2015 - v4.2 обнаружил не соответствии печаткой платы схеме. А именно:
Красным - R1  4.7к на печатке стоит после R2  100Ом, а должен не посредственно с выхода                           датчика на плюс(подтяжка по питанию). Ошибка в печатной плате?
Синим - резистор 4.7к между первой и третьей ногой контроллера, в схеме нет. Для чего он                 нужен?
Голубым - резистор 20к на печатной плате нужен для подтяжки к +, т.к. опрос через 5 мин?
Делаю без звонка

80 Boroda   (21.12.2017 14:18) [Материал]
1. Печатка как развелась, так развелась. Смысл резистора на 100 Ом - защита входа мк. Неважно где он стоит.
2. Синий резистор 472. Печатка универсальная, сюда предполагалось ставить второй датчик температуры, геркон на дверь, датчик мокрого пола и т.д.
3. Резистор 203 на печатной плате нужен для подтяжки к +, т.к. опрос через 5 мин, чтоб не использовать джампер.

71 adel13763   (13.12.2017 10:29) [Материал]
Здравствуйте Boroda!
Почему Вы не используете часы реального времени DS3231? В этом случае не понадобится коррекция - часы сверхточные.

72 Boroda   (13.12.2017 11:58) [Материал]
Ну тогда нужен более многоногий контроллер и побольше памяти... Да и народ говорит, что мои часы намного точнее с коррекцией нежели 3231.

73 adel13763   (19.12.2017 14:50) [Материал]
Такие приемо-передатчики подойдут https://ru.aliexpress.com/store/product/433-Mhz-Superheterodyne-RF-Receiver-and-Transmitter-Module-ASK-low-power-kits-For -Arduino-ARM-MCU/1456073_32728352611.html?spm=a2g0v.12010612.0.0.6631df91hs0LBS
Если нет, то какие?

74 Boroda   (19.12.2017 14:54) [Материал]
Да

75 adel13763   (19.12.2017 15:42) [Материал]

Все правильно здесь? Подключение датчика температуры к PICу
Схема взята из "Обновления 29.11.2015 v4.2 Новая плата"

76 Boroda   (19.12.2017 17:13) [Материал]
Да, сажается на ноги индикатора

69 lvandrei6490   (03.02.2017 11:02) [Материал]
почему уличный градусник врет на 4 градуса? Из-за константы может?

70 Boroda   (03.02.2017 11:10) [Материал]
Константа не причем. Либо прибор, с которым сверяетесь, врет. Либо стена дома близко. У меня все нормально показывает. Если датчик прокинут проводом через стену, то по проводу тепло передается. В этом случае поможет это.

67 alfa2bbs   (31.05.2016 14:59) [Материал]
Добрый

Вопрос по радиодатчику, что где поменять, сам в программировании ни как, чтобы на передачу срабатывал не через 1 сек/5мин, а через 30 сек./2мин.
версия радиодатчика 1.4 для PIC16F629

68 Boroda   (31.05.2016 21:30) [Материал]
Ответил на почту.

66 boryanr   (20.01.2016 19:32) [Материал]
Супер! Спасибо Boroda  что всё ещё поддерживаешь часики ! Два радиодатчика это супер!

62 kosrus84   (20.06.2015 19:44) [Материал]
Возможно ли увеличить значение коррекции. 12 секунд не хватает судя по всему кварц 4,096 попался некачественный. Раньше стоял в других часах и тоже уходили почти на минуту в сутки.

63 Boroda   (20.06.2015 20:11) [Материал]
Памяти у контроллера уже не хватит. Увы sad . Кондеры в обвязке кварца какие ставите? Спешат или отстают?

64 Boroda   (20.06.2015 20:28) [Материал]
Хотя можно и без потери памяти... Только число в меню Corr необходимо будет мысленно умножить на 2/4/6 для диапазона +-24/48/72 секунды в сутки. Пойдет так?

65 Boroda   (20.06.2015 21:20) [Материал]
Отправил Вам на почту прошивку с коррекцией до +-72 сек в сутки с шагом 0,6 секунды.

50 Boryan   (15.05.2015 15:32) [Материал]
Огромное СПАСИБО за то что поддерживаешь проект. Проверю новую прошивку!

49 Boroda   (13.05.2015 22:23) [Материал]
Обновил прошивку до версии 4.1. Взял приемник DRA887RX - шумит Ооочень сильно на выходе (на осциллограмме анализатора SeleaeLogic очень трудно найти сигнал с радиодатчика, сплошная жирная полоса шума). Индикатор на минимуме яркости очень редко дергается

51 Boryan   (16.05.2015 23:05) [Материал]
напомни пожалуйста что значит новая и старая плата? Схемы у обеих одинаковые или разные и почему прошивки разные для старой и новой платы..чота я запутался.. На данный момент у меня прошивка V4 c  кварцем 4096 и всё работает отлично.
PS новая это та что без динамической индикации?

52 Boroda   (17.05.2015 01:08) [Материал]
Старая плата - это та, что в статье на картинке. Новая - в архиве вместе с прошивкой. Схема подключения индикатора и кнопок разные.

53 Boryan   (17.05.2015 12:58) [Материал]
хочу собрать ещё одни часы..по какой схеме лучше собирать, что посоветуете? Старая у меня вроде отлично работает. Что дали изменения в новой схеме? Чем лучше?  Смотрю питание приёмника и контроллера от одного стаба, есть фильтр на приёмник...это помогло уменьшить помехи, работает стабильно??

54 Boroda   (17.05.2015 15:32) [Материал]
Эффект есть. До этого стоял приемник RCR-433-MPR - значительно слабее шумит (шум идет от динамической индикации по питанию). Сейчас стоит DRA887RX - он сам по себе шумит на выходе. Но при выкидывании фильтра у обоих сильно падает чувствительность. Вместо катушки сейчас стоит диод Шоттки.
Новая плата более универсальная - можно выкинуть приемник и повесить второй проводной датчик температуры (только немного доработать прошивку).
При программировании необходимо отключить приемник,  на его выход подается 12 вольт от программатора.

55 Boryan   (17.05.2015 15:54) [Материал]
у меня часы собраны на  таких модулях и ни чего передатчик висит на улице в 5 метрах через две бетонные стены. Ни разу нареканий не было. Это учитывая что помех в этом диапазоне и не только в нём..  у меня тут куча. На 433 у меня вещают 2 погодные станции.. Например собрал Эту схему так в режиме записи нового датчика трудно поймать нужный датчик..вечно мусор какой то пишет..из 5 попыток 1 раз удаётся. Толи у автора косячная прошивка и нет защиты от мусора...толи на самом деле помех море. У него на видеоролике видно что светодиод канала горит до тех пор пока он не пошлёт код от датчика ..у меня максимум секунду и гаснет подтверждая что что то записал. Так что твой метод передачи по 433 работает отлично  в москве с засраным эфиром.

56 Boroda   (17.05.2015 16:10) [Материал]
У меня 10 комплектов таких модулей валяется - передатчик хороший, приемник - нет слов... 2 метра максимум на прямой.
Ну если пишет мусор - значит нет контрольной суммы посылки. Схема работает без кварца: покупал 629/675 на тритоне (офф. поставщик микрочипа) - все нормально, купил по десятку 629/675/630/676 на ebay - у всех внутренний генератор сбит с 4,0+/-1% на 4,5МГц и не настраивается калибровочной константой.

57 Boryan   (17.05.2015 16:35) [Материал]
а тебе не интересно сделать свой обучаемый приёмник китайских радиодатчиков от охраны? И каналов побольше выходных сделать штук 6-8. В принципе для этого есть готовое решение на декодере 2272...но там не всё так сладко...код от датчиков должен быть один..команды разные. В охране используется куча датчиков и все с разным кодом. Иногда нужно контролировать датчики не самим блоком охраны, а своей схемой...думаю такой проект будет нужен народу smile

58 Boroda   (17.05.2015 16:44) [Материал]
Да я как-то такими вещами не интересовался. Думаю не так сложно расшифровать код с pt2262/2272. Надо поковырять PDFки.

59 Boryan   (17.05.2015 16:54) [Материал]
кста на счёт модуля приёмника что у меня стоит и у тебя 10 комплектов...разбирал китайскую GSM сигнализацию что у меня на даче..там точь такой приёмник и выход с него идёт на STM контроллер. У меня помимо моего участка эта сигнализация охраняет и дачу соседа через два участка от меня..а это 15+20+20+10 метров..получается 65 метров до крайних радиодатчиков. И это учитывая что за нашими участками в 50 метрах идут две ветки ЛЭП350. Так что не всё так плохо smile Как то китайцы умеют дружить со своими дешёвыми модулями RxTx smile У соседа стоят два датчика на движение PIR и пару герконов. Герконы от 12в питаются а PIR от кроны.

60 Boroda   (17.05.2015 17:18) [Материал]
Да у меня просто сигнал на выходе приемника затухал и все, шум один шел. Брак...

61 Boryan   (17.05.2015 18:35) [Материал]
наверно зависит ещё от окружающей обстановки smile в смысле места насколько засраны радиочастоты...в москве думаю вряд ли на таких расстояниях будет работать.
Пойду собирать ещё один часы smile а то на даче таких нету smile Если надумаешь заняться приёмником датчиков охраны дай знать. Помогу потестить в разных условиях..благо и датчиков хватает и условий smile

36 Boryan   (22.03.2015 14:35) [Материал]
Спасибо автору за отличные часы! Ещё спасибо за то, что не бросает свой проект ( как это делают многие) и доводит до совершенства. Отдельное спасибо за радиодатчик. За идею радиозвонка! В сетке много разный  часов ..и датчиков налепят к ним по пять штук ...и все на проводах. А как интересно городскому жителю, поставив часы в глубине комнаты, тащить метров 10 провода, да ещё как то протащить его через бетонную стену или как вариант уродовать дорогое пластиковое окно? Об этом ни кто не думает! А автор подумал об этом удобстве. 
Сам я пока использую версию прошивки ( сегодня наткнулся только на этот сайт, теперь махну на новую)  v2.4a и радиодатчика v.1.2. кварц 4 мгц ( пока не могу наладить точность-убегают вперёд) С радиоканалом всё в порядке две бетонные стены пробивает. Сильно шумит приёмник, вернее не шумит а в условиях города берёт все помехи и они влияют на работу ШИМ яркости. В ночном режиме пониженной яркости заметно нестабильность яркости ..она постоянно меняется. В дневном всё нормально. Приёмник питается от отдельного стаба. Ещё есть непонятка с DS18S20....этот датчик работает только на паразитном питании и он двухпроводной. Может автор ошибся и имел ввиду DS1820? Вот он работает когда выбран DS18S20...
А если бы дальше доводить проект до совершенства то может перейти на другой диапазон? 2.4 Ггц и на модули nRF24L01...Хотя это наверное уже будут другие часы...

37 Boroda   (22.03.2015 16:33) [Материал]
nRF24L01+ уже освоены, сегодня написал драйвер под nRF905 - работает, дальность еще не проверял, думаю метров на 500-700 будет бить. Часы на обоих модулях стоят в плане.

40 Boryan   (23.03.2015 00:28) [Материал]

42 Boryan   (23.03.2015 01:13) [Материал]
С другой стороны и дешёвых 433 мгц что сейчас используем модулей достаточно для дальности...единственное я бы между приёмником и контроллером в часах воткнул что нибудь на том же пике 629. Что бы он занимался обработкой мусора из эфира и передавал контроллеру часов только то, что нужно. А то походу бедный контроллер в часах "мучается" разгребая мусор что вылавливает модуль приёмника из эфира...У меня достаточно 3в 2032 батарейки и шпарит через две бетонные стены..

45 Boroda   (23.03.2015 23:48) [Материал]
Да я уже подумывал сделать отдельный модуль распознавания IR/RF(NEC,RC5,Sony,KeeLoq)+DS18B20 на 629/675 и опрашивать его с SPI/UART, но потом забросил. Нет задач, где массово можно было бы использовать.

43 Boryan   (23.03.2015 16:26) [Материал]
nRF24L01+ - отличный вариант для объединения отдаленных модулей в системе умного дома внутри помещений без прокладки проводов.Технические характеристики:-Частота передачи/приема 2.4ггц.
- Дальность до 100 м.В помещении - до 30 м. 
- Скорость до 2 Мб.Возможные варианты: 250kbps, 1Mbps и 2Mbps.
- Интерфейс взаимодействия с микроконтроллером- SPI. Выводы толеранты к 5 вольтам.
- Напряжение: 3-3.6В (рекомендуется 3,3) В. При попытке подключения 5 В вывод из строя маловероятен,но работать устройство отказывается..
- Максимальная выходная мощность: 0 dBm
- Коэффициент усиления антенны (пиковая): 2dBm
-Количество каналов: 126. Нулевой канал начинается с 2400мгц и далее с шагом 1 мгц,например 70 канал находится соответственно на 2470мгц. При установке скорости 2мгц занимается ширина двух каналов..

46 Boroda   (24.03.2015 00:56) [Материал]
В лесу тестировал 70-100 метров (2475MHz/250kBps), появляется на пути дерево - дальность падает до 30. В помещении 2 ж/б стены и то больше из-за переотражения. Тут недавно знакомый с ними сражался, я ему конфигураций 8 разных написал - расстояние не более 11 метров на прямой. Даже кварцы на модулях поменял, видать чипы левые. Но у меня вроде нормально пашут.
Есть идея сделать сеть устройств с nRF24L01+ с мастером сети. Мастер будет собирать информацию с температурных датчиков, датчика мокрого пола и т.д. и раздавать время и др. данные на удаленные индикаторы и исполнительные устройства (кондей, вентиляторы). Управление освещением пока не будет (живу на съемной квартире). Сценарии задавать с
компьютера. Можно повесить панель типа Овен СП270 или MT4414TE.

47 Boryan   (24.03.2015 18:22) [Материал]
http://homes-smart.ru/index.php/oborudovanie/bez-provodov-2-4-ggts/konstruktor-besprovodnogo-klienta-na-nrf24le1  в помощь...по умному дому..уже много задач самостоятельно решает сам модуль

48 Boroda   (24.03.2015 21:27) [Материал]
Интересный сайт, надо будет полистать на досуге. Спасибо!

38 Boroda   (22.03.2015 16:42) [Материал]
2,4ГГц очень сильно затухает в условиях квартиры/дома/бетона/дерева/гипсокартона, мощности nRF24L01+ едва хватает на 2 стены.

Расчетная дальность при самых худших параметрах модулей на прямой видимости:

nRF24L01+

nRF905

39 Boroda   (22.03.2015 16:48) [Материал]
DS18S20 картинка из даташита:


41 Boryan   (23.03.2015 00:52) [Материал]
хрень какая то с этими датчиками..я запутался...как выяснилось у меня есть с маркировкой DS1820 -  и он работает когда выбран DS18S20 ..как выяснилось это старая маркировка. Но есть с маркировкой 18S20P ..этот не работает.. он работает только на паразитном питании....как то так..ошибся я с последней буквой в маркировке...не доглядел про "Р"

44 Boroda   (23.03.2015 23:44) [Материал]
Ну да: DS1820 и DS18S20 - это одно и то же (цена деления 0,5 С), DS18B20 - цена деления 0,0625 С. А вот DS18S20-PAR честно говоря не встречал никогда.

35 Boroda   (20.11.2014 16:53) [Материал]
Как будет время - сделаю....

33 RoboC   (19.01.2014 20:48) [Материал]
Не качается V.4 архив.

34 Boroda   (20.01.2014 01:20) [Материал]
Спасибо! Исправил!

31 Andruha1990   (16.09.2012 22:44) [Материал]
Здраствуйте, я просмотрел вашу схему и у меня созрело несколько вопросов:
1. Радиозвонок это пульт управления? возможна ли использование устройства без него???
2. Можна ли с програмы удалить фрагмент отвечающий за радиодатчик, и использовать его как часы с одним датчиком температуры!?

32 Boroda   (17.09.2012 08:17) [Материал]
Привет!
1. Радиозвонок - передатчик с определенным кодом. При совпадении этого кода с кодом, записанным в часах, они начинают пищать.
2. При отключении приемника, температура "Улица" не показывается, алгоритм работы часов не изменяется (этот фрагмент программы можно не удалять).
3. Тут без радиодатчика (можно использовать ноль/один/два проводных датчика температуры)

1-15 16-30 31-40
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]