Датчики серии MQ-* и библиотека TroykaMQ

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем Андрей Новичок, 20 сен 2018.

Метки:
  1. Здравствуйте, дорогие товарищи!
    Изучил имеющуюся библиотеку TroykaMQ. Библиотека ориентирована сразу на несколько датчиков, не удобно, но понятно. Честно говоря, смысл издеваться над пионерами, да и доморощенными инженерами, коим я являюсь не ведом. Потратил два вечера на разбор кода и поиски. Библиотеки вложены одна в другую - зачем? Возвращаемые функции и константы, объявляемые через define то в .h, то в .cpp. Посмотрел другие библиотеки для MQ-X - тоже самое. Зачем? Это так пионеров нужно учить? Универсальность библиотеки не оправдывает непрозрачность.
    Подход к относительности показаний датчиков понятен. Но вот что действительно не понятно, и это мои вопросы сообществу:

    Вопрос 1. Существенный. Откуда взялись цифры a и b? Смотрел Datasheets на MQ-4 в разных местах, хотя там всё одно и то же. Таблицы конкретных измерений не нашел. И здесь тоже: http://wiki.amperka.ru/_media/продукты:mq4:mq4_graph_factors.zip
    Откуда взялись цифры?
    TroykaMQ/src/MQ4.cpp
    unsigned long MQ4::readMethane() {
    return readScaled(-0.36, 2.54);
    }
    Кто производитель датчиков? Этот: http://ru.winsen-sensor.com/products/CH4/8.html?

    Вопрос 2. Необязательный, включая моё недомыслие на половину. Какой смысл в этом? Не увидел разницы в объёме памяти. Это для удобства отображения?
    TroykaMQ/src/BaseMQ.h
    ...
    float _ro = 1.0f;
    ...
    Буду признателен за ответ. Доступен 1-2 раза в месяц.

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------
    ДОБАВЛЕНО: 12.05.2019. Дорогие друзья, давайте пропустим срач и начнём смотреть сразу отсюда: http://forum.amperka.ru/threads/Датчики-серии-mq-и-библиотека-troykamq.16377/page-6#post-218136
    Там есть ошибки, но "сказка ложь - доброму молодцу урок" :)
     
    Последнее редактирование: 12 май 2019
  2. Mitrandir

    Mitrandir Гуру

    в смысле вложены одна в другую?
    вы про TroykaMQ.h?
    так он нужен чтоб подключить все датчики разом
    если нужен конкретный подключаете MQ<N>.h и все

    в .h фаиле константы в define для использования конечным пользователем(программистом) который использует библиотеку.
    в .cpp фаилах константы внутреннего использования. конечному пользователю они не нужны
     
  3. Mitrandir

    Mitrandir Гуру

    это скажем набор библиотек.
     
  4. SergeiL

    SergeiL Гуру

    Так а что Google находит если искать по "датчик" "Газ" "Новичок" :) ?
     
  5. Боюсь все датчики разом не получиться подключить чисто физически :), т.к. у всех потребление около 150 мА. Нужно внешее питание (ADRDUINO UNO). У Амперки, ксати, очень достойные блоки питания - уже 2 купил. Можно дешевле, но сроки здесь лучше. Собственно, потому и выбрал.
    С библитекой разобрался, конечно, - это не сложно. Ваши комментарии подтверждаю, всё так и есть. Понял, вижу.
    Далее обсуждать библиотеку смысла особо нет... ... просто жалко своё потраченное время на разбор кода. Хотелось более простого кода. Хотя, конечно, пионерам это нужно. Понимаю прекрасно Ваши задачи и вижу разумное.
    Выскажу своё мнение: Не знаю коцепцию Амперки, но мне кажется, что начинающему или, как мне, восстанавливающему свои давнишние знания, для дальнейшего развития нужно больше углубляться в железо. В физику процесса. А, собственно, физика, несколько нивелирована, скажем так. Паяльник из моей молодости уходит куда-то в прошлое. Это метафизика, мы можем долго и беспредметно это обсуждать.

    На вопросы ответа нет.:mad:
     
    Neo_ нравится это.
  6. ИгорьК

    ИгорьК Оракул Модератор

    ... красиво пишете.
     
  7. Mitrandir

    Mitrandir Гуру

    Не очень понятно, зачем начинающему лезть в кишки библиотеки.... она что неверно работает?

    Кроме магических констант она элементарна...

    как написано в описании Гита, они получены из даташита

     
    Последнее редактирование: 21 сен 2018
  8. Mitrandir

    Mitrandir Гуру

    калибровочные данные. хранятся показания на чистом воздухе
     
  9. Комментарий понятен.

    Задача: "Я не знаю что мне надо, но сделай так, чтобы было хорошо" (Эту задачу ставила не женщина!!!);).
    Перевод: обеспечить контроль температуры и газа в газовой котельной в загородном доме с нестабильным электропитанием и последующей отправкой SMS о текущих значениях по запросу и тревожных сигналов инициативно, а также еще много и много.
    Зачем я это объясняю? Особого смысла нет, но затем, чтобы избежать комментариев по поводу необходимости использования поисковиков и самообучения.
    Чтобы было понятно, я давным давно занимаюсь другими вещами и могу купить решение, но задача сделать что-то, о чем я мечтал в пионерском лагере не давала мне покоя. Таким образом освоение Arduino происходило в основном по вечерам перед ужином.

    Кстати, это ответ на вопрос по поводу "новичка". Нет времени. Слышу уже ответ - нет времени и есть деньги - обратись куда надо. Ну а как же творчество? Разве Амперка не развивает творчество?
    К примеру, я могу рассказать про внедрение 802.1х в крупной компании, т.к. этим занимаюсь в том числе. Но это работа. А приходя домой я хочу получть тупой сериал, время от времени пиво, несколько расслабиться и получить некий мифический "Продукт". Который сделает меня счастливым.:eek:

    В общем, выбрал Амперку, как рекомендованного многими источника качественных сенсоров, шилдов и пр.
    Альтернативы: "контроль газа" (как обобщающее понятие) чётко регламентирован. Для котлов от 60кВт существуют промышленные стандарты на перекрытие газа.
    - НКПР = 10% - тревога (в переводе на ppm = 4400, возможность взрыва в проветриваемом помещении);
    - НКПР = 20% - перекрытие трубопровода (в переводе на ppm = 8800, гарантия взрыва в проветриваемом помещении).
    Для частных домов (с котлами меньшей мощности) существуют регламенты, предписывающие сдачу дома только при заключении договора на обслуживание. В московском регионе цены фантастические - от 15 т.р. в год. В услуги входит промыливание трубопровода, измерение концентрации газа поверенными приборами 1 раз в год. Страховки нет. Я сам могу намылить чего-нибудь:cool:.
    Рассматривались разные варианты, в том числе вот этот, весьма не плохой: СГГ10-ХХ-ХХ. Есть возможность выбрать модель с заменяемыми вручную датчиками газа. Недостатки:
    - необходимо регистрировать в газовой службе;
    - необходимо покупать поверенные датчики каждые 5 лет, и снова регистрировать (платить бабло).
    В принципе не плохо. Очень нравится схемотехническое решение с мостом, кот. сравнивает показания двух вроде как одинаковых датчиков. Но опять же, дорого (не прибор, а регистрация и обслуживание). По RS-485 передаются данные только о готовности датчика и об отсутствии или наличии тревоги. Правильно, разумно, но заказчик хочет "контролировать ситуацию сам".
    Таким образом принял решение попробовать пионерский способ. Он даёт только предупреждение об изменениях в газовом оборудовании и не спасает от внезапной ситуации, это понятно. Но заказчик всегда имеет возможность при некорректной работе котла (есть подозрение) обратиться к эксплуатанту, заплатив разовый платеж или подписав договор. Смысл в этом.
     
  10. ИгорьК

    ИгорьК Оракул Модератор

    Я буду вашим подписчиком.
     
  11. ИгорьК

    ИгорьК Оракул Модератор

    Я просто уже сопереживаю ТС в его становлении.
     
    Daniil нравится это.
  12. Спасибо, что ли.
     
  13. Daniil

    Daniil Гуру

    Есть подозрение, что вы промахнулись. По вашему описанию, Амперка для менее требовательных людей.
    Я взял отладочную плату у атмел и балуюсь с ней (atsamg55). Не то, чтобы библиотек нет, просто, мне интересней и приятней самому написать то, что хочу. Да, косяки есть, но весело и удовольствие от результата. Да, и время есть.
     
    parovoZZ нравится это.
  14. Сомнительно. Честно. Или я не понимаю:rolleyes:. Показания калибровоных данных в других местах (поэтому и был пост). Объясните полутупому. Ноль, он, конечно, не единица. Но вопрос был про другое: какой смысл компилятору сообщать о двух единицах разрядов после запятой для float:
    "float _ro = 1.0f;"

    Я не очень разбираюсь, честно. Совсем честно, нифига!
    Но думать умею, время от времени;).

    Без всякой злобы, а только с радостью жду нормальный Datasheet от производителя со значениями в таблицах. До скорой встречи товарищи (господа)!
     
    Micaro нравится это.
  15. Какую-то чушь вы придумали. Никаких единиц разрядов там нет, и сделать это невозможно. Это просто число 1 в формате float.
     
    Mitrandir нравится это.
  16. Daniil

    Daniil Гуру

    В смысле двух единицах после зпт?
    а+1 и а+1.0 может привести к разным значениям, т.к. в одном случае второе слагаемое может быть интом и флоатом, а во втором точно не интом.
    буква f в конце числа навязывают тип для переменной (float), которая хранит это число. (важность типов проявляется при мат. операциях)
    IMG_20180921_013802.jpg
    Брайан Керниган и Деннис Ритчи. Язык программирования С (ANSI C).
     
  17. parovoZZ

    parovoZZ Гуру

    Зачем? Не проще изучить даташит?
    Не удобно, когда соседский сын на тебя похож.
    Смысл - сдуть пену.
    А я потратил 5 лет и 10 месяцев на обучение.
    Автор кому-то чем-то обязан? Об обязан отчитываться?
    Абдурино для тех, кто уже выучился и прекрасно знаком с предметом. Если вам говорят обратное - вас обманывают.
    У тебя с автором библиотеки заключен договор на техподдержку? Что мешает отказаться от использования библиотеки и/или данных компонентов? Датчиков газов на рынке полно.

    Напиши свою библиотеку, а мы ее с удовольствие откриткуем.
    Я за обслуживание котла плачу 200 рублей в месяц. Котел 32 кВт. ЛЕНИНГРАД.
     
  18. Здравствуйте, Товарищи!
    Позволю ответить сразу по всем последним комментариям.

    Выборочно кое-что смотел по этому форуму и другим. Видел как "опускают" тех, кто не удосужился мало-мальски напрячься для получения информации. Уверяю - не тот случай. Мало-мальски напрягся. Не собираюсь тягаться с теми, кто знает больше.
    Осознал свою ошибку - критика не то, с чего стоит начинать разговор. Ожидал боле быстрого результата сам от себя и несколько расстроился. Прошу принять как извинение. Не злитесь, друзья!

    Но вместе с тем, и как продолжение моих извинений, замечу, что выше писал про концепцию "для пионеров": "С библитекой разобрался, конечно, - это не сложно. Ваши комментарии подтверждаю, всё так и есть. Понял, вижу."
    Библиотека ориентирована на те задачи, которые ставились. Для тех задач, что ставились - всё супер! Я же хотел разобраться более глубоко.Просто такое вот личное желение. Что то получилось, что-то нет. Что не получилось понять за приемлемое время выразил в вопросах.

    Пройдемся по ранее заданным вопросам.
    1. Нормальный Datasheet с циферками я так и не нашел (за приемлемое время). Ну как поступить? Печатать на принтере и с линейкой мерить? Ну, господа-товарищи, это не комильфо. Поэтому и спросил. Спросить же всегда проще? Не ответили, ну и ладно. Все равно уловить границу неадекватного содержания CH4 возможно с тем что есть.
    2. Спасибо "Mitrandir", "Daniil", "дядя Витя" за разъяснение. Конструкция языка, это то, что первое пришло мне в голову. Просто дважды объяснять компилятору одно и то же мне и сейчас кажется странным. Думал есть какой-то другой смысл. Книжку Стратуструпа после переезда уже 6,5 лет валяющейся в коробке на балконе обещаю посмотреть когда-нибудь :). Здесь тоже вынужден принести извинение за недостаточную квалификацию. Даже как-то неудобно. Посмотрел что написали - объяснения понятны. Но почему там единица всё равно не понял. Обсудим позже, когда у меня будет возможность подговиться и задать более адекватный вопрос.

    parovoZZ: не хорошо. Надеюсь, что ВЫ смените гнев на милость. Когда девки из документооборота меня спрашивают почему самолёты летают, я не тешу себя надеждами, а беру лист А4. Беру двумя руками за края по меньшей длине, свешиваю вниз, затем чуть-чуть поворачиваю на себя, так, чтобы сформировать переднюю часть крыла по направлению "к себе" и начинаю дуть. Бумажка поднимается вверх.
    Я тоже учился 5 лет и 10 месяцев. 4,5 средний балл, и то, потому что бухал. Первое место за диплом (ЦОС), после работы в лаборатории радио***** приём в аспирантуру выглядел так: "Ты это знаешь," - "Да!" - "Принят". После защиты з/п 200 баксов, в коммерческой структуре - 500. Так и поступил.
    parovoZZ: По поводу котла. Я Вам завидую - "здесь вам не тут". Был один такой мастер. Брал 1500 р. за факт посещения. Ни хрена не сделал, только нагар убрал (я до этого и не думал, что при горении трубопроводного газа образуется такое количество золы). Запах чувствуется осязательными органами человека в момент, предшествующий включению котла. Это отдельная тема, включая вентиляцию. Но факт фантастического сбора дани, а никак иначе я это назвать не могу, на лицо. Или плати или хрен сдашь дом в эксплуатацию. Среди всех поборов этот самый спроный. Опять же, это отдельная тема, оффтоп. Если бы форум гарантировал соответствие 152 ФЗ и имел бы SSL-сертификат, то, я бы выложил в качестве антирекламы данные по мосгазу и другим конторам, с кем приходилось иметь дело.
     
  19. parovoZZ

    parovoZZ Гуру

    Ну какой гнев, скажи на милость?
    Датчики обязательно надо дополнять датчиками температуры и влажности. Далее по таблицам из даташита вводить поправки в показания. То бишь вся библиотека сводится к считыванию значений АЦП, вычислению содержания газа в необходимой размерности и внесению поправок. Все.
    Для СО2 рекомендую MHZ19 и 14.
     
    Андрей Новичок нравится это.
  20. parovoZZ

    parovoZZ Гуру

    Если 200 умножить на количество месяцев в году, то так же и выйдет. За эти деньги я получаю обслуживание 2 раза в год.