Емельянов Эдуард Владимирович (eddy_em) wrote,
Емельянов Эдуард Владимирович
eddy_em

Categories:

Термометр из "вольтметра"

Сейчас закончил преобразование "термометра", позволяющего подключить до 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 изначально не работал).

Tags: stm8, термодатчики
Subscribe

  • Qt-creator на нескольких мониторах

    Сижу, значит, пишу код. И внезапно ощущаю нехватку одновременно открытых как минимум четырех кусков кода! А на одном основном мониторе (хоть и 2560…

  • Электронщики поймут

    Для тех, кто придумал бессвинцовку, должен быть отдельный котел со свинцом! (не мое) Reposted from dreamwidth:…

  • Шо, товарищи, facebook и watsapp — тыгыдым?

    Собственно, уже часа 2 с хвостиком не работают. Интересно: это роскомпозор охренел или что? Reposted from dreamwidth:…

promo eddy_em september 3, 12:13 8
Buy for 10 tokens
Уже больше полугода занимаюсь разработкой, вот, наконец-то в мастерских взялись за меня и начали выдавать первые детали. Сегодня сделал тестовую сборку (как обычно, местами пришлось "доработать напильником"): Пока прибор без названия (да и как-то не лезет в голову ничего, у меня нет…
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 6 comments