Проекты. Схема барометра для измерения давления Скетч. Подключение мотора через транзистор

Главная / Вопросы-ответы

Очередной проект продвинутого показометра, включающий в себя измерение температуры, атмосферного давления, влажности воздуха и отсчет времени с календарем. В общем в него включены все мои наработки по работе с датчиками за все время увлечения микроконтроллерами, да и все накупленное добро нужно куда-то применить:) В итоге должен получится усовершенствованный логгер температуры, первую версию которого я забросил. Ну это позже, а сейчас приведу описание этой платы и тестовый код для проверки работоспособности напичканных туда датчиков и микросхем.

Схема устройства ниже (нажмите на рисунок для увеличения), конвертер USB-UART на показан схемотически, схема в нем стандартная и уже описана здесь.

Сердцем схемы служит микроконтроллер ATMega64 фирмы Atmel, работающий от внешнего кварца на 16 МГц. Отсчитыванием времени занимается микросхема часов реального времени , я уже имел с ней дело и поэтому пошел по проверенному пути.

Для измерения температруы и влажности применен датчик DHT11, хоть и китай чистейшей воды, но показания выдает вполне удовлетворительные. У меня в заначке лежит еще SHT21, но тогда повторяемость схемы сильно упадет, потому как достaть его сложней и по стоимости он выйдет как вся схема в сборе.

Следующий датчик BMP085 - занимается измерениями атмосферного давления. Помимо этого он умеет измерять и температуру, так что можно будет с него дублировать показания.

Так как в дальнейшем планируется превратить устройство в логгер, предусмотрено место для подключения внешней EEPROM памяти 24LCxx. Для сопряжения 3х вольтового датчика давления использована зарекомендовавшая себя схема согласования на полевых тарнзисторах.

Все элементы (за исключением двух резисторов) находятся на верхнем слое, на нижнем разведены дороги которые не уместились на верху. Интересного там мало поэтому фото не привожу.

Чтобы иметь возможность напрямую подключать утсройство к компьютеру (к примеру, для того чтобы скинуть накопленные данные) на плате установлен преобразователь USB-UART на микросхеме FT232RL. Так же через этот преобразователь можно загружать в микроконтроллер прошивку, если предварительно зашить в микроконтроллер загрузчик (Bootloader). Как это сделать я писал ранее.

Для подключения внешних датчиков, навсякий случай предусмотрены выводы с портов PA0-PA3. А также выведены контакты SPI-интерфейса, на случай если захочется подключить и организовать радиоканал.

Тестовый код выводит на экран время и дату с часов DS1307, с возможностью ручной установки (см. видео). На вторую строку выводится информация с датчика влажности DHT11, на третью - с датчика давления BMP085. Как видите китаец DHT не уступает по показаниям температуры своему немецкому собрату BMP085 от Bosh. Кстати, китаец тоже умеет выдавать показания с десятыми долями градуса, позже добавлю в код эту функцию.

И напоследок видео, демонстрирующее возможность ручной установки даты и времени.

У здоровых людей смена погоды не оказывает особого влияния на их самочувствие, а вот метеозависимые люди на любую смену погоды или атмосферного давления, реагируют очень болезненно.
Предлагаемый в статье барометр-сигнализатор предназначен для информирования метеозависимых людей в режиме реального времени о текущем значении атмосферного давления, выходе значения атмосферного давления за установленные границы и его резких скачках.
Внешний вид устройства показан на Рисунке 1.

Рисунок 1. Внешний вид устройства

Пользователь самостоятельно задает граничные значения - минимальный и максимальный пороги.
В случаях если атмосферное давление превысит максимальный порог или опустится ниже минимального порога, то устройство будет подавать прерывистые звуковые сигналы и световые сигналы «Порог».
После пятикратного повтора звуковых сигналов звук отключается, при этом световой сигнал будет подаваться до возврата значения атмосферного давления в заданные границы.

Пользователь задает величину контролируемого скачка атмосферного давления за устанавливаемый интервал времени.
В случаях если атмосферное давление в заданный интервал времени отклонилось на величину превышающую контролируемый скачок, то устройство будет подавать прерывистые звуковые сигналы и световые сигналы «Скачок».
После пятикратного повтора звуковых сигналов звук отключается, при этом световой сигнал будет подаваться до возврата значения атмосферного давления в условия, когда скачок считается неконтролируемым.
Значения атмосферного давления представлены в устройстве в «мм рт. ст.».

Демонстрационный ролик

Принципиальная схема устройства.

Схема электрическая принципиальная устройства показана на рисунке (Рисунок 2).
Устройство собрано на микроконтроллере ATmega8.
Резистор R1 и конденсатор C3 обеспечивают аппаратный сброс МК при подаче питания.
Конденсаторы C2 и C1 защищают цепи питания от высокочастотных помех и бросков питания.

