Электронный компонент:Плата Xadow с многоканальным датчиком газа

Материал из Онлайн справочника
Перейти к: навигация, поиск

Перевод: Максим Кузьмин (Cubewriter)
Перевел 1926 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.


Ambox content.png Черновик


Плата Xadow с многоканальным датчиком газа[1]

Xadow - Multichannel Gas Sensor photo.jpg

Это очень маленькая плата, оснащенная двумя стандартными Xadow-портами и компактным MOS-датчиком (сокр. от «metal oxide sensor», что значит «металл-оксидный датчик») MiCS-6814, который способен определять автомобильные выхлопы, а также сельскохозяйственные и промышленные газы.

Купить плату Xadow с многоканальным датчиком газа можно по этой ссылке.

Особенности

  • Три полностью независимых сенсорных элемента на одной плате
  • Встроенный микроконтроллер ATmega168PA
  • Шина I2C с возможностью менять I2C-адрес
  • Возможность выключить нагревание, чтобы устройство потребляло меньше энергии
  • Стандартный форм-фактор Xadow

Схема

Xadow - Multichannel Gas Sensor block diagram.jpg

Электрические характеристики

Параметр Условия Мин. Типичн. Макс. Единицы измерения
Напряжение - 3.1 3.3 3.5 Вольты (В)
Пульсирующее напряжение Макс. мощность - 80 100 Милливольты (мВ)
Мощность нагревания - - - 88 Милливатты (мВт)
Макс. мощность - - - 150 Милливатты (мВт)
Точность АЦП - - 10 - Биты
Напряжение АЦП - 0 - 3.3 Вольты (В)
Частота I2C - - 100 400 Килогерцы (кГц)
VIL I2C -0.5 - 0.99 Вольты (В)
VIH I2C 2.31 - 3.8 Вольты (В)

Характеристики датчика восстановительных газов

Параметр Символ Типичн. Мин. Макс. Единицы измерения
Сопротивление датчика в чистом воздухе R0 - 100 1500 Килоомы (кОм)
Типичн. диапазон измерения CO FS - 1 1000 ppm*
Коэффициент чувствительности (концентрация) S60 - 1.2 50 -
  • Единица измерения «ppm» – это сокр. от англ. «parts per million», что значит «количество частей на миллион». То есть, 1 ppm – это одна миллионная или 0,000001 или 10-16.
Red sensor.jpg

Характеристики датчика окислительных газов

Параметр Символ Типичн. Мин. Макс. Единицы измерения
Сопротивление датчика в чистом воздухе R0 - 0.8 20 Килоомы (кОм)
Типичн. диапазон измерения NO2 FS - 0.05 10 ppm
Коэффициент чувствительности (концентрация) SR - 2 - -
OX sensor.jpg

Характеристики датчика аммиака

Параметр Символ Типичн. Мин. Макс. Единицы измерения
Сопротивление датчика в чистом воздухе R0 - 10 1500 Килоомы (кОм)
Типичн. диапазон измерения NH3 FS - 1 300 ppm
Коэффициент чувствительности (концентрация) SR - 1.5 15 -
NH3 sensor.jpg

Распиновка

Xadow Pins.jpg

Демо-проект

Теперь давайте сделаем простой проект, считывающий данные с датчиков газа, которыми оснащена эта плата.

Подключение устройств

Xadow - Mutichannel Gas Sensor connect to Xadow.JPG
  1. Подключите плату Xadow с многоканальным датчиком газа к главной плате Xadow (имеется в виду плата Xadow Main Board; она не совместима с модулями Xadow версии 2 и RePhone).
  2. Установите на ПК драйвер для главной платы Xadow.

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

