![]() |
![]() |
|||||||||||||||
Термометр-гигрометр на STM32L
Автор: balmer, balmer@inbox.ru
Добрый день, эта статья является продолжением статьи Термометр-Гигрометр на ATMega8 По функциональности этот вариант ничем не отличается от предыдущего.Так же показывает температуру и влажность. Запоминает данные во flash памяти. Но, внешняя flash уже не нужна. Достаточно встроенной в процессор. Выделил 96 КБ памяти под данные. Этого хватает на 96 дней, при записи результатов каждые 6 минут. Напомню сначала недостатки варианта на ATmega8 - высокий ток потребления (порядка 180 мка) Вариант на STM32L лишен всех этих недостатков. Среднее потребление порядка 30 мка. 15 мка в режиме сна и раз в 6 минут просыпаемся на 2 секунды для считывания данных при потреблении 2.5 ма. Результаты постоянно выводятся на LCD экран. Общение с компьютером происходит через USB разъем. Вариант на STM32L получился немного дешевле. У вышеуказанных деталей есть лишь минимальная обвязка - низкочастотный кварц, чтобы считать время. Высокочастотный, чтобы связываться по USB. Транзистор, чтобы отправлять AM3202 в спячку. Диоды в питании, чтобы на STM32 не было излишнего напряжения. Остальное - пассивные компоненты - резисторы и конденсаторы. Диоды в питании - это нормально. Внутри STM32L встроенн отличный стабилизатор напряжения. Так что основаня функция диодов - чтобы на процессор подавалось меньше 3.6 V питающего напряжения. Внешний вид платы. Собрал пару штук, чтобы интеллектуальные усилия не пропадали даром. И еще пару соберу, чтобы знакомым подарить. Постепенно перехожу на детальки формата 0603 (на этой схеме конденсаторы на 100 nF и 22 pF). Паять их ничуть не сложнее, а места занимают меньше и упрощают разводку платы. Обратите внимание на разброс показаний датчиков, это нам примерно говорит о их точности. По даташиту у AM2302 разброс 4% влажности и 1 градус температуры. Интерфейс с компьютером Скрипты для общения с девайсом лежат в папке graph. После сборки и прошивки устройства необходимо выполнить пару действий. Подключаем по USB кабелю к компьютеру и запускаем из командной строки: где your_device_name - любые латинские буквы и цифры для идентификации датчика. после этого запускаем После этого устройство готово к работе. Через несколько часов можно будет считывать данные. Запускаем опять python main.py. Вот пример изменения температуры одного из дней. Сначала девайс лежал на кухне. Пики одновременного увеличения влажности и температуры - это включенный чайник или какое другое кашеварение. Потом в 8.20 его перенесли в комнату. Высокая влажность - окно закрыто. Низкая влажность - окно открыто. Вечером в 22.30 опять перенесли на кухню. Заключение. AM2302 не очень точный датчик. Но для такой цены он хорош. Цена более современных аналогов (HIH-6130 или Si7005) в интернет магазинах начинается с 500 руб. Как всегда в аттаче прошивка, исходники и скрипты на питоне для общения девайса с компьютером.
Файлы: Все вопросы в Форум.
Эти статьи вам тоже могут пригодиться: |
|
|||||||||||||||
![]() |
![]() |


![]() |
![]() |
|||
|
||||
![]() |
![]() |