Значение атмосферного давления поступает от датчика BMP1 (GY68 BMP180).
Управление датчиком давления осуществляется по интерфейсу TWI (I2C).
Входы датчика подтянуты к напряжению питания резисторами R8 и R10.

Для отображения информации используется жидкокристаллический экран Nokia 5110. На экране отображается информация о текущем атмосферном давлении, а также параметры настройки устройства.
Оперативная индикация состояния атмосферного давления осуществляется с использованием светодиодов VD1..3 («Норма», «Порог», «Скачек»).
Звуковая сигнализация осуществляется с помощью усилителя низкой частоты на транзисторах VT1..2 и громкоговорителя SP1. Громкость звучания может быть отрегулирована с помощью переменного резистора R5.

Настройка устройства осуществляется с использованием кнопок SA2(«Установка»), SA3(«+»), SA4(«-»).
При нажатии на кнопку SA5(«Экран») отображается главный экран с текущим значением атмосферного давления.

Внимание! Фьюзы для настройки МК: HIGH=0xD9, LOW=0xE1.

Рисунок 2. Схема электрическая принципиальная

Программное обеспечение.

Программа для МК написана на языке Си в среде AtmelStudio (Version 7.0.1006).
Код программы приведен в Приложении (SignalBarometer.rar Архив проекта Atmel Studio 7 на Си).
В целях снижения энергопотребления устройства применен метод «засыпания» МК в режиме «power-save». При этом потребляемый ток в режиме сна уменьшается до 20мкА.
По расчетам это позволяет использовать две батареи типа АА по 1.5 Вольт в течение 4 месяцев.
Для пробуждения МК из режима «power-save» используется внутренний асинхронный таймер-счетчик №2, который работает постоянно.
Задающий генератор таймера счетчика использует кварцевый резонатор Y1 с частотой резонанса 32768Гц.

Таймер-счетчик №2 настроен так, что каждые 8 секунд происходит его переполнение и вызов прерывания, которое «будит» МК.
МК после пробуждения от таймера-счетчика №2 выясняет не прошло ли 10 минут с предыдущего пробуждения. Если нет, то МК выдает световой сигнал «Норма», «Порог» или «Скачок» в зависимости от условия, сложившегося после предыдущего измерения, и снова засыпает на 8 секунд.
Если с момента предыдущего измерения прошло 10 минут, то МК подает команду датчику давления на проведение измерений, получает ответ от датчика, обрабатывает данные, сравнивая полученное значение с пороговыми значениями или условиями фиксации скачка, выдает световой сигнал «Норма», «Порог» или «Скачок» и звуковой сигнал, если это необходимо. И снова «засыпает» на 8 секунд.

Вторым источником пробуждения МК является внешнее прерывание на входе INT1, которое возникает при нажатии на кнопку «Экран».
МК, пробудившись и выяснив что его «разбудила» кнопка «Экран», включает жидкокристаллический дисплей Nokia 5110 и высвечивает на нем текущее значение атмосферного давления и другую информацию.
Экран будет отображать информацию до момента отпускания кнопки «Экран». После отпускания кнопки «Экран» МК выключает дисплей путем выдачи ему команды «power-down», затем МК «засыпает» сам.

Третьим, и последним, источником пробуждения МК является внешнее прерывание на входе INT0, которое возникает при нажатии на кнопку «Установка».
МК, пробудившись и выяснив что его «разбудила» кнопка «Установка», включает жидкокристаллический дисплей Nokia 5110 и высвечивает на нем параметры настройки устройства.
Повторное нажатие на кнопку «Установка» приводит к перемещению курсора на следующий параметр. Нажатие кнопок «+» и «-» приводит к изменению значения параметра, на котором установлен курсор.
После нажатия кнопки «Установка» на последнем параметре МК выключает дисплей и «засыпает» до очередного пробуждения.

Конструкция устройства.

Устройство выполнено в корпусе распределительной коробки «Tuco 79х79х32, для открытой проводки, цвет белый (65004)»(Рисунок 3).

Рисунок 3. Коробка распределительная Tyco (65004).

Плата выполнена на одностороннем фольгированном стеклотекстолите. Размер платы 72х72мм. Расположение деталей на плате показано на рисунке 4. На плате сверху проложены 9 (!) перемычек. Они выделены разными цветами. Если использовать двухстороннюю печатную плату, то перемычки могут быть преобразованы в дорожки.

Рисунок 4. Плата. Вид сверху.

Разводка печатной платы показана на рисунке 5. Изображение зеркальное.

Рисунок 5. Разводка печатной платы.

Динамик закрепляется на задней стенке корпуса устройства. Компоненты сборки показаны на рисунке 6.

Рисунок 6. Компоненты устройства.

Батареи питания (два элемента типа AA) размещаются в батарейном отсеке в специализированных держателях-кроватках (Рисунок 7).

Рисунок 7. Размещение батареи.

Настройка устройства.

На рисунке 8 показаны органы управления для настройки устройства.
Для входа в режим нажмите кнопку «Установка». На дисплее отобразятся настраиваемые параметры.
Кнопками «+» и «-» установите требуемое значение параметра.
Для перехода к настройке следующего параметра нажмите кнопку «Установка».
Для выхода из режима настройки нажмите несколько раз кнопку «Установка».
Параметры «Верхний <порог>», «Нижний <порог>» «Скачок» задаются в мм рт. ст., «Интервал» измерения скачка задается в часах. .

Рисунок 8. Органы настройки устройства.

Регулировка громкости звукового сигнала осуществляется потенциометром «Громкость». Для регулировки необходимо использовать миниатюрную крестообразную отвертку.
При необходимости может быть установлен потенциометр с выведенной наружу ручкой для удобства регулировки.

Эксплуатация устройства.

После включения устройство готово к работе и сразу производит первое измерение атмосферного давления. При этом экран погашен, а результаты измерения отображаются с помощью светодиодных индикаторов «Норма», «Порог» или «Скачок».
Индикатор, соответствующий результату измерения и анализа, производит пять коротких вспышек каждые 8 секунд.

При переходе от состояния «Норма» в состояния «Порог» или «Скачок» выдается звуковой сигнал. Сигнал звучит на протяжении пяти 8 секундных интервалов, начиная с интервала, следующего за изменением состояния.
Для детальной оценки текущего состояния необходимо нажать и удерживать кнопку «Экран». При этом будет отображаться информация, представленная на рисунке 9:

Текущее атмосферное давление;
. максимальное и минимальное значение давления, измеренного за интервал времени, указанный в настройках;
. величина скачка в мм рт.ст. как разница между величинами, указанными в предыдущем пункте;
. текстовая характеристика результата измерения: НОРМАЛЬНОЕ, ПОРОГ, СКАЧОК.

После нажатия кнопки «Экран» серия звуковых сигналов будет прервана.

Рисунок 9. Органы управления и индикации при эксплуатации устройства.

После отпускания кнопки «Экран» дисплей погаснет, а устройство продолжит работать в штатном режиме, выводя результат измерения и анализа только на светодиодные индикаторы.

Приложение:

SignalBarometer2.dch Схема электрическая в формате DipTrace
SignalBarometer2.dip Печатная плата в формате DipTrace
SignalBarometer.hex Загрузочный файл
SignalBarometer.rar Архив проекта Atmel Studio 7 на Си

Удачи Вам в творчестве и всего наилучшего!

Скачать архив.

По просьбам тех, кто собрал предыдущую конструкцию барометра на PIC 16F684 и датчике давления BMP180, публикуем статью (продолжение). Данное устройство позволяет отображать одновременно и температуру и давление. Для этого в конструкции был применен индикатор на базе микросхемы MAX7219 которая позволяет работать с матрицей 8Х7, применение данного индикатора позволило сократить число задействованных портов микропроцессора.

Датчик температуры применен самый распространенный — 18b20, который имеет трехвыводную конструкцию. DS18B20 (Programmable Resolution 1-Wire® Digital Thermometer). Диапазон измерения температуры составляет от -55 до +125 °C. Для диапазона от -10 до +85 °C погрешность не превышает 0,5 °C.

Схема устройства показана на рисунке 1.

Индикатор MAX7219 приобретался на Aliexpress. Но данный индикатор продается уже в готовом виде и вам остается только 5ю проводниками его подключить к запрограммированной плате.

Принципиальная схема индикатора показана на рисунке 2, внизу показано фото такого индикатора.

Внешний вид собранного устройства показан на фото ниже.

Отрицательные температуры отображаются, минус перед числом и градусы отображаются без десятых долей.

Скачать рисунок печатной платы, схему и прошивку.

Помню, когда совсем маленьким был, то мой дед никогда не слушал по радио прогноз погоды, он всегда смотрел на свой старенький стрелочный барометр, стрелок у него было как минимум две (точно не помню, ведь столько лет прошло), и никогда не ошибался!

