eddy_em: (Костерок)
[personal profile] eddy_em
Сейчас закончил преобразование "термометра", позволяющего подключить до 14 DS18x20 к трехразрядному китайскому "вольтметру" на STM8. Код можно посмотреть здесь.
Переделка совсем несложная (выпаиваются несколько деталюшек, а один резистор перепаивается с одного места в другое, если под рукой нет 0603 на 4.7кОм — с 10-килоомным при коротких проводах все тоже вполне работает):
15.04.23_22:01:26
Схемка переделки


Если просто подключить один DS18B20 или DS18S20 (второй от первого вообще ничем не отличается, точность такая же поганая, зато людям не пудрят мозг, впаривая липовые 12 бит...), то на экранчике будет отображаться считанная температура (опрос термометра 1 раз в секунду). Если поочередно "запомнить" ROM нескольких датчиков и потом их все на одну линию повесить, будет поочередно отображаться номер датчика (индикация в течение 0.3с) и температура (индикация в течение 0.7с).
Для управления используются три кнопки:

Store new ROM
сохранить ROM подключенного датчика (обязательно убедитесь, что подключен только один датчик!). При нажатии кнопки на экране высветится либо номер, под которым в дальнейшем будет отображаться данный датчик, либо код ошибки;

Delete nonexistant
удалить ROM неподключенных датчиков;

Delete all
полностью очистить все сохраненные ROM.


Вот такие коды ошибок могут отображаться на экранчике:

---
отображается в самом начале: подготовка к измерениям;

e00
("по нулям") - не найдено ни одного датчика;

eab
("ABsent") - датчик с данным номером отсутствует, либо во время чтения произошла ошибка;

eee
("Eeprom Error") - волшебным образом EEPROM была "сама собой" очищена;

eff
("FFull" ☺) - EEPROM кончилась (уже сохранено 14 датчиков).



Обращаю внимание, что иногда могут отображаться совершенно бредовые значения температур, если возникают помехи или имеется плохое подключение (у меня периодически 85°C отображалось, пока на соплях вешал). Это происходит из-за того, что я так и не понял, как простым способом реализовать наркоманский алгоритм проверки CRC DS18x20.

Вот — пятисекундное видео, демонстрирующее отображение температур с двух датчиков (не обращайте внимания на кривое отображение двойки: почему-то на младшем разряде сегмент E изначально не работал).

Date: 2015-04-23 10:14 pm (UTC)
From: [identity profile] vladikoms.livejournal.com
Неплохо, как понимаю, эти вольтметры у китайских друзей за недорого продаются? Еще было бы здорово сделать полноценный регулятор температуры с выходными реле и возможностью задания уставок. Интересно - какая максимальная дальность связи получится если для подключения датчиков использовать обычный плоский кабель?

Date: 2015-04-23 10:39 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
Да, если на том же ибее покупать отдельно компоненты "вольтметра", получится дороже. А так — кренка, мелкоконтроллер и экранчик за 60..150р (в зависимости от разрядности экранчика).

Для полноценного регулятора эта фитюлинка уже не годится: напаивать придется много, проще с нуля на STM32F030 каком-нибудь наляпать. А вообще, кстати, есть и китайские "термостаты" на STM8 (написание прошивки для такого термостата будет моим следующим занятием). В оригинальной прошивке просто отображается температура и дается возможность установить температуру, при достижении которой будет щелкать реле. Как только температура на полградуса падает, реле отрубается. Т.е. логика явно расчитана на какие-то системы охлаждения. Я же хочу туда еще одну точку добавить + регулировку гистерезиса. Тогда можно будет и на нагрев использовать. Ну и показометр (10-килоомный терморезистор) заменить хотя бы на DS18 — всяко точность повыше будет.

Про дальность по-разному писали. У некоторых чуть ли не 100 метров было, но лучше все-таки на большие расстояния передавать по соответствующему протоколу (поставить конвертер уровней и RS-485 забульбенить).

))

Date: 2017-01-25 08:16 pm (UTC)
From: [identity profile] Артём Германович (from livejournal.com)
Эдуард, подскажите. Имею такой же по маркировке вольтметр, но схема совершенно другая.https://vk.com/photo11040332_456239120?rev=1
Можете подсказать как его переделать в термометр?

Re: ))

Date: 2017-01-25 09:45 pm (UTC)
From: [identity profile] eddy-em.livejournal.com
Да так же: брать даташит на него, узнавать, чем этот микроконтроллер прошивается, полностью реверсить схему и перепрограммировать.

Re: ))

Date: 2017-01-26 07:45 am (UTC)
From: [identity profile] Артём Германович (from livejournal.com)
http://i90.fastpic.ru/big/2017/0126/93/7915d07ab8affd60329150d6d64bd293.png
http://i90.fastpic.ru/big/2017/0126/22/735596c274d00774758bca7ce2516922.jpg
Микроконтроллер такой же как и в Вашей статье. Я не думал, что придётся что-то прошивать( Я в этом деле чайник. Надеялся просто выпаять несколько элементов и припаять другие( Может посмотрите мою схему и что с ней можно придумать?

October 2025

S M T W T F S
   1234
567 89 1011
121314 15161718
19202122232425
2627 28293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 27th, 2026 11:47 pm
Powered by Dreamwidth Studios