Схема проекта
Схема подключения датчика MQ-135 к плате Arduino представлена на следующем рисунке.
Как видите, схема достаточно проста, в ней необходимо подключить к плате Arduino датчик MQ-135 и OLED дисплей. Датчик газа MQ-135 и OLED дисплей оба запитываются от контактов +5V и GND платы Arduino. Аналоговый выход датчика MQ-135 подключен к контакту A0 платы Arduino Nano. OLED дисплей подключен к плате Arduino Nano по интерфейсу SPI, схема их соединений показана в следующей таблице.
OLED дисплей | Плата Arduino |
GND | Ground |
VCC | 5V |
D0 | 10 |
D1 | 9 |
RES | 13 |
DC | 11 |
CS | 12 |
После сборки схемы на макетной плате у нас получилась конструкция следующего вида:
Модуль OLED дисплея (0.96’ OLED Display Module)
OLED (Organic Light-Emitting Diodes, органический светоизлучающий диод) – это светоизлучающая технология, которая применяется в большинстве современных телевизоров. В OLED дисплеях используется тот же принцип формирования изображения, что и в современных телевизорах, только количество пикселей в них значительно меньше.
Для нашего проекта мы использовали монохромный 7-ми контактный OLED дисплей SSD1306 с диагональю 0.96”. Он может использовать 3 различных коммуникационных протокола: 3-х проводный SPI, 4-х проводный SPI и I2C.
Назначение его контактов (распиновка) приведены в следующей таблице.
Номер контакта | Название контакта | Альтернативное название контакта | Назначение контакта |
1 | Gnd | Ground | земля (общий провод) |
2 | Vdd | Vcc, 5V | напряжение питания (в диапазоне 3-5 В) |
3 | SCK | D0, SCL, CLK | контакт синхронизации (clock pin). Применяется в интерфейсах I2C и SPI |
4 | SDA | D1, MOSI | контакт данных. Применяется в интерфейсах I2C и SPI |
5 | RES | RST, RESET | контакт сброса модуля. Применяется в интерфейсе SPI |
6 | DC | A0 | контакт команд (Data Command pin). Применяется в интерфейсе SPI |
7 | CS | Chip Select (выбор чипа) | используется когда несколько устройств взаимодействуют по интерфейсу SPI |
Технические характеристики OLED дисплея SSD1306:
- драйвер микросхемы OLED: SSD1306;
- разрешение: 128 x 64;
- угол зрения: >160°;
- входное напряжение: 3.3V ~ 6V;
- цвет пикселов: синий;
- диапазон рабочих температур: -30°C ~ 70°C.
Меры предосторожности
Практически все сенсоры, работающие по принципу инфракрасной спектроскопии, очень чувствительны к пыли и внешним механическим воздействиям (ударам). Это следует знать и учитывать при размещении и эксплуатации датчиков.
При невозможности установить прибор в месте, защищенном от воздействия сильного ветра, прямого попадания пара, вибрации, скопления пыли и атмосферных осадков, перед датчиком устанавливается специальный грязевой щиток.
Перед снятием детектора СО2 его следует предварительно отключать от источника электропитания.
При проведении технического обслуживания, во избежание скопления статического заряда на пластиковых поверхностях, щитке или переходнике, необходимо избегать контакта материалов друг с другом, а также, по возможности, заземлить все доступные металлические части электрооборудования.
На все без исключения модели датчиков распространяется гарантия. Однако устройство может быть снято с гарантийного обслуживания при несоблюдении потребителем требований компании-производителя, использованию прибора не по назначению, а также при наличии следов постороннего вмешательства, попадании внутрь корпуса инородных предметов и жидкостей, а также при внесении изменений в конструкцию.
Технология измерения углекислого газа
В зависимости от назначения измерители СО2 бывают канальные, интегрированные в вентиляционные системы. Бытовые настольные, настенные измеряют показатели содержания углекислого газа в помещении.
Работа не дисперсионные газоанализаторов базируется на прохождение СО2 через спектр инфракрасного излучения (диапазок1-15мкм). В специальной камере фиксируется количество света, поглощённого СО2. Регистрируется измерителем, показатель выводится на сенсорный дисплей.
Назначение измерителя определяют тип прибора.
По назначению разделяются:
- на компактные бытовые, для дома, офиса;
- для коммерческих, общественных зданий;
- промышленные образцы.
Измерительные устройства для бытового пользования оснащены цифровыми дисплеями. Они, как правило, имеют самокалибрующиеся настройками. Основа схемы датчика — микропроцессорная плата.
Измерительные приборы на производствах оснащают инфракрасными сенсорами. В условиях повышенной опасности используют датчики, защищённые взрывоопасным корпусом.
Приборы через аналоговый, цифровой выход подключаются к компьютеру, другим гаджетам. Считывать показатели, отображать данные в графическом виде. Управляться через релейные выходы. Оснащаться дополнительными входами для считывания данных с внешних датчиков.
Конструкция измерителя зависит от назначения, системы, в которую интегрируется.
Основные конструктивные элементы бытового прибора:
- плата микроконтрллера;
- инфракрасный измеритель;
- датчики температуры, влажности;
- реле;
- преобразователь (энкодер);
- преобразователь системы питания (с 220в на 5 В).
Измерители оснащены аналоговыми входами, кнопкой сброса настроек, разъёмами для USB кабеля.
Большинство бытовых приборов — комбинированного типа. Показывают температуру, влажность, уровень СО2, возможно, содержание озона в воздухе. Приборы регистрируют основные показатели для того, чтобы можно было откорректировать их.
Встроенные измерители предназначены для интегрированных систем вентиляции, кондиционирования. Показания служат сигналом для автоматического включения оборудования.
Исходный код программы (скетча)
Arduino
/*
* Interfacing MQ135 Gas Senor with Arduino
* Author: Ashish
* Website: www.circuitdigest.com
* Date: 11-11-2020
*/
// сопротивление нагрузочного резистора на плате датчика
#define RLOAD 22.0
#include «MQ135.h»
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // ширина OLED дисплея в пикселах
#define SCREEN_HEIGHT 64 // высота OLED дисплея в пикселах
// Declaration for SSD1306 display connected using software SPI (default case):
#define OLED_MOSI 9
#define OLED_CLK 10
#define OLED_DC 11
#define OLED_CS 12
#define OLED_RESET 13
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT,
OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);
MQ135 gasSensor = MQ135(A0);
int val;
int sensorPin = A0;
int sensorValue = 0;
void setup() {
Serial.begin(9600);
pinMode(sensorPin, INPUT);
display.begin(SSD1306_SWITCHCAPVCC);
display.clearDisplay();
display.display();
}
void loop() {
val = analogRead(A0);
Serial.print («raw = «);
Serial.println (val);
// float zero = gasSensor.getRZero();
// Serial.print («rzero: «);
//Serial.println (zero);
float ppm = gasSensor.getPPM();
Serial.print («ppm: «);
Serial.println (ppm);
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(18,43);
display.println(«CO2»);
display.setCursor(63,43);
display.println(«(PPM)»);
display.setTextSize(2);
display.setCursor(28,5);
display.println(ppm);
display.display();
display.clearDisplay();
delay(2000);
}
1 |
/* Adafruit_SSD1306display(SCREEN_WIDTH,SCREEN_HEIGHT, OLED_MOSI,OLED_CLK,OLED_DC,OLED_RESET,OLED_CS); MQ135gasSensor=MQ135(A0); intval; intsensorPin=A0; intsensorValue=; voidsetup(){ Serial.begin(9600); pinMode(sensorPin,INPUT); display.begin(SSD1306_SWITCHCAPVCC); display.clearDisplay(); display.display(); } voidloop(){ val=analogRead(A0); Serial.print(«raw = «); Serial.println(val); // float zero = gasSensor.getRZero(); // Serial.print («rzero: «); //Serial.println (zero); floatppm=gasSensor.getPPM(); Serial.print(«ppm: «); Serial.println(ppm); display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(18,43); display.println(«CO2»); display.setCursor(63,43); display.println(«(PPM)»); display.setTextSize(2); display.setCursor(28,5); display.println(ppm); display.display(); display.clearDisplay(); delay(2000); } |
Качество газированных напитков: Контроль концентрации растворенного CO₂ в производстве напитков
Надежность измерений CO2 |
Контроль концентрации растворенного CO2 обеспечивает ожидаемые потребителем визуальные характеристики пива и качество пены. В этом информационном документе описаны две основные технологии непосредственного измерения концентрации растворенного CO2, включая практику их применения, а также некоторые технические решения, предназначенные для управления процессом производства.
Стандартные области применения непосредственного измерения концентрации растворенного CO2 в производстве напитков:
- Контроль насыщения напитков углекислым газом
- Измерения на линиях розлива
- Контроль над возможными потерями CO2 на важнейших этапах технологического процесса
- Контроль насыщения напитков углекислым газом деаэрированной воды
Как отмечено в информационном документе, на рынке встраиваемых систем измерения CO2 лидируют датчики, основанные на двух принципах измерения.
- Давление/температура (p/T)
- Теплопроводность (TC)
Основным достоинством датчиков, использующих теплопроводность, является то, что в них, в отличие от датчиков типа p/T, отсутствуют движущиеся части. Измерение парциального давления растворенного CO2 происходит путем измерения теплопроводности газа в измерительной камере, которая отделена от потока жидкости газопроницаемой мембраной. Принцип измерения, использующий теплопроводность, невосприимчив к присутствию фоновых газов, что дает более высокую селективность по отношению к CO2. Кроме того, он демонстрирует прекрасную сопоставимость с установленными стандартными методами.
Специалисты МЕТТЛЕР ТОЛЕДО усовершенствовали этот заслуживший доверие метод и создали удобный в эксплуатации датчик InPro 5500i для измерения концентрации растворенного CO2 с улучшенной конструкцией колпачка-держателя мембраны, что упрощает его замену.
Датчик InPro 5500i основан на технологии цифрового управления датчиками (ISM) МЕТТЛЕР ТОЛЕДО. Концепция цифрового управления упрощает эксплуатацию датчика, повышает надежность и сокращает общие затраты за весь срок службы. Она включает средства упреждающей диагностики, которые непрерывно контролируют состояние датчика. Система InPro 5500i немедленно сигнализирует об уменьшении подачи продувочного газа или нарушении целостности мембраны.
Из этого информационного документа вы узнаете о сложностях измерения концентрации растворенного CO2 и о том, насколько датчик InPro 5500i повышает эксплуатационную готовность.
Оптимизация технологических процессов с цифровыми датчиками
Новейшие промышленные аналитические системы автоматически определяют сроки технического обслуживания и снижают совокупную стоимость эксплуатации датчи…
Optical Oxygen Measurement With ISM
Discover in this white paper how our optical oxygen sensors: Minimize beer loss at the filling line, improve process safety, reduce maintenance.
журнал производителей пива для качества пивоварения
Скачайте новый журнал и узнайте о решениях МЕТТЛЕР ТОЛЕДО для пивоваренной промышленности
Примеры оптимизации процессов пивоварения
В руководстве содержится ряд документов, касающихся контроля и управления процессами пивоварения, а также описаны сложности при организации аналитичес…
Технологическая арматура и системы очистки
Гибкая адаптация к процессу обеспечивает оптимальные рабочие характеристики датчиков.
Аналитические трансмиттеры (промышленные контроллеры)
Многопараметрические трансмиттеры для контроля аналитических параметров ключевых технологических процессов и водного цикла, таких как рН, содержание р…
Поточный анализатор химического состава воды
Эффективный и надежный контроль остаточных загрязнений при подготовке чистой воды и мониторинг водно-химического контура.
Промышленные газоанализаторы
Эти газоанализаторы отличаются высокой надежностью и предназначены для быстрого обнаружения различных газов в промышленных условиях. Анализаторы на ос…
Analytical Sensors for Bioreactors
Объяснение программы для измерения концентрации CO2 с помощью Arduino и датчика MQ-135
Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.
В коде программы мы будем использовать библиотеки Adafruit_GFX, Adafruit_SSD1306 и MQ135.h. Первые две из них можно скачать и установить с помощью менеджера библиотек (Library Manager) Arduino IDE. Для этого запустите Arduino IDE и в ней откройте пункт меню Sketch < Include Library < Manage Libraries. Откроется окно, в нем запустите поиск Adafruit GFX, после ее нахождения установите библиотеку Adafruit GFX от компании Adafruit.
Аналогичным образом установите библиотеку Adafruit SSD1306 от компании Adafruit. Библиотеку MQ135 можно скачать по этой ссылке.
Arduino
#include «MQ135.h»
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
1 |
#include «MQ135.h» #include <SPI.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> |
После этого укажем в программе ширину и высоту OLED дисплея, в нашем случае мы используем дисплей 128×64 с поддержкой интерфейса SPI. Вы можете изменить значения SCREEN_WIDTH и SCREEN_HEIGHT если используете OLED дисплей с другим разрешением.
Arduino
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
1 |
#define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 |
Затем укажем контакты платы Ардуино, к которым дисплей подключен по интерфейсу SPI.
Arduino
#define OLED_MOSI 9
#define OLED_CLK 10
#define OLED_DC 11
#define OLED_CS 12
#define OLED_RESET 13
1 |
#define OLED_MOSI 9 #define OLED_CLK 10 #define OLED_DC 11 #define OLED_CS 12 #define OLED_RESET 13 |
После этого создадим объект OLED дисплея с необходимыми характеристиками.
Arduino
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);
1 | Adafruit_SSD1306display(SCREEN_WIDTH,SCREEN_HEIGHT,OLED_MOSI,OLED_CLK,OLED_DC,OLED_RESET,OLED_CS); |
Затем дадим название контакту, к которому подключен датчик MQ-135.
Arduino
int sensorIn = A0;
1 | intsensorIn=A0; |
После этого в функции setup() инициализируем последовательную связь со скоростью 9600 бод для целей отладки. Также инициализируем OLED дисплей с помощью функции begin().
Arduino
Serial.begin(9600);
display.begin(SSD1306_SWITCHCAPVCC);
display.clearDisplay();
1 |
Serial.begin(9600); display.begin(SSD1306_SWITCHCAPVCC); display.clearDisplay(); |
Внутри функции loop() мы будем считывать значение с выхода датчика MQ-135 на выходе АЦП контакта A0 с помощью функции analogRead().
Arduino
val = analogRead(A0);
Serial.print («raw = «);
1 |
val=analogRead(A0); Serial.print(«raw = «); |
Затем мы будем вызывать функцию gasSensor.getPPM() для расчета значения углекислого газа в единицах PPM (частей на миллион), которое рассчитывается на основе сопротивления нагрузочного резистора, значения Ro и считанного с контакта A0 значения.
Arduino
float ppm = gasSensor.getPPM();
Serial.print («ppm: «);
Serial.println (ppm);
1 |
floatppm=gasSensor.getPPM(); Serial.print(«ppm: «); Serial.println(ppm); |
После этого установим размер текста и его цвет на OLED дисплее с помощью функций setTextSize() и setTextColor().
Arduino
display.setTextSize(1);
display.setTextColor(WHITE);
1 |
display.setTextSize(1); display.setTextColor(WHITE); |
Затем установим позицию курсора с помощью функции setCursor(x,y) и будем выводить значения концентрации CO2 на экран OLED дисплея с помощью функции display.println().
Arduino
display.setCursor(18,43);
display.println(«CO2»);
display.setCursor(63,43);
display.println(«(PPM)»);
display.setTextSize(2);
display.setCursor(28,5);
display.println(ppm);
1 |
display.setCursor(18,43); display.println(«CO2»); display.setCursor(63,43); display.println(«(PPM)»); display.setTextSize(2); display.setCursor(28,5); display.println(ppm); |
И, наконец, вызовем функцию display() для отображения необходимого текста на экране OLED дисплея.
Arduino
display.display();
display.clearDisplay();
1 |
display.display(); display.clearDisplay(); |
Проблемы
При проникновении воды в корпус датчика он может выйти из строя. Следует отметить, что подобное повреждение не покрывается гарантией. Однако, в связи с тем, что корпус устройства достаточно герметичен, чаще всего намокают только окончания проводов.
Это может повлечь за собой коррозию или ослабление крепления клеммных соединений. Для решения подобной проблемы необходимо обеспечить долгосрочную коррозионную защиту и заблокировать неиспользуемые порты.
Такая неисправность, как сбой нуля датчика, устраняется повторной калибровкой, которая должна проводиться в соответствии с прилагаемой инструкцией.
Если на дисплее не отражаются показатели, это может сигнализировать об избытке солнечного света или отсутствии отклика трансмиттера. В первом случае, для уменьшения отблеска, необходимо установить защитный щиток, а во втором – проверить подачу напряжения на клеммы, а также убедиться, что нет сбоя в ITM, и на кабеле отсутствует влага, приводящая к коррозии его металлических частей.
Производители и модели датчиков СО2
SenseAir
На сегодняшний день самым известным производителем датчиков углекислого газа является шведская компания SenseAir. Мировой лидер в отрасли разработки и производства не только газовых анализаторов, но и оборудования для систем “Умный дом”(датчиков движения, автоматических розеток, GSM охранных сигнализаций).
К30 | К30-FR | К33-LP |
Принцип действия | ||
NDIR | NDIR | NDIR |
Диапазон измерения | ||
0-5000 ppm | 0-5000 ppm | 0-5000 ppm |
Точность | ||
30 ppm ± 3% | 30 ppm ± 3% | 30 ppm ± 3% |
Время прогрева | ||
60 сек | 60 сек | 60 сек |
Время отклика | ||
20 сек | 20 сек | 30 сек |
Габаритные размеры (мм) | ||
57х51х14 | 57х51х14 | 57х51х14 |
Блок питания | ||
4,5-14 В | 4,5-14 В | 5-12 В |
Предполагаемый срок эксплуатации | ||
15 лет | 10 лет | 15 лет |
Углекислые датчики компании SenseAir, работающие по методу недисперсионной ИК-спектрометрии, в отличие от своих аналогов, имеют более высокие эксплуатационные характеристики.
Они могут использоваться как в помещении, так и на открытом воздухе, и решать одновременно несколько задач (измерять концентрацию СО2, температуру и влажность воздуха).
При необходимости устройства подключаются к компьютеру, обеспечивающему длительную бесперебойную работу и быстрый отклик в широком диапазоне.
AZ Instrument Corp
Следующий известный производитель анализаторов углекислого газа – компания AZ Instrument Corp (Тайвань).
7722 | 77-231 | 77-232 |
Принцип действия | ||
NDIR | NDIR | NDIR |
Диапазон измерения | ||
0-9999 ppm | 0-9999 ppm | 0-9999 ppm |
Точность | ||
50 ppm ± 5% | 30 ppm ± 5% | 30 ppm ± 5% |
Время прогрева | ||
120 сек | 120 сек | 120 сек |
Время отклика | ||
30 сек | 30 сек | 30 сек |
Габаритные размеры (мм) | ||
130х85х60 | 130х85х60 | 130х85х60 |
Блок питания | ||
12 В | 12 В | 12 В |
Предполагаемый срок эксплуатации | ||
5 лет | 5 лет | 5 лет |
Все модели датчиков углекислоты компании AZ Instrument Corp оснащаются гигрометром и термометром, позволяющими одновременно с концентрацией СО2 измерять температуру и влажность воздуха, и, при необходимости, компенсировать температурную зависимость.
S+S Regeltechnik
И еще один производитель инфракрасных датчиков – немецкая компания S+S Regeltechnik – производитель контрольно-измерительного, вентиляционного и климатического оборудования (датчиков воды, дыма, тепла, розеток с термостатом и т.д).
Aerasgard R-CO2 | Aerasgard RTM-CO2 | Aerasgard RFTF-CO2 |
Принцип действия | ||
NDIR | NDIR | NDIR |
Диапазон измерения | ||
0-2000 ppm | 0-2000 ppm | 0-2000 ppm |
Точность | ||
70 ppm ± 5% | 70 ppm ± 5% | 70 ppm ± 5% |
Время прогрева | ||
прибл. 1 час | 1 час | 1 часа |
Время отклика | ||
60 сек | 60 сек | 60 сек |
Габаритные размеры (мм) | ||
98х98х33 | 100х100х25 (стальной корпус) | 98х98х33 |
Блок питания | ||
24 В | 24 В | 24 В |
Предполагаемый срок эксплуатации | ||
10 лет | 10 лет | 10 лет |
Самокалибрующиеся энергосберегеющие углекислые датчики компании S+S Regeltechnik являются очень надежными, чувствительными устройствами, не нуждающимися в техническом обслуживании.
Обладая высокой избирательностью и устойчивостью к помехам и вибрации, они используются для мониторинга качества воздуха в закрытых помещениях.