ЭЛЕКТРОНИКА Радиоудлинитель датчика температуры DS18B20

Sergo_ST

★★★★★★✩
15 Мар 2020
915
813
Прошивки для радиоудлинителей DS18B20 можно скачать здесь.

Внимание! Перед прошивкой передатчика, обязательно полностью отключите радио-модуль, иначе он может выйти из строя!
Так-же могут быть проблемы с ATTINY13A купленными в Китае!!!


WDS18B20.JPG
Фьюзы RX прошивки Low 0x7A High 0xFF.
Фьюзы TX прошивки Low 0x79 High 0xFB.

Перед прошивкой передатчика желательно считать из сигнатуры мк калибровочный байт для осциллятора 4.8МГц и прописать его в OSCCAL_SET прошивки передатчика!
После прошивки необходимо обязательно прописать адрес передатчика в приёмнике по инструкции ниже!

Поддерживаются любые совместимые с указанными в схеме радио-модули на 433МГц.

Что реализовано:
  • Полноценная шина 1wire с возможностью адресации(команды - Search ROM, Read ROM, Match ROM, Skip ROM).
  • Копирование памяти и адреса датчика(адрес хранится в EEPROM приемника).
  • Защита от помех(передача бит по высокому уровню + проверка сигнала раскачки).
  • Сверка адреса передатчика(адрес задается перемычками).
  • Прописывание адреса передатчика в приёмник.
  • Сверка контрольной суммы принятых данных.
  • Система ошибок(125 - передатчик давно не выходил на связь, -85 - нет сигнала от датчика температуры).
  • Возможность установки перемычками установки интервалов передачи и адресов.
  • Возможность перед компиляцией установить свой максимальный интервал передачи(по умолчанию 60мин).
  • Возможность перед компиляцией выбрать режим "SLOW_MODE", для более устойчивой передачи.
  • Дублирование передачи(отправка повторного пакета через 8 сек).
  • Запрос температуры(за 8 секунд до основной передачи).

Синхронизация адреса датчика температуры с приёмником:
  • Выключить передатчик и приёмник.
  • Отключить приёмник от шины 1wire.
  • Включить приёмник.
  • Включить передатчик.
  • Через 1,5сек светодиоды приёмника и передатчика должны загореться - адрес прописан.

Синхронизация адреса передатчика с приёмником:
  • Выключить передатчик и приёмник.
  • Отключить приёмник от шины 1wire.
  • Прижать пин PB3 приёмника к земле.
  • Включить приёмник(светодиод будет светиться постоянно).
  • Включить передатчик.
  • Через 1,5 - 3сек светодиод приёмника должен потухнуть - адрес прописан.
  • Выключить приёмник.
  • Убрать прижим к земле пина PB3.

Установка аналоговых перемычек(резисторы подключаются к GND):
  • GND - PB4(1мин), PB3(0xAA)
  • Резистор 60K - PB4(5мин), PB3(0xBB)
  • Резистор 170K - PB4(10мин), PB3(0xEE)
  • VCC - PB4(30мин), PB3(0xCC)
Что нового:

ver 3.5.2

  • Добавлена индивидуальная адресация(можно использовать несколько удлинителей в одном месте).
  • Добавлена возможность прописывать передатчик в память приёмника (для этого необходимо PB3 прижать к земле и включить питание).
  • Добавлен медленный режим для протокола радиопередачи
  • Повышена помехоустойчивость при раскачке.
  • Убраны интервалы дублирующей передачи 8сек(теперь передаётся за раз 3 пакета).
  • Теперь при старте передаётся температура вместе с адресом датчика.
  • Оптимизация.
ver 3.5.4
  • Добавлен выбор адреса и времени с помощью аналоговых перемычек для передатчика.
  • Удалён режим передачи 3-х пакетов за раз.
  • Оптимизация приёмника.
ver 3.5.5
  • Исправление прошивки приёмника.
  • Добавлена возможность установить коррекцию частоты.
  • Мелкие исправления.
ver RX 4.0.0
  • Новый алгоритм обработки шины 1wire(позволяет обрабатывать практически все варианты поведения шины).
ver RX 4.1.0
  • Переработан алгоритм ответа на сигнал сброса.
ver TX 4.1.2
  • Исправление отключения ацп.

За идею была взята статья с этого сайта.
Так-же огромное спасибо maksland за тестирование прошивок и схемы подключения!
Если есть вопросы/проблемы, или вы нашли баг, пишите в ЛС или ниже в теме.
 

Вложения

Изменено:

maksland

★★★✩✩✩✩
13 Янв 2019
495
116
Omsk
IMG_20211118_153443.jpg IMG_20211118_153957.jpg IMG_20211118_154126.jpg IMG_20211118_184745.jpg IMG_20211118_185055.jpg
устройство после недельного висения на улице, снято для прошивки
корпус PETG, силиконовый уплотнительный шнур с Али, корпус опескадовский (конструктор с сингеверса), платы за вечер сделаны.
 
Изменено:

maksland

