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

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

Схема устройства ниже (нажмите на рисунок для увеличения), конвертер 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. Кстати, китаец тоже умеет выдавать показания с десятыми долями градуса, позже добавлю в код эту функцию.

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

Данная конструкция была разработана по просьбе моего друга - любителя автомобильных путешествий и offroad. Им (другу и сотоварищам) в походах уж очень хочется знать в какую сторону и с какой скоростью меняется атмосферное давление, дабы попытаться понять, что будет с погодой. Он выбрал недорогой индикатор ME-GLCD128x64 представленный на фото:

Устройство собрано на двусторонней ПП, изготовленной методом ЛУТ:


Микроконтроллер был выбран ATMega32 в дип корпусе по причинам: он у меня был, найти другое применение такому большому корпусу (DIP40) я не смог, т.к. в последнее время делаю практически все на SMD.

Датчик давления фирмы HopeRF - HP03M, общающийся с МК по протоколу TWI. Датчики температуры DS18S20 фирмы Maxim.

Часы реального времени были выбраны на микросхеме M41T81 по причинам: наличие коррекции времени и наличие Timekeeper - позволяющего читать текущее время без потерь тактов основного счетчика.

В качестве источника питания решено использовать автомобильный адаптер USB - он выдает 5В при токе до 0.5А. В связи с тем, что при старте двигателя "провалы" в бортовой сети авто довольно большие, то была необходима схема аварийной записи текущих значений в eeprom. Для этого используется развязка питания МК и остальной схемы. Питание МК поддерживается конденсатором 1000 мкф, которого, как показали испытания, достаточно (более чем в два раза) для того, что-бы МК успел записать 6 байт текущих значений датчиков в eeprom. Контроль наличия питания и цепь сброса МК обеспечивают два супервизора питания. Первый следит за напряжением на входе схемы и при пропадании питания выдает лог.0 на int0, тем самым запуская процедуру сохранения. Второй обеспечивает "жесткий" сброс самого МК при понижении его питания - для исключения повреждения eeprom.

В обычном режиме данные записываются в eeprom каждые полчаса. Всего хранятся значения за 2-е суток. Текущее время, полученное с m41t81 преобразуется в кол-во секунд от 2000 года, и на основе этого значения вычисляется текущий адрес для записи (один из 96). После несложных вычислений можно увидеть, что ресурс eeprom выработается приблизительно за 540 лет (каждая ячейка перезаписывается раз в 2-е суток) или при ежеминутном выключении питания за 18 лет. Получасовые данные - это средние значения давления, температуры по каждому датчику, время в секундах (кратное 96) и контрольная сумма CRC16. При старте данные читаются из eeprom и проверяется контрольная сумма каждого блока, если сумма не верна - данные игнорируются. Так-же данные игнорируются если дата их записи превышает 2-е суток (нам такие старые данные не нужны). Аналогично считается и контрольная сумма основных настроек, и если она не верна - считаем, что это первый запуск программы и выставляем все значения по дефолту.


В верхнем левом углу текущее давление в мм.рт.ст и после стрелочки - изменение давления за последние 3 часа. Ниже показания двух датчиков температуры и max/min значения за прошедшие 24 часа. Совсем внизу график изменения давления. (провал в графике - специально на эти полчаса устройство было выключено - следовательно данных нет и показывать нечего)

Меню настроек:


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

Все настройки выполняются тремя кнопками Enter,+,- Для входа в меню настроек необходимо удерживать + и - более секунды.

В основном режиме кнопки + и - не работают и потому сделаны скрытыми. Кнопка Enter переключает яркость экрана с макс. на мин. и наоборот. При длительном удержании подсветка экрана полностью отключается.

Собственно схема устройства:


В архиве: Прошивка, схема, плата, плата в diptrace. Плюс набор различных цифр и символов с сишными кодами.

PS: проект будет развиваться, т.к. впереди еще зимние испытания на морозоустойчивость:)


Файлы:
Бонус: много цифирок с "C"шными массивами
Прошивка, исходники, схема, плата


Кто выиграл тендер

