РадиоКот :: Термометр-гигрометр на STM32L
Например TDA7294

РадиоКот >Схемы >Цифровые устройства >Бытовая техника >

Теги статьи: ТермометрГигрометрДобавить тег

Термометр-гигрометр на STM32L

Автор: balmer, balmer@inbox.ru
Опубликовано 06.11.2013
Создано при помощи КотоРед.

 

Добрый день, эта статья является продолжением статьи Термометр-Гигрометр на ATMega8

По функциональности этот вариант ничем не отличается от предыдущего.Так же показывает температуру и влажность. Запоминает данные во flash памяти. Но, внешняя flash уже не нужна. Достаточно встроенной в процессор. Выделил 96 КБ памяти под данные. Этого хватает на 96 дней, при записи результатов каждые 6 минут.

Напомню сначала недостатки варианта на ATmega8

- высокий ток потребления (порядка 180 мка)
- чтобы посмотреть результаты надо нажимать на кнопку
- медленное общение с компьютером через USBAsp

Вариант на STM32L лишен всех этих недостатков. Среднее потребление порядка 30 мка. 15 мка в режиме сна и раз в 6 минут просыпаемся на 2 секунды для считывания данных при потреблении 2.5 ма. Результаты постоянно выводятся на LCD экран. Общение с компьютером происходит через USB разъем.

Вариант на STM32L получился немного дешевле.
Процессор STM32L152RBT6 - 155 руб
Датчик AM2302 - 130 руб
LCD экран WDN0336-NBG-#00 - 50 руб
Остальное - это мелочевка и суммарно стоит меньше 100 руб.


 

У вышеуказанных деталей есть лишь минимальная обвязка - низкочастотный кварц, чтобы считать время. Высокочастотный, чтобы связываться по USB. Транзистор, чтобы отправлять AM3202 в спячку. Диоды в питании, чтобы на STM32 не было излишнего напряжения. Остальное - пассивные компоненты - резисторы и конденсаторы.

Диоды в питании - это нормально. Внутри STM32L встроенн отличный стабилизатор напряжения. Так что основаня функция диодов - чтобы на процессор подавалось меньше 3.6 V питающего напряжения.

Внешний вид платы.

Собрал пару штук, чтобы интеллектуальные усилия не пропадали даром. И еще пару соберу, чтобы знакомым подарить. Постепенно перехожу на детальки формата 0603 (на этой схеме конденсаторы на 100 nF и 22 pF). Паять их ничуть не сложнее, а места занимают меньше и упрощают разводку платы.

Обратите внимание на разброс показаний датчиков, это нам примерно говорит о их точности. По даташиту у AM2302 разброс 4% влажности и 1 градус температуры.

Интерфейс с компьютером

Скрипты для общения с девайсом лежат в папке graph. После сборки и прошивки устройства необходимо выполнить пару действий. Подключаем по USB кабелю к компьютеру и запускаем из командной строки:
python usb_commands.py set_name your_device_name

где your_device_name - любые латинские буквы и цифры для идентификации датчика.

после этого запускаем
python main.py
и устанавливаем время устройства.

После этого устройство готово к работе. Через несколько часов можно будет считывать данные. Запускаем опять python main.py.
А дальше уж надеюсь разберетесь в графическом интерфейсе.

Вот пример изменения температуры одного из дней.

Сначала девайс лежал на кухне. Пики одновременного увеличения влажности и температуры - это включенный чайник или какое другое кашеварение. Потом в 8.20 его перенесли в комнату. Высокая влажность - окно закрыто. Низкая влажность - окно открыто. Вечером в 22.30 опять перенесли на кухню.

Заключение.

AM2302 не очень точный датчик. Но для такой цены он хорош. Цена более современных аналогов (HIH-6130 или Si7005) в интернет магазинах начинается с 500 руб.

Как всегда в аттаче прошивка, исходники и скрипты на питоне для общения девайса с компьютером.


Файлы:
Отраженная плата для LUT
Откомпилированная прошивка
Прошивка, исходники, скрипты, схема


Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

27 6 5
0 1 0

Эти статьи вам тоже могут пригодиться: