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

Радиоудлинитель датчика температуры DS18B20
Прошивки для радиоудлинителей 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 за тестирование прошивок и схемы подключения!
Если есть вопросы/проблемы, или вы нашли баг, пишите в ЛС или ниже в теме.
 

Вложения

Изменено:

Комментарии

Sergo_ST

★★★★★★✩
15 Мар 2020
1,056
877
Прошивки для радиоудлинителей 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 за тестирование прошивок и схемы подключения!
Если есть вопросы/проблемы, или вы нашли баг, пишите в ЛС или ниже в теме.
 

Вложения

Изменено:

Sergo_ST

★★★★★★✩
15 Мар 2020
1,056
877
@МОРО1986, Это где вы такое значение взяли? Сделайте скрин полученного значения калибровочного байта.
 

vik72

✩✩✩✩✩✩✩
23 Мар 2023
21
4
@Sergo_ST,
Здравствуйте. Спасибо за прошивку с увеличенной раскачкой передатчика, все приёмники, которые раньше даже не ловили, теперь стабильно и без ошибок принимают.

P.S.
А вот скомпилировать что-то не получается, столько ошибок, и чего с ними делать не понятно.
 
  • Лойс +1
Реакции: Sergo_ST

Sergo_ST

★★★★★★✩
15 Мар 2020
1,056
877
@vik72, Нужно установить ядро microCore версии 2.2.0 и выбрать плату attiny13.
 
  • Красота! +2
Реакции: vik72

vik72

✩✩✩✩✩✩✩
23 Мар 2023
21
4
@Sergo_ST,
Приветствую.Спасибо большое за подсказки, хоть и пришлось поломать башку, всё получилось.

Добавлю плату радиодатчика, может кому нибудь поможет.
 

Вложения

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