Победителем тендера стал разработчик программного обеспечения «Программный продукт». Цена контракта составила 670 млн руб. Срок исполнения — 910 календарных дней с даты заключения контракта.

«Вопрос зонирования — это вопрос тарифов. Тарифы и правила пересадок определяются структурами дептранса Москвы, наша задача в рамках контракта — поддержать эти правила технологически», — рассказал РБК Дмитрий Чурсин, исполнительный директор «Программного продукта».

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

Как рассказала РБК Татьяна Семенова, гендиректор ООО «МСП» (совместное предприятие производителя микроэлектроники «Микрон» и Московского метрополитена, отвечает за развитие транспортных проектов), одна из задач в рамках развития инфраструктуры «умного» города — оптимизация транспортных расходов пассажиров в зависимости от продолжительности, регулярности и времени поездок, а также обеспечение возможности использования проездных билетов в соседних регионах.

С 2013 года «Микрон» является производителем и поставщиком пластиковых бесконтактных смарт-карт для оплаты проезда «Тройка». По словам Семеновой, ООО «МСП» готово выпустить новый микроконтроллер (находится внутри билета), который сможет обеспечить функции новой билетной системы. «Первая модификация нового чипа с поддержкой открытых мировых протоколов будет завершена через год. Следующий шаг — разработка второй модификации, которая будет поддерживать криптографию по отечественному ГОСТу», — отметила она, добавив, что российских моделей такого чипа на данный момент нет.

Как изменится билетная система Москвы

В ноябре 2018 года пресс-служба Московского метрополитена о разработке новой билетной системы. В сообщении отмечалось, что карту «Тройка» персонализируют, а также будет проведена интеграция с билетными системами других регионов. Новая билетная система сможет обрабатывать более 6 млрд транзакций в год. Однако о введении зоновой оплаты проезда в сообщении не упоминалось.

Согласно техническому заданию метрополитена, новая билетная система должна объединить перевозчиков и городские сервисы, действующие на территории Москвы и Новой Москвы. На ее базе должны быть организованы единая эмиссия билетов и управление единым городским транспортом через приложение «Тройка», через интеграцию с другими операторами перевозок. К этой системе также будет подключена возможность оплаты популярных городских сервисов (каршеринг, велопрокат), билетов в кино, театр, выставочные залы. Предполагается динамическое многоступенчатое определение стоимости проезда, которая будет зависеть, например, от времени суток, зональности, количества пересадок и используемых видов транспорта.

Кроме того, система позволит управлять пассажиропотоками, предлагая новые продукты, программы лояльности. В нее будет заложена возможность тиражирования предложенных решений в других регионах. По оценкам, данным в техническом задании метрополитена, средний ежедневный пассажиропоток, обрабатываемый новой билетной системой, должен составить не менее 16 млн пассажиров в день. В среднесрочной перспективе он может увеличиться до 24 млн.​

Когда возникла идея оплаты по зонам

О необходимости внедрения зоновой оплаты проезда представители Московского метрополитена заявляли несколько лет назад. В частности, в 2009 году экс-глава столичной подземки Дмитрий Гаев говорил, что тарифные зоны — это будущее метрополитена. По его словам, внедрение такой системы оплаты будет возможно только после завершения строительства третьего пересадочного контура, когда у пассажиров появятся варианты альтернативных маршрутов. По действующему плану оно должно завершиться в 2020 году.

Зональная тарификация в метро применяется во многих мегаполисах, например в Париже, Барселоне, Лондоне. Чем дальше станция располагается от центра, тем дороже проезд. К примеру, в Шанхае стоимость зависит от дальности поездки: за первые 6 км пассажир платит 3 юаня (около 29 руб.), а за каждые следующие 10 км — по 1 юаню (9,7 руб.). При этом на одной из веток, которая идет в развивающийся район города, проезд стоит 2 юаня (19,46 руб.).

Фото: Евгений Разумный / Ведомости / ТАСС

Что это даст метрополитену

По мнению гендиректора «INFOLine Аналитики» Михаила Бурмистрова, необходимость разделения Московского метрополитена на тарифные зоны назрела. «Метро активно расширяется, уходя все дальше в область и Новую Москву. В планах — продление веток до аэропортов. В этих условиях перераспределение тарифной нагрузки на пассажиров вполне логично», — сказал аналитик.