Вот и я давно хотел у себя в хозяйстве иметь барометр, да все никак, то дорого, то не попадался, то еще какие-то препятствия. Но вот начал заниматься микроконтроллерами и стало возможным сделать барометр самому.
Поднакопил я в заначке от любимой жены деньжат и приобрел датчики, MPX4115AP(датчик давления) и HIH-4000-004(датчик влажности), почему именно эти? Да просто, потому что в интернете именно по ним есть много информации, да и в продаже они были, хотя и дорогие. Львиная доля стоимости всего устройства пришлась именно на них.
Оба датчика аналоговые, а это значит, что барометр должен представлять из себя двухвходовый вольтметр, с корректировкой показаний АЦП в мм.рт.ст. (миллиметры ртутного столба), и % (проценты влажности воздуха). Сам пересчет показаний АЦП в мм.рт.ст. , и % я добросовестно взял из статьи «Небольшая метеостанция своими руками» - http://www.avispro.com.ua/doc.php?id=1172

Но представленная в статье конструкция показалась мне избыточной, а мне хотелось сделать проще и обязательно на светодиодных индикаторах, так как они светятся и имеют большой размер, а значит, их будет хорошо видно издалека, и при любом освещении, да и ток потребляют они гораздо меньше чем подсветка ЖКИ.
Я применил индикатор ВА56-12SRWA(светодиодный семисегментный, 3 разряда ОА ), 2 штуки. Они сверхяркие, т.е. можно дополнительно снизить потребляемый ток.

О том, как использовать значения атмосферного давления и влажности воздуха в предсказании погоды можно прочитать, например, здесь - http://www.meteopost.com/info/Pressure/

Вот такая в результате получилась схема:

Разводка платы такая:

На печатной плате общая шина - цифровая и аналоговая разделены.
Питание тоже разделено на аналоговое и цифровое, и подается через дроссели 25мкгн. на аналоговые цепи, а проводник в ферритовой трубочке на цифровые.

На входе АЦП конденсаторы по 0,33мкф на аналоговую землю, и резистор 750ом к датчикам. Это фильтры для снижения всевозможных помех на входы.

Выводы микроконтроллера AVCC и AREF зашунтированы керамическими конденсаторами по 0,1мкф, и еще по 10,0мкф танталовые (желтенькие со старых материнских плат).

Для того чтобы показания влажности воздуха были корректными, его необходимо вынести за пределы помещения (на улицу), и соединить с платой кабелем (лучше экранированным), и конечно защитить от прямого попадания осадков, ведь кристалл датчика совсем открытый. Датчик давления выносить за пределы платы совсем необязательно.

Эта программа, конечно не эталон, но как вариант для начинающих вполне сгодится
Безусловно, можно добавить гашение незначащего нуля в индикаторе влажности, это несложно, можно покопаться и что-то еще поправить, ведь совершенству нет предела.
Я предоставляю читателям полную свободу действий по улучшению кода.

Статья рассчитана на людей, которые любят что-то создавать своими руками, именно для души, и морального удовлетворения.

Замечание: Коммерческое использование материалов данной статьи запрещено!

Код написан в CodeWizardAVR V2.04.4a
Плата разведена в Sprint-Layout 5.0
Схема нарисована в Splan7.0.0.8_portable_rus

Очередной проект продвинутого показометра, включающий в себя измерение температуры, атмосферного давления, влажности воздуха и отсчет времени с календарем. В общем в него включены все мои наработки по работе с датчиками за все время увлечения микроконтроллерами, да и все накупленное добро нужно куда-то применить:) В итоге должен получится усовершенствованный логгер температуры , первую версию которого я забросил. Ну это позже, а сейчас приведу описание этой платы и тестовый код для проверки работоспособности напичканных туда датчиков и микросхем.

Сердцем схемы служит микроконтроллер ATMega64 фирмы Atmel, работающий от внешнего кварца на 16 МГц. Отсчитыванием времени занимается микросхема часов реального времени DS1307 , я уже имел с ней дело и поэтому пошел по проверенному пути.

Для измерения температруы и влажности применен датчик DHT11 , хоть и китай чистейшей воды, но показания выдает вполне удовлетворительные. У меня в заначке лежит еще SHT21 , но тогда повторяемость схемы сильно упадет, потому как достaть его сложней и по стоимости он выйдет как вся схема в сборе.

Все элементы (за исключением двух резисторов) находятся на верхнем слое, на нижнем разведены дороги которые не уместились на верху. Интересного там мало поэтому фото не привожу.

Чтобы иметь возможность напрямую подключать утсройство к компьютеру (к примеру, для того чтобы скинуть накопленные данные) на плате установлен преобразователь USB-UART на микросхеме FT232RL . Так же через этот преобразователь можно загружать в микроконтроллер прошивку, если предварительно зашить в микроконтроллер загрузчик (Bootloader). Как это сделать я писал ранее .

Для подключения внешних датчиков, навсякий случай предусмотрены выводы с портов PA0-PA3. А также выведены контакты SPI-интерфейса, на случай если захочется подключить



© 2024 rupeek.ru -- Психология и развитие. Начальная школа. Старшие классы