Стабильность датчика газа

Тема в разделе "Arduino & Shields", создана пользователем Vir, 24 дек 2012.

  1. Vir

    Vir Гик

    Всем привет.

    Столкнулся с проблемой обработки данных с датчика газа. Дело в том, что он каждый раз возвращает разрозненные значения, например такие:
    Код (Text):
    59
    348
    341
    360
    351
    350
    354
    359
    344
    364
    229
    71
    233
    369
    416
    Код:
    Код (Text):
    #define SMOKE_DETECTOR_SENSOR_PIN 43
     
    int smokeDetectorValue = 0;
     
    void smokeDetectorSensorInit()
    {
      pinMode(SMOKE_DETECTOR_SENSOR_PIN, INPUT);
    }
     
    void smokeDetectorSensorHandler()
    {
      // Если время работы более минуты, то датчик
      // стабилизировал показания и готов к работе
      if (workTime > 60000)
      {
        smokeDetectorValue = analogRead(smokeDetectorValue);
        Serial.println(smokeDetectorValue);
        delay(1000);
      }
    }
     
    int getSmokeDetectorValue()
    {
      return smokeDetectorValue;
    }
    Как видно из кода, я начинаю читать с него данные, спустя 60 секунд после запуска arduino. Я, наивный, думал, что данные стабилизируются, но не тут-то было... я наблюдал за показаниями в течении 5 минут, и все эти пять минут он прыгал от ~90 до ~500.

    А когда я поджигаю бумажку (дымлю), то никаких заметных скачков в показаниях не вижу. Собственно, как с ним правильно работать?
     
  2. А датчик какой газ определяет?
     
  3. Vir

    Vir Гик

    В описании написано, что вплоть до сигаретного дыма.
     
  4. Странно, в спецификации говориться, что этот датчик определяет наличие воспламеняемый и ядовитых газов. Далее вообще говориться, что он мереет водород.
    (hydrogen): http://files.amperka.ru/datasheets/qm-ng1.pdf
     
  5. Vir

    Vir Гик

    Вот жеж блин... спасибо. Вводят в заблуждение покупателей, не хорошо это.
     
  6. Vir

    Vir Гик

    Разобрался в чём дело... я, идиотина, подключал его к цифровому входу, а надо было к аналоговому.
     
  7. Vir

    Vir Гик

    Вопрос, это нормально, что он греется?
     
  8. lerik2703

    lerik2703 Гик

    Видимо да если он имеет прогреваюший элемент :)
     
  9. Vir

    Vir Гик

    А я без понятия, имеет он прогревающий элемент или нет =)
     
  10. lerik2703

    lerik2703 Гик

    согласно даташиту имеет !:)
     
  11. Промышленные газоанализаторы, следящие за концетрацией отравляющих газов, например СО, прогреваются в течении часа. При этом не могу ничего сказать об этом, но в промышленном варианте поднесенная сигарета сильно портит датчик, вплоть до выхода из строя.
     
  12. nailxx

    nailxx Официальный Нерд Администратор

    Не хорошо. Но это изречение было сделано на основе проведённого эксперимента. Он действительно реагирует на сигаретный дым.

    А то, что он греется — абсолютно нормально. Более того, он работает не стабильно пока не прогреется до нужного уровня. Это происходит где-то за минуту.
     
  13. grx1a

    grx1a Гик

    Может быть я не прав, но у меня такое придчувствие складывается что вам надо попробовать внедрить в код экспонентциальный фильтр
     
  14. grx1a

    grx1a Гик

  15. grx1a

    grx1a Гик

    На сколько мне известно все газовые датчики работающие по данному принципу, требуют предварительного прогрева перед замером, я на работе пользуюсь подобным, только он промышленный, у него работа начинается с предварительного прогрева в течении 60 секунд, только после этого времени им можно пользоваться, то что он греется это нормально!. Перед замером всегда нужно калибровать датчик, так же данные датчики чувствительны к резкому перемене климата (например лежал прибор в теплом сухом помещении, вы его взли и сразу пошли мерить параметры на зимнюю улицу, 100% что погоду покажет ), Мой вам совет держите его по дальше от влаги, и не пытайтесь его продуть выдыхаемым воздухом!
     
  16. grx1a

    grx1a Гик

    Батарейки такие датчики жрут как свинья помои
     
  17. grx1a

    grx1a Гик

    warming-up = 60 sec
     
  18. grx1a

    grx1a Гик

    Желательно этот датчик установить в какую нибудь емкость через которую будет прокачиваться замеряемый воздух при помощи маленького воздушного насоса, на всасывающей стороне желательно подсоединить небольшой отрезок трубки диаметром примерно 1,5 см, длинной примерно такой же, набитую ватой(фильтр)
     
  19. grx1a

    grx1a Гик

    а какой газ мерить собираетесь?