Загрузка кода

  1. Загрузите библиотеку «Multichannel Gas Sensor», а затем установите ее в IDE Arduino. О том, как устанавливать в IDE Arduino новые библиотеки, читайте здесь или здесь.
  2. Откройте скетч «ReadSensorValue_Xadow», кликнув в IDE Arduino на Файл > Примеры > Mutichannel_Gas_Sensor > ReadSensorValue_Xadow (File > Examples > Mutichannel_Gas_Sensor > ReadSensorValue_Xadow). Этот скетч выглядит следующим образом:
  1. /*
  2.     Это демо-скетч
  3.     для тестирования библиотеки «Multichannel Gas Sensor»
  4.  
  5.     Для скетча понадобятся следующие устройства:
  6. -       Главная плата Xadow (центр. устройство; на него загружается код)
  7. -       Плата Xadow с многоканальным датчиком газа (перифер. устройство)
  8.  
  9.     Плата Xadow с многоканальным датчиком газа оснащена
  10.     микроконтроллером ATmega168PA, который получает данные
  11.     от датчиков и передает их главной плате Xadow.
  12.     Данные – это «сырые» АЦП-значения, и алгоритм их обработки
  13.     должен быть реализован на главной плате Xadow.
  14.  
  15.     Если у вас возникнут какие-то вопросы, можете писать мне на почту.
  16.     Джеки Чан (Jacky Zhang), разработчик встраиваемого ПО.
  17.     qi.zhang@seeed.cc
  18.     17,mar,2015
  19. */
  20.  
  21. #include "xadow.h"
  22. #include <Wire.h>
  23. #include "MutichannelGasSensor.h"
  24.  
  25. void setup()
  26. {
  27.     Xadow.init();
  28.  
  29.     Serial.begin(9600); //  запускаем последовательную коммуникацию
  30.                         //  для вывода данных с датчиков
  31.     Serial.println("power on!");  //  "питание включено!"
  32.  
  33.     //  по умолчанию I2C-адрес для перифер. устройства – это 0x04:
  34.     mutichannelGasSensor.begin(0x04);
  35.     //mutichannelGasSensor.changeI2cAddr(0x10);
  36.     //mutichannelGasSensor.doCalibrate();
  37.     //delay(8000);
  38.     while(mutichannelGasSensor.readR0() < 0)
  39.     {
  40.         Serial.println("sensors init error!!");
  41.                    //  "ошибка инициализации датчиков!!"
  42.         delay(1000);
  43.     }
  44.     Serial.print("Res0[0]: ");
  45.     Serial.println(mutichannelGasSensor.res0[0]);
  46.     Serial.print("Res0[1]: ");
  47.     Serial.println(mutichannelGasSensor.res0[1]);
  48.     Serial.print("Res0[2]: ");
  49.     Serial.println(mutichannelGasSensor.res0[2]);
  50.     mutichannelGasSensor.powerOn();
  51. }
  52.  
  53. void loop()
  54. {
  55.     mutichannelGasSensor.readR();
  56.     Serial.print("Res[0]: ");
  57.     Serial.println(mutichannelGasSensor.res[0]);
  58.     Serial.print("Res[1]: ");
  59.     Serial.println(mutichannelGasSensor.res[1]);
  60.     Serial.print("Res[2]: ");
  61.     Serial.println(mutichannelGasSensor.res[2]);
  62.  
  63.     mutichannelGasSensor.calcGas();
  64.     Serial.print("NH3: ");
  65.     Serial.print(mutichannelGasSensor.density_nh3);
  66.     Serial.println("ppm");
  67.     Serial.print("CO: ");
  68.     Serial.print(mutichannelGasSensor.density_co);
  69.     Serial.println("ppm");
  70.     Serial.print("NO2: ");
  71.     Serial.print(mutichannelGasSensor.density_no2);
  72.     Serial.println("ppm");
  73.  
  74.     Xadow.greenLed(LEDON);
  75.     delay(500);
  76.     Xadow.greenLed(LEDOFF);
  77.     delay(500);
  78.     Serial.println("...");
  79. }
  1. Выберите в IDE Arduino плату Seeeduino Xadow (подойдет и Arduino Leonardo) в меню Инструменты > Плата (Tools > Board) и правильный COM-порт в меню Инструменты > Порт (Tools > Port). Загрузите код на плату.
  2. Откройте монитор порта. В нем будут показаны «сырые» данные от датчика:
Mutichannel Gas Sensor XadowPrint.jpg

Полезные ссылки

См.также

Внешние ссылки

  1. wiki.seeed.cc - Xadow - Multichannel Gas Sensor