По данным СПАРК, в 2017 году (последний доступный период) убыток Московского метрополитена составил 2,9 млрд руб., а выручка от продаж — 108,27 млрд руб. Тарифное зонирование позволит подземке увеличить доход за счет роста платы за проезд для жителей удаленных станций, отметил Бурмистров. Однако оценить, насколько может увеличиться доход, пока не определены тарифная политика и принципы зонирования, невозможно.

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

По словам заместителя директора Аналитического кредитного рейтингового агентства (АКРА) Александра Гущина, зоновая система оплаты может повысить выручку перевозчика за счет перераспределения тарифной нагрузки на пассажиров. «Повышение стоимости проездных билетов — это всегда очень чувствительная тема для населения. Но когда у перевозчика есть механизм точечной настройки тарифов, это повышение будет не так заметно. Поэтому, если систему зонирования все-таки внедрят и она приживется, то при правильной настройке тарифов это способно позитивно отразиться на доходах метрополитена. Конечно, эффект будет виден не сразу», — заключил аналитик.

Что будет со старыми способами оплаты​

В пресс-службе Московского метрополитена​ заявили, что проведенный тендер предполагает создание системы с поддержкой оплаты и контроля проезда на общественном транспорте Москвы, а также персонификацию карты «Тройка». «Поскольку система рассчитана на использование на разных видах общественного транспорта, то в техническом задании предусмотрены разные виды контроля билетов — как на входе, так и на выходе», — говорится в ответе пресс-службы на запрос РБК. В метрополитене отметили, что в Москве уже применяются зональные тарифы. В столице действуют две тарифные зоны для наземного городского пассажирского транспорта: зона А (Москва в пределах МКАД и Новомосковский административный округ) и зона Б (Троицкий административный округ).

«Поэтапное внедрение новой билетной системы начнется с 2020 года. Она будет поддерживать все имеющиеся сейчас технические решения в системах оплаты и контроля проезда, поэтому ее внедрение произойдет практически незаметно для пассажиров. Такая логика «бесшовного» перехода на новую систему заложена в качестве одного из ключевых требований», — сообщили в Московском метрополитене. Перед реализацией проекта анализировался в том числе опыт Токио, Сингапура, Лондона, Нью-Йорка и других мегаполисов с развитыми транспортными системами, отметили в пресс-службе столичной подземки.​

David W. Bray

Дано описание конструкции версии 2.0 электронного барометра с интерфейсом 1-Wire, отличающегося от популярной версии 1.1а удвоенной точностью измерений.

Как и в схеме версии 1.1а, в этой разработке используется интегральный датчик давления MPX4115 фирмы Motorola. Аналого-цифровое преобразование выполняется микросхемой DS2438 с интерфейсом 1-Wire. Помимо этих схем использован один операционный усилитель, два стабилизатора напряжения, два диода, светодиод и несколько резисторов и конденсаторов. Заметим, что изначальное предназначение микросхемы DS2438 - монитор заряда аккумуляторов.

Предысторию разработки версии 2.0 можно найти в статье http://davidbray.org/onewire/barometer.html .

Печатная плата

Как и для предыдущей версии 1.1а, одностороннюю печатную плату для барометра версии 2.0 разработал Jim Jennings. Печатная плата для версии 2.0 более универсальна, на ней можно собрать и схему барометра версии 1.1а.

Некоторые тонкости

В этой схеме требуется еще один дополнительный источник питания, который отсутствовал в версии 1.1а, поскольку для питания датчика давления MPX4115 требуется ток порядка 7 мА, а это больше того, что можно взять с линии интерфейса 1-Wire.

Схема обеспечивает разрешение (точность измерения давления) около 0.00417 inHg (0.1059 мм рт. столба или 0.0139 кПа) в диапазоне измерений атмосферного давления от 31.0 до 28.0 inHg (от 787.4 до 711.2 мм рт. ст. или от 105.0 до 95.0 кПа). Еще большую точность измерения можно обеспечить, сократив диапазон измеряемых значений атмосферного давления.

