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

Sergo_ST

★★★★★★✩
15 Мар 2020
983
830
Прошивки для радиоудлинителей 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(подтяжка должна остаться).
  • Прижать пин PB3 приёмника к земле.
  • Включить приёмник(светодиод будет светиться постоянно).
  • Включить передатчик.
  • Через 1.5 - 3сек светодиод приёмника должен потухнуть - адрес прописан.
  • Выключить приёмник.
  • Убрать прижим к земле пина PB3.
Синхронизация адреса датчика температуры с приёмником:
  • Выключить передатчик и приёмник.
  • Отключить приёмник от шины 1wire.
  • Включить приёмник.
  • Включить передатчик.
  • Через 1.5сек светодиоды приёмника и передатчика должны загореться - адрес прописан.

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

Что нового:
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
516
120
Omsk
надеюсь передатчик прошивали без радиомодуля ? а то я спалил два когда не выпаивал их (после прошивки микросхемы передатчика начинали разогреваться и кушать 100ма) 5в для них смертельно много.
 
  • Лойс +1
Реакции: Sergo_ST

Sergo_ST

★★★★★★✩
15 Мар 2020
983
830
Значит проверяйте ещё раз все соединения и радиомодули. Ошибка 125 говорит о том, что передатчик не выходит на связь. Ранее вы говорили что светодиоды на приёмнике и передатчике мигали синхронно, сейчас перестали?
 

fjiybr3

✩✩✩✩✩✩✩
23 Май 2020
58
4
Украина
Sergo_ST
По новой перепрошил TX и второй с увеличенным тайм-аутом RX
Вкл ТХ два диода синхронно мигают после второго показывает температуру. На часах каждую секунду мигает термометр то показывает температуру то нет. Как датчик каждую секунду то подключают то отключают, не комфортно смотреть. Если перемычки на ТХ стоят то температура обновляется должна каждые 7,5 сек?
 

Sergo_ST

★★★★★★✩
15 Мар 2020
983
830
На часах каждую секунду мигает термометр то показывает температуру то нет.
Вообще пропадает или 0 отображается? С подключенным DS18B20 напрямую(без паразитного питания) такая-же картина?
Если обе перемычки замкнуты на землю то это 7.5мин.
 

fjiybr3

✩✩✩✩✩✩✩
23 Май 2020
58
4
Украина
Совсем пропадает (- - -) как отключен DS18B20 Подключение без паразитного питания по трём проводам (+). (-). (DQ)
Отключил передатчик 30 мин. а на часах температура мигает, ошибка 125 не появляется?
Температуру показывает комнатную ка после второго мигания (правильную)
 

Sergo_ST

★★★★★★✩
15 Мар 2020
983
830
Если подключить DS18B20 напрямую к часам, температура тоже будет мигатать? Ошибка связи 125 появится только после прохождения максимального тайм-аута(~61мин).
 

fjiybr3

✩✩✩✩✩✩✩
23 Май 2020
58
4
Украина
DS18B20 напрямую к часам не мигает, отключаю от часов появляется (- - -) датчика нет
 

Sergo_ST

★★★★★★✩
15 Мар 2020
983
830
Попробуйте эту прошивку приёмника с меньшим тайм-аутом.
 

Вложения

maksland

★★★✩✩✩✩
13 Янв 2019
516
120
Omsk
а при паразитном питании датчика в прошивке это как то отражается ? читал когда то русский даташит на DS18B20 - схема с паразитным питанием жутко привередливая ко многим параметрам. Тем более маловероятно что мы сейчас оригиналы используем. Была как то партия DS c маркировкой белой краской - так в одном термометре без проблем работали а в другом ни в какую .
 

samand587

★✩✩✩✩✩✩
31 Май 2021
93
25
Не могу подобрать фьюзы с первой страницы в программе AVRDUDE 3.3. Может кто подскажет?
 

Sergo_ST

★★★★★★✩
15 Мар 2020
983
830
@samand587, всмысле подобрать? В шапке указаны уже готовые значения фьюзов в HEX.
 

samand587

★✩✩✩✩✩✩
31 Май 2021
93
25
Скажите, пожалуйста, будут ли в проекте работать модули FS1000A и MX-RM-5V ? У модуля FS1000A не пина EN
 

Вложения

Старик Похабыч

★★★★★★★
14 Авг 2019
4,267
1,303
Москва
Такой работать будет, ну если все равно покупать, то лучше выбрать со запаянным на плате кварцем. Эти очень посредственные
 
  • Лойс +1
Реакции: Sergo_ST

samand587

★✩✩✩✩✩✩
31 Май 2021
93
25
При попытке прошить приемник- передатчик программатор выдает ошибку. Странно все это.:cool:
 

Sergo_ST

★★★★★★✩
15 Мар 2020
983
830
Проверяйте подключение(КЗ/Непропай) МК к программатору.
 

samand587

★✩✩✩✩✩✩
31 Май 2021
93
25
С прошивками разобрался. Залил из шапки. Передатчик ставлю как на картинки из шапки, а приемник пока MX-RM-5V . Так как часы долго и нудно разбирать могу ли я проверить работу удлинителя не подключая к часам? Визуально по работе светодиодиков? И в каком положении перемычек минимальный интервал передачи данных - 8Х?
 
Изменено:

Sergo_ST

★★★★★★✩
15 Мар 2020
983
830
Если светодиоды на приёмнике и передатчике мигают синхронно, значит все ок. Для минимального интервала обе перемычки нужно прижать на землю.
 

samand587

★✩✩✩✩✩✩
31 Май 2021
93
25
Подключил передатчик к литиевой батарее 3,7 В. (Тестер показывает 4,0 В). Перемычки прижаты к земле- светодиод горит постоянно. При прошивке и установке фьюзов программа не ругалась. Что можно посмотреть(КЗ и сопли уже смотрел).
 

samand587

★✩✩✩✩✩✩
31 Май 2021
93
25
Адрес прописался, диодики мигают синхронно при включении и через 8 сек. Сколько по времени занимает минимальный интервал?

З.Ы. Займусь разборкой часов
 

Вложения

fjiybr3

✩✩✩✩✩✩✩
23 Май 2020
58
4
Украина
samand587
Я установил на такие часы удлинитель всё работает Ок. Изменил индексацию ошибки(125 - передатчик давно не выходил на связь) на 80 для удобства. На часах вместо 125 высвечивалось 25 неудобно, непонятно.
Спасибо за помощь Sergo_ST
 

Вложения

  • Лойс +1
Реакции: samand587 и maksland