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

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

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


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

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

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

Особенности

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

Схема

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

Параметр Условия Мин. Типичн. Макс. Единицы измерения
Напряжение - 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.

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

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

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

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

Распиновка

Демо-проект

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

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

  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). Этот скетч выглядит следующим образом:
/*
    Это демо-скетч
    для тестирования библиотеки «Multichannel Gas Sensor»

    Для скетча понадобятся следующие устройства:
-	Главная плата Xadow (центр. устройство; на него загружается код)
-	Плата Xadow с многоканальным датчиком газа (перифер. устройство)

    Плата Xadow с многоканальным датчиком газа оснащена
    микроконтроллером ATmega168PA, который получает данные
    от датчиков и передает их главной плате Xadow.
    Данные – это «сырые» АЦП-значения, и алгоритм их обработки
    должен быть реализован на главной плате Xadow.
 
    Если у вас возникнут какие-то вопросы, можете писать мне на почту.
    Джеки Чан (Jacky Zhang), разработчик встраиваемого ПО.
    qi.zhang@seeed.cc
    17,mar,2015
*/

#include "xadow.h"
#include <Wire.h>
#include "MutichannelGasSensor.h"

void setup()
{
    Xadow.init();

    Serial.begin(9600); //  запускаем последовательную коммуникацию
                        //  для вывода данных с датчиков 
    Serial.println("power on!");  //  "питание включено!"

    //  по умолчанию I2C-адрес для перифер. устройства – это 0x04:
    mutichannelGasSensor.begin(0x04);
    //mutichannelGasSensor.changeI2cAddr(0x10);
    //mutichannelGasSensor.doCalibrate();
    //delay(8000);
    while(mutichannelGasSensor.readR0() < 0)
    {
        Serial.println("sensors init error!!");
                   //  "ошибка инициализации датчиков!!"
        delay(1000);
    }
    Serial.print("Res0[0]: ");
    Serial.println(mutichannelGasSensor.res0[0]);
    Serial.print("Res0[1]: ");
    Serial.println(mutichannelGasSensor.res0[1]);
    Serial.print("Res0[2]: ");
    Serial.println(mutichannelGasSensor.res0[2]);
    mutichannelGasSensor.powerOn();
}

void loop()
{
    mutichannelGasSensor.readR();
    Serial.print("Res[0]: ");
    Serial.println(mutichannelGasSensor.res[0]);
    Serial.print("Res[1]: ");
    Serial.println(mutichannelGasSensor.res[1]);
    Serial.print("Res[2]: ");
    Serial.println(mutichannelGasSensor.res[2]);

    mutichannelGasSensor.calcGas();
    Serial.print("NH3: ");
    Serial.print(mutichannelGasSensor.density_nh3);
    Serial.println("ppm");
    Serial.print("CO: ");
    Serial.print(mutichannelGasSensor.density_co);
    Serial.println("ppm");
    Serial.print("NO2: ");
    Serial.print(mutichannelGasSensor.density_no2);
    Serial.println("ppm");

    Xadow.greenLed(LEDON);
    delay(500);
    Xadow.greenLed(LEDOFF);
    delay(500);
    Serial.println("...");
}
  1. Выберите в IDE Arduino плату Seeeduino Xadow (подойдет и Arduino Leonardo) в меню Инструменты > Плата (Tools > Board) и правильный COM-порт в меню Инструменты > Порт (Tools > Port). Загрузите код на плату.
  2. Откройте монитор порта. В нем будут показаны «сырые» данные от датчика:

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

См.также

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