Принципиальная схема

На этой схеме не показан разъем. Полная схема дана .

Описание принципиальной схемы

Датчик давления MPX4115 выдает напряжение в пределах от 4.25 до 3.79 В при измерении давления на уровне моря и, примерно, от 2.77 В до 2.45 В на высоте 10000 футов (3048 м). Это превышает рабочий диапазон входных напряжений операционного усилителя LM358N, при питании его от источника 5 В. Дело в том, что выходной сигнал датчика давления отсчитывается, фактически, относительно его шины питания, а не относительно «земли», как было бы намного удобнее.

К счастью, АЦП микросхемы DS2438 может обрабатывать сигналы до 10 В, поэтому, при питании ОУ напряжением 10 В, сигналы датчика MPX4115 будут хорошо согласованы с диапазоном входных сигналов DS2438.

Сигнал с выхода датчика давления MPX4115 через RC-фильтр поступает на вход операционного усилителя U1B с коэффициентом усиления около 4. На второй вход усилителя подается регулируемое напряжение, которое суммируясь с выходным напряжением датчика давления, обеспечивает смещение уровня для согласования со входом АЦП.

Усиление и смещение регулируются 10-оборотными подстроечными резисторами. R3 устанавливает усиление U1A, а R4 управляет смещением.

Обратите внимание, что выход датчика давления соединен с резистором R1 через съемную перемычку. Это сделано для того, чтобы можно было откалибровать сигнал MPX4115 по внешнему источнику напряжения.

Продолжение читайте

Температура
и давление окружающего воздуха оказывают большое влияние на самочувствие
человека. Их важно знать и в походе, и на даче, и дома. Предлагаемый компактный
прибор как нельзя лучше подходит для этого. Его можно использовать также для
приблизительной оценки высоты, например, при подъеме в горы. Уменьшение
давления на 1 мм ртутного столба соответствует увеличению высоты над уровнем
моря приблизи­тельно на 10 м.

Пределы
измерения и погрешность прибора
определяются в основном примененными в нем датчиками тем­пература -55…+125
°С, атмосферное давление 225. 825 мм ртутного столба Прибор питается
напряжением 9 В от гальванической батареи типа “Крона” или сетевого
адаптера Потребляемый ток - 30 мА (при выключенной под­светке ЖКИ). Размеры
корпуса - 118×72 28 мм. Работа прибора была проверена при температуре от -5 до
+25 С Погрешность измерения давле­ния не превысила 4 мм ртутного столба Схема
прибора изображена на рис. 1 причем собранный на отдель­ной плате модуль
измерения давления выделен штрихпунктирной линией.

Необходимые
для работы датчика так­товые импульсы частотой 32768 Гц выра­батывает кварцевый
генератор на эле­ментах микросхемы DD1 В принципе, эти импульсы мог бы
формировать и микро­контроллер DD2 с помощью одного из имеющихся в нем таймеров
Но это по­требовало бы усложнения программы.

Напряжение
3,6 В для питания датчи­ка В1 и микросхемы DD1 получено с помощью стабилитрона VD1
Резисторы R1 -R3 - нагрузочные для линий свя­зывающего датчик с микроконтролле­ром
интерфейса 1С и сигнала XCLR Печатная плата модуля измерения дав­ления показана
на рис. 2

Хотя
датчик HP03SB содержит и встроенный измеритель температуры, его показания
используются програм­мой микроконтроллера DD2 только для уточнения результатов
измерения дав­ления. На ЖКИ HG1 вместе со значени­ем давления выводятся
показания дру­гого датчика температуры - DS1624 (В2) Причина этого проста - он
точнее При необходимости датчик В2 можно сделать выносным и расположить там где
температура представляет наиболь­ший интерес. При установке в корпусе прибора
этот датчик следует вынести на боковую стенку, сделав в ней окно по его
размерам Иначе неизбежна ошибка на 1,5 ..1,8 ‘С, в чем я убедился на практике
Напряжение питания +5 В стабилизи­ровано микросхемой DA1 Подстроеч ным
резистором R8 устанавливают наи­лучшую контрастность изображения на ЖКИ Кнопкой
SB1 включают подсветку его табло. Остальные элементы необхо­димы для работы
микроконтроллера Элементы R7 R9 СЮ VD2 - цепь уста­новки микроконтроллера в
исходное состояние Кварцевый резонатор ZQ2 с конденсаторами С11.С12 - частотозадающая
цепь тактового генератора мик роконтроллера.