★★★✩✩✩✩
13 Янв 2019
495
116
Omsk
не знаю, -60 не могу найти :)
стоит Литий-тионилхлоридная (LiSOCl2)
• Высокая энергоемкость — до 35 Ач у максимальных типоразмеров.
• Малый саморазряд при длительном сроке службы — до 10 лет (менее 1% от номинальной емкости в течение одного года хранения при комнатной температуре +25 °С).
• Долгий срок хранения - более 10 лет (у некоторых производителей).
• Высокое и стабильное напряжение 3.6 В, позволяющее напрямую, либо с использованием регуляторов напряжения, питать различные устройства с номинальным напряжением 3.3 В и ниже.
• Широкий диапазон рабочих температур — от -60 до +85 °С. У ведущих производителей имеются модели, которые могут работать при температуре до +150 °С (в специальном исполнении).
• Высокая нагрузочная способность при импульсной нагрузке вследствие малого внутреннего сопротивления.
• Защита от перегрузки и короткого замыкания с помощью встроенного позистора (PTC).
• Герметичное исполнение и негорючий электролит, как следствие - возможность применения в пожароопасных и взрывоопасных средах.
• Возможность перевозки любым видом транспорта.
• Не требуют обслуживания в процессе эксплуатации.
вчера прошивал и на батарейке было 3.66в (неделю на морозе уже повисели... до -21 градуса но еще не зима )
вроде бы и обычные литевые себя нормально ведут на морозе
 
  • Лойс +1
Реакции: psyx86

maksland

★★★✩✩✩✩
13 Янв 2019
495
116
Omsk

Вложения

Изменено:
  • Лойс +1
Реакции: biakss и Sergo_ST

RMM

✩✩✩✩✩✩✩
12 Дек 2021
12
5
Подскажите, фьюзы для прошивки какие ? Тут про них нигде ни слова не написано...
 

maksland

★★★✩✩✩✩
13 Янв 2019
495
116
Omsk
в шапке ссылка есть на сайт а там скрины с фьюзами
 
Изменено:

RMM

✩✩✩✩✩✩✩
12 Дек 2021
12
5
Есть у меня часы с термометром, в которых датчик DS18B20. Хотел сделать датчик на выносе по этой схеме. Не получилось. Часы наотрез отказываются видеть эту схему, показывают 0.0.
В чем может быть причина ? Эмулятор не 100% повторяет DS18B20 ?
 

Sergo_ST

★★★★★★✩
15 Мар 2020
915
813
@RMM, шина эмулируется полноценно. В каком виде заливали прошивки (сами компилировали исходники или залили уже собранные бинарники)? Светодиод на приёмнике загорается синхронно с передатчиком? Адрес датчика прописали прежде чем подключать к часам? Подключено точно всё правильно?
 

RMM

✩✩✩✩✩✩✩
12 Дек 2021
12
5
Прошивки залил уже собранные, сам ничего не менял. Светодиоды на передатчике и приемнике мигают. Прежде чем подключать к часам, подал 5 в на схему приемника, включил передатчик, подождал. Потом все отключил, включил приемник в часы, включил передатчик. Не работает...
 

Sergo_ST

★★★★★★✩
15 Мар 2020
915
813
@RMM, на шине датчика в часах был установлен резистор подтяжки 4,7кОм? R7 устанавливали? Что за часы(есть исходный код прошивки)?
Резисторы на PB5 установлены?
 

RMM

✩✩✩✩✩✩✩
12 Дек 2021
12
5
Резистор R7 поставил. Часы самодельные частично. Они на светодиодной матрице 128х64 светодиода и контроллере бегущих строк. Прошивки этого контроллера у меня нет. Контроллер Onbon bx-6ql.
 

Вложения

RMM

✩✩✩✩✩✩✩
12 Дек 2021
12
5
На PB5 10 ком поставил и в приемнике, и в передатчике
 

Sergo_ST

★★★★★★✩
15 Мар 2020
915
813
@RMM, если с часов не отключали ничего кроме датчика температуры, то R7 ставить не нужно, из-за слишком сильной подтяжки как раз может не работать шина. Попробуйте убрать R7.
 

RMM

✩✩✩✩✩✩✩
12 Дек 2021
12
5
Хорошо, попробую !
Еще раз уточните, как правильно подключать, чтобы адрес прописался ? Сначала включить, не подключая шину ?
 

Sergo_ST

★★★★★★✩
15 Мар 2020
915
813
Избыточное цитирование. Отредактируй или сообщение будет удалено
@RMM,
Синхронизация адреса датчика с приёмником:
  • Выключить передатчик и приёмник.
  • Отключить приёмник от шины 1wire.
  • Включить приёмник.
  • Включить передатчик.
  • Через 1,5сек светодиоды приёмника и передатчика должны загореться - адрес прописан.
Да, шину данных нужно отключить от часов на время записи адреса.
Вряд-ли в этих часах используется адресация, скорее всё же проблема в излишней подтяжке или не тот пин подключен к шине данных часов.
 

RMM

✩✩✩✩✩✩✩
12 Дек 2021
12
5
PB3 и PB4 у меня висят в воздухе. Это какая частота передачи показаний получается ?
 

Sergo_ST

★★★★★★✩
15 Мар 2020
915
813
@RMM, 60 мин. Но при первом включении передатчика через 8 секунд отправятся.
 
  • Лойс +1
Реакции: Inan

RMM

✩✩✩✩✩✩✩
12 Дек 2021
12
5
Резистор подтяжки в приемнике убрал, но увы не помогло. Жаль, если придется датчик проводом тянуть...

При отключенной шине от часов и при включении приемника светодиоды моргают однократно. Это говорит о записи адреса или нет ? Или на приемнике светодиод как-то по-другому должен загореться ?
 

Sergo_ST

★★★★★★✩
15 Мар 2020
915
813
@RMM, да всё верно, однократно как и при передаче данных. Отписал в лс.
 

maksland

★★★✩✩✩✩
13 Янв 2019
495
116
Omsk
а что адаптировали ? в чем особенность была ?
тоже такие часы захотел :) хотя нет...дорогой экран :(