Термостат на LM75AD [v2.0]

Отец попросил сделать термостат для погреба, чтобы держать температуру в определенных пределах. Я начал раскуривать протокол 1-wire и после первого же часа он взорвал мне мозг. Поэтому выбор пал на LM75AD.
Все довольно просто: мега8, LM75AD, 3 кнопки, реле и дисплей 8х2. Общаться с этим термодатчиком, в отличие от далласа, проще некуда: по I2c кидаем ему адрес устройства, затем 0x00, после этого тянем с него 2 байта. На написание функции преобразования этих двух байт в нормальную температуру я убил целый день))
На дисплее отображаются текущая температура и состояние обогревателя(греет-не греет). Кнопками задаются пределы термостатирования. Если температура ниже нижнего предела — включаем обогреватель, если выше верхнего — выключаем. Если при включении термостата температура оказалась между пределами — подогреваем до верхнего порога.


Версия 2.
Во второй версии немного перерисовал плату, и заменил дисплей на 1601-TMI. (красиво же светится =D). Была добавлена программная коррекция температуры отдельным пунктом, кномки заменены на SMD для удобства выноса термодатчика, и (уряя!) купил и запилил нормальный корпус. Обновленные прошивка и плата прикреплены, фоточки:клац, клац, клац, клац. и клац.
P.S. Разобрался с организацией памяти в дисплее, теперь слово «коррекция» пишется полностью. Погрешность термодатчика на данный момент не была выше 0.6 градуса (примерно, в сравнении с обычным бытовым термометром), а время адаптации к среде — ок. 40 минут.
  • +1
  • 25 сентября 2011, 11:59
  • enq
  • 2
Файлы в топике: Плата.lay, termostat_m8.zip

Комментарии (30)

RSS свернуть / развернуть
по моему, чтение описание протокола i2c, а потом последующая реализация его на кастрированном i2c на меге способны взорвать мозг похлеще чем 1-wire
0
На меге же нормальный аппаратный I2C, о чем вы?
0
  • avatar
  • enq
  • 25 сентября 2011, 12:15
Раскуривать весь набор коллизий в i2c действительно напряжное дело. Но все зависит от проекта. Если у вас один МК и один зверь с i2c, то совсем просто — практически никаких коллизий. Если в шине сидят другие звери, то протокол общения можно придумать таким, чтобы исключить добрую половину коллизий (в готовых примерах для МК остаются закомментированными), например, один мастер и все подчиненные без права самостоятельно инициировать передачу. Более того, чаще такой протокол и применяется в большинстве случаев, но чтобы i2c виделся более привлекательным (продуманным) для сертификации, в него надо было внедрить универсализм — решение всех возможных ситуаций.
0
  • avatar
  • DVF
  • 25 сентября 2011, 13:04
интересна реализация подогревателя в погребе, у меня тоже есть проблема со «сладкой» картошкой по весне
0
масляный радиатор через реле. Сфоткаю плату с реле, как только найду куда я ее дел))
0
  • avatar
  • enq
  • 25 сентября 2011, 12:20
Спасибо за статью, как раз на неделе приехали семплы 75AD от максима. Как раз собирался делать климат-контроль дома, а тут ваша статья.
0
  • avatar
  • Rh1N0
  • 25 сентября 2011, 12:29
Тащемта, LM75A может самостоятельно изображать из себя термостат.
we.easyelectronics.ru/part/termometr-lm75a---opisanie.html
0
Читал. Но уже после того, как запилил свое.
0
  • avatar
  • enq
  • 25 сентября 2011, 13:25
Кул. +1.
0
  • avatar
  • _YS_
  • 25 сентября 2011, 13:47
Тока при таком функционале достаточно термистора, компаратора/ОУ, светодиода и десятка резисторов. Проще, дешевле, быстрее в изготовлении. Схему можно подсмотреть в том же CT-96.
0
  • avatar
  • Vga
  • 25 сентября 2011, 13:53
А как же экранчег? Любая вещь становится лучше с экранчегом :)
0
А уж с тачскрином…
0
Еще можно wi-fi с вебмордой. А то ведь захочется мне, во время отдыха на море, узнать температуру в погребе… :)
0
О да!
0
Но ведь надо поддерживать отечественного производителя. Поставим туда модуль ГЛОНАСС…
0
Думаю поддержать таким способом отечественного производителя не получится, ведь эти орбитальные аппараты собраны во многом на импортных компонентах.
0
Ну не УАЗик же туда ставить? :)
Уж лучше ГЛОНАСС
0
Какая разница на чем оно сделано. Главное кому башляют потребители услуги. А башляют они роскосмосу или кто там глонасс запускает. Так что однозначно чипу быть!
0
Если даже центробанк фактически не принадлежит государству, то что говорить о роскосмосе…
0
где тач скрин можно прикупить?
0
А и нафиг он нужен. Интерфейс в сеть умного дома еще к месту, а на каждый термостат по экранчику ставить — весь дом как елочка перемигиваться будет.
0
  • avatar
  • Vga
  • 25 сентября 2011, 14:37
Устройство делалось по четко поставленному ТЗ, никакого умного дома там не планировалось. Хотел сделать на 7-сегментниках, но чето не заладилось.
0
  • avatar
  • enq
  • 25 сентября 2011, 14:45
ставить подстроечник прямо на экран, хорошая идея. спасибо
+1
прошивка обновлена, исправлен косяк с догревом до максимума при включении девайса.
0
  • avatar
  • enq
  • 25 сентября 2011, 22:26
В CodeVisionAVR есть готовая библиотека для работы с 1wire, я, конкретно, подключал датчик температуры DS18B20. Написать часть кода, отвечающую за получение температуры от датчика, заняло минут 5. Остальное время ушло на индикацию.
0
знаю я про этот ваш кодевижен. От отчаяния даже скачал его, когда разирался однопроводом. Но посмотрев на него, мне стало оооой как влом привыкать к интефейсу, учить другой диалект Сей… и самая железная отговорка: даллас мне не нужен) LMка прерасно справляется)
0
  • avatar
  • enq
  • 27 сентября 2011, 22:20
От отчаяния даже скачал его, когда разирался однопроводом. Но посмотрев на него, мне стало оооой как влом привыкать к интефейсу, учить другой диалект Сей…
Ндааа…
Впрочем, AFAIK, кодвижн то еще говно.
Кстати, о говне. Компиляторы mikroElectronica тоже имеют библиотечку для 1Wire. И компилятор С у них есть. Хотя качество этих компилеров такое, что ИМХО единственный заслуживающий хоть какого-то внимания компилер — это mikroPascal. С можно и более вменяемый найти.
0
  • avatar
  • Vga
  • 27 сентября 2011, 22:24
А где файлы, исходники, чертежи и платы?
0
  • avatar
  • gadz
  • 12 октября 2011, 10:42
Во вложениях жеж.
0
Большое обновление!
+1
  • avatar
  • enq
  • 03 ноября 2011, 23:51
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.