На
рис. 3 представлен чертеж ос­новной печатной платы прибора а на рис. 4 -
расположения деталей на ней В переходное отверстие показанное залитыми (плата
на рис. 2), необходимо вставить и пропаять с двух сторон прово­лочную
перемычку. Для микроконтрол­лера DD1 должна быть предусмотрена панель, так как
в процессе налаживания прибора эту микросхему придется из­влекать и вновь
устанавливать.

Остановимся
на некоторых особен­ностях датчика HP03SB. общий вид и га­баритные размеры
показаны на рис. 5 Для определения давления необходимо предварительно прочитать
из памя­ти установленного в приборе экземпля­ра этого датчика двухбайтные
значения коэффициентов С,-С- и однобайтные значения параметров A-D. Все они ин­дивидуальны
для данного экземпляра.

Результаты
измерения представляют собой два двухбайтных числа- D1 - дав­ление D2 -
температура. Прочитав их из памяти
датчика программа должна вычислить вспомогательные значения

Более
подробные сведения о датчике HP03SB имеются в . Однако необ­ходимо отметить
что там указаны невер­но адреса внутренней памяти датчика, по которым хранятся
его индивидуаль­ные константы. Следует пользоваться теми адресами что приведены
в В приборе можно применить и другие дат­чики серии НРОЗ Некоторые из них
име­ют меньшую точность, другие отлича­ются конструктивным оформлением.

Работа
программы начинается с ини­циализации портов микроконтроллера и ЖКИ Успешную
инициализацию под­тверждает вывод на табло надписи “TER- MOBAR” (буква
Н пропущена). Затем инициализируется датчик давления, счи состояние регистра
статуса модуля TW1 микроконтроллера не проверяется.

Для
чтения коэффициентов и пара­метров датчика предназначена специ­альная программа
ReadCC, которую необходимо загрузить в программную память микроконтроллера полностью собранного
прибора (с подключенным модулем измерения давления), вклю­чить его и через
несколько секунд выключить. После этого нужно извлечь микроконтроллер и с
помощью про­грамматора прочитать содержимое его EEPROM. В нем по адресам,
указанным в табл. 1, находятся значения индиви­дуальных коэффициентов и парамет­ров
датчика. Далее необходимо открыть файл рабочей про­граммы баро­метра-термо­метра
BARO-2 asm, найти в нем фрагмент, приведенный в табл. 2, и ис­править значе­ния
объявлен­ных там конс­тант в соответ­ствии с прочи­танными из EEPROM Пара­метр D
в про­грамме не ис­пользуется

Теперь
про­грамма готова к работе с уста­новленным в прибор экзем­пляром датчика
Остается от­транслировать ее с помощью AVR Studio и загрузить полу­ченный НЕХ- файл
в микро­контроллер Уч­тите, что анало­гичный файл, приложенный к статье, рассчи­тан
на работу с датчиком, имев­шимся у автора Если загрузить его в микрокон­троллер
при­бор с другим эк­земпляром дат­чика давления будет работать но давать неточ­ные
показания

В
разработке использованы фрагменты программ из и . Подпро­граммы преоб­разования
чи­сел из шестнадцатеричного формата в дво­ично-десяти­чный перерабо­таны с
учетом разрядности чисел. Подпро­граммы пере­множения и де­ления двух­байтных
чисел, предназначен­ные для микро­контроллеров семейства MCS-51, пере­ведены на
язык ассемблера AVRASM Мень­ше всего под­верглась изме­нениям подпрограмма
управления ЖКИ, учтены лишь особенности индикатора MT-10S1 а для ввода и вывода
сигналов использо­ваны другие порты микроконтроллера.