• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

ESP32+MQ135

Далекс

New member
Приветствую.Имеется esp32-wroom32(38pin) и датчик MQ135.Нужно получать значения PPM(CO2).На mq135 резистор rl заменил с 2 на 32кОм,в библиотеке mq135.h изменения внес.При калибровке rzero выдаются отрицательные значения
.изображение_2023-12-17_114002341.png
Соответственно при дальнейшем написании скетча, датчик работает с точностью до наоборот (т.е. при повышении концентрации CO2 значения PPM падают).Что интересно ,с ардуино уно датчик mq135 работает правильно, т.е. дело не в датчике.Может кто то сталкивался с этой проблемой?Помогите решить.
 

aZholtikov

Active member
 

Далекс

New member
Про ADC читал,но вроде по умолчанию устанавливается ADC_ATTEN_12db .То есть нужно прям прописывать в скетче ADC_ATTEN ?
 

Далекс

New member
Переписал скетч с учётом ADC_ATTEN и добавил замер напряжения .Напряжение с датчика в допустимом диапазоне. Всё равно "PPM nan"mq.jpg
 

Вложения

Далекс

New member
Решение найдено. В библиотеке MQ135 в файле MQ135.cpp находим строку "
float MQ135::getResistance() {
int val = analogRead(_pin);
return ((1023./(float)val) - 1.)*_rload;

, и меняем 1023 на 4096 mqnorm.png
 

Далекс

New member
А разве ,не чем выше разрешение-тем выше точность ? У меня ещё резисторный делитель стоит.
 
Сверху Снизу