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

Sergo_ST

★★★★★★✩
15 Мар 2020
821
745
Прошивки для радиоудлинителей 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
  • Переработан алгоритм ответа на сигнал сброса.

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

Вложения

Изменено:

samand587

★✩✩✩✩✩✩
31 Май 2021
77
20
Здравствуйте! Что должно стоять на плате приемника вместо R7 при наличии подтягивающего резистора на плате часов? У меня на плате часов стоит по схеме 3,3 кОм. И почему то на передатчике диодик вспыхивает в определенные интервалы, а на плате приемника через раз или совсем не работает.
 

Sergo_ST

★★★★★★✩
15 Мар 2020
821
745
Если подтяжка шины есть на плате устройства, то на место R7 устанавливать ничего не нужно.
Если на приёмнике не загорается светодиод во время передачи, значит слабый сигнал или много шумов. Если у вас радиомодуль приемника тот что вы показывали ранее, то не удивительно.
 

Тохен69

✩✩✩✩✩✩✩
14 Ноя 2019
1
0
Внимание! Перед прошивкой соединения обязательно полностью отключите его радиомодуль для выхода из строя!
Наверно, при вставке предложения произошла замена слов, типа как по Т9?: "его радиомодуль" и "для выхода из строя"
 

samand587

★✩✩✩✩✩✩
31 Май 2021
77
20
.... радиомодуль приемника...
Все рекомендации выполнил, повторно прошил МК, проверил фьюзы, повторно промыл плату приемника- данные не принимаются. Попробовал другой приемник- ничего не меняется. Данные с передатчика отправляются, приемник молчит. Куда копать, Х.З.! А ведь сразу после пайки все работало!
 

Вложения

Sergo_ST

★★★★★★✩
15 Мар 2020
821
745
Всё как и раньше, внимательно проверяйте пайку и соединение пинов. Если шина 1wire отвечает - значит с мк и прошивкой всё норм.
 

samand587

★✩✩✩✩✩✩
31 Май 2021
77
20
А какие отличия в прошивках от прошивок с сайта https://sxem.org/2-vse-stati/21-termometry/216-radio-udlinitel-emulyator-datchika-ds18b20 ?

З.Ы. Это у меня не первый опыт использования таких модулей приемопередатчиков. До этого повторял два вида часов с получением данных с улицы- заводились с пол пинка. Чего здесь то не хватает?
 

Sergo_ST

★★★★★★✩
15 Мар 2020
821
745
Наша написана с нуля и имеет расширенный функционал. На сайте более простой вариант и без исходников.
Если все сделано правильно и все железки живые, то проблем не должно быть.
 

maksland

★★★✩✩✩✩
13 Янв 2019
463
105
Omsk
модули нежные, чуть чихнул и всё :) первые спалил быстро программатором (передатчики, хоть и пишут что можно 5в но на самом деле нельзя, на других форумах тоже писали что горят ...наполовину)
так что запитывать максимум 3.6 в
вторую партию брал тут и тут и старался очень аккуратно с ними работать, проблем не было
но есть вероятность что не рабочие положат, тем более сейчас ... продают откровенную отбраковку
 
Изменено:
  • Лойс +1
Реакции: Sergo_ST

fjiybr3

✩✩✩✩✩✩✩
23 Май 2020
58
4
Украина
samand587
Данные с передатчика отправляются, приемник молчит
.
Я менял ATtiny13A с другой ПАРТИИ??? и всё Ок. в передатчике работает , а в приёмнике нет.
 

samand587

★✩✩✩✩✩✩
31 Май 2021
77
20
У меня передатчик с напряжением питания 3-12 В.. Залил прошивки от Soir . Передатчик свое отрабатывает, а вот диодик на приемнике стал гореть постоянно. Видать у меня с контроллером на приемнике какой то не порядок. Буду менять.
 

maksland

★★★✩✩✩✩
13 Янв 2019
463
105
Omsk
там у них на форуме прошивки посвежее есть но тоже сильно проблему не решает.
 
  • Лойс +1
Реакции: samand587

samand587

★✩✩✩✩✩✩
31 Май 2021
77
20
Ну и далее полный ступор! Поменял контроллер на приемнике, прошивка прошла успешно, а работать не хочет! Даже синхронизация не проходит. Пробовал менять модуль передатчика на заведомо исправный- не помогает. Чего не хватает- Х.З.!

З.Ы. Прошивки стоят с этого сайта.
 

Sergo_ST

★★★★★★✩
15 Мар 2020
821
745
Прошивку заливаете с гит-хаба сразу бинарником? Шина 1wire поднимается??
 

Sergo_ST

★★★★★★✩
15 Мар 2020
821
745
@fjiybr3, Скорее всего попался брак/перемаркировка. По поводу дальности, всё зависит от конкретных модулей и шумов вокруг. Как и писали на форуме по вашей ссылке, на приём может влиять даже работающий мк рядом с модулем приёмника. Поэтому нужно его максимально от всего экранировать, в том числе и по питанию.

@samand587, Подключить к устройству с поддержкой датчика DS18B20 или запустить на любой ардуинке пример для работы с этим датчиком. Если все хорошо, приемник должен отвечать на сигнал ресет и отправлять температуру 125(нет связи).
 

fjiybr3

✩✩✩✩✩✩✩
23 Май 2020
58
4
Украина
Sergo_ST
Скорее всего попался брак/перемаркировка.

Одна итаже МК в передатчике работает, а в приёмнике нет не мигает хотя ошибку (125) выдаёт. Поменял МК с другого магазина всё ок. Те которые не работают в приёмнике я ставлю в передатчик. Шумы наводки понятно, просто МК полезный сигнал не принимает (чувствительность ножки).
 
Изменено:

Sergo_ST

★★★★★★✩
15 Мар 2020
821
745
Странно... Похоже на то, как будто флаг прерывания портов не поднимается. Если шина поднялась значит с фьюзами всё ок, тк 1wire критичен к таймингам...
Попробуйте скомпилировать прошивку приемника на версии ядра 1.5 и залить в тот мк, который не работал в качестве приёмника.
 

fjiybr3

✩✩✩✩✩✩✩
23 Май 2020
58
4
Украина
на версии ядра 1.5??? Версия MicroCore 1.5 вы это имеете в виду, сылочку пожалуйста.
 

Sergo_ST

★★★★★★✩
15 Мар 2020
821
745
В менеджере плат можно выбрать версию microCore. Вы устанавливали через менеджер плат или вручную?
 

samand587

★✩✩✩✩✩✩
31 Май 2021
77
20
Подключить к устройству с поддержкой датчика DS18B20..... Если все хорошо, приемник должен...
Разобрал часы и подключил приемник. На табло вижу цифру 80(стоит прошивка от fjiybr3 ). Получается приемник исправен. Я заметил, что на плате передатчика диодик вспыхивает и при отсутствии самого модуля передатчика. Как то можно проверить работу передатчика или только заменой всего и вся?

.
 

Sergo_ST

★★★★★★✩
15 Мар 2020
821
745
Светодиод объединен с пином EN, поэтому и вспыхивает без радиомодуля.
Можете соединить приемник и передатчик без радиомодулей напрямую. Соединив пины дата и массы. Напряжение питания приемника и передатчика должно быть одинаковым.
 

Sergo_ST

★★★★★★✩
15 Мар 2020
821
745
Чтобы проверить понимают ли мк друг друга, если реакция будет - значит проблема точно в радиомодулях.
И поставьте прошивку приемника с гит-хаба без изменений.