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 изначально не работал).

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. 28th, 2026 03:26 am
Powered by Dreamwidth Studios