Страница 1 из 1
					
				MQ-135
				Добавлено: 10 мар 2021, 22:55
				 DanilaWERT
				Помогите,пож,сделать пользовательский  блок для MQ-135.На форуме вроде нет.Есть одна тема,но там чего то не то.. 
Нашел такую инфу 
https://mysku.ru/blog/aliexpress/41409.html.Ну и автор библы 
https://hackaday.io/project/3475-sniffi ... no-library 
			 
			
					
				MQ-135
				Добавлено: 10 мар 2021, 23:02
				 Serg_Grn
				Судя по описанию, у него аналоговый выход. И цифровой как превышение порога. Для чего пользовательский блок?
Screenshot_20210310-220843_Chrome.jpg
 
			 
			
					
				MQ-135
				Добавлено: 10 мар 2021, 23:12
				 DanilaWERT
				[ref]Serg_Grn[/ref], я если чесно,не понимаю зачем. 

 Но чтоб по взрослому было 

 .Написали же библу для него.Я так понял там лучше выделяется показания именно СО2 на фоне других.
Отправлено спустя     2 минуты 17 секунд:
я вообще первый раз с ним связался..Вот сейчас подключил к А0.показывает на столе 597-600..дышишь на него больше становится..где здесь ррm...
 
			 
			
					
				MQ-135
				Добавлено: 10 мар 2021, 23:14
				 Serg_Grn
				Serg_Grn писал(а): 10 мар 2021, 23:02
Написали же библу для него.
 
Библиотека, как я понимаю, просто для обработки и вывода значений с АЦП... 
Смысла не вижу, ресурсов flprog с головой достаточно чтоб как угодно обрабатывать данные с него.
 
			 
			
					
				MQ-135
				Добавлено: 10 мар 2021, 23:17
				 DanilaWERT
				[ref]Serg_Grn[/ref], а вы работали с таким датчиком?
			 
			
					
				MQ-135
				Добавлено: 10 мар 2021, 23:18
				 Serg_Grn
				Нет, не работал. Просто описание почитал.
			 
			
					
				MQ-135
				Добавлено: 10 мар 2021, 23:21
				 DanilaWERT
				[ref]Serg_Grn[/ref], вот сдесь немного перевода теории зачем[spoiler]В таблице данных указано, что MQ135 чувствителен к CO2, алкоголю, бензолу, NOx, NH3, а на рис. 3 показано изменение сопротивления в зависимости от концентрации этих газов в окружающем воздухе в ppm (от общего объема газа). Оказывается, общая чувствительность примерно одинакова для всех газов. Вот где вы думаете: Погодите! CO2 является 4-м по распространенности газом в следовых количествах в атмосфере Земли с концентрацией около 400 частей на миллион.концентрация (N2, O2 и Ar находятся на 1-3 месте). Все другие газы, которые обнаруживает датчик, встречаются гораздо реже, чем CO2, и, к счастью, так как они вредны. Это означает, что в нормальной атмосфере датчик в основном определяет CO2, и при правильной калибровке мы можем использовать его в качестве дешевой замены MQ811 (который, кстати, также чувствителен к другим газам). Оказывается, кто-то уже попробовал это сделать: я оставлю вам отличное объяснение Дэвида Жирони для деталей, но в основном он просто извлекает данные из цифр в таблице данных, бросает математику в проблему и перекрестно проверяет результаты с другим типом датчика CO2.[/spoiler]
			 
			
					
				MQ-135
				Добавлено: 11 мар 2021, 00:29
				 ViktorPetrov
				Библиотека позволяет производить калибровку датчику и пересчитывать значение АЦП его в концентрацию газов по формуле:
ppm=116.602*((RS/R0)^2.769034857) (возведение в степень 2.76903 та еще задачка 

 ) и компенсацию по температуре и влажности воздуха .
 
Тоже самое только библиотека от Амперки 
			 
			
					
				MQ-135
				Добавлено: 11 мар 2021, 00:36
				 DanilaWERT
				[ref]ViktorPetrov[/ref], т.е. можно эту формулу в флпрог прописать и все?
Создал проект.Сделал аналоговый вход.Вывожу на дисплей через блок конвертации типов.Показывает 355 чего то в среднем.последний символ че то только какой то размыленый..Развел в банке лимонку с содой поднялось до 700-ста. 

Сейчас попробовал то амперки.Результат вроде более правдоподобный.И каклибровку сама делает.
 
			 
			
					
				MQ-135
				Добавлено: 11 мар 2021, 01:05
				 ViktorPetrov
				DanilaWERT писал(а): 11 мар 2021, 00:36
Сейчас попробовал то амперки.Результат вроде более правдоподобный.И каклибровку сама делает.
 
 А значение 
Ro(сопротивление датчика в чистом воздухе) сколько вышло ?
 
			 
			
					
				MQ-135
				Добавлено: 11 мар 2021, 01:08
				 DanilaWERT
				[ref]ViktorPetrov[/ref], 67-69.В этих пределах.
Вник маленько..В библе прописано сопротивление.Я про тройку.10К.По факту у меня на китайском 1К.Поменял на мое.И R0 стало вместо 65... стало 6.5...Показания СО2 не изменились вроде.
			 
			
					
				MQ-135
				Добавлено: 11 мар 2021, 23:45
				 DanilaWERT
				[ref]ViktorPetrov[/ref], а вы пользовались такими датчиками?
Вопрос о калибровке.Я правильно понимаю,что она нужна один раз?
Отправлено спустя    1 час 27 минут 56 секунд:
Наваял сам блок  

 Уж незнаю насколько правильно,но работает.
С калибровкой незнаю чего делать.Если я правильно понимаю ее надо делать один раз.А у меня получается,что она делается каждый раз при включении контролера.Незнаю как поправить.Подскажите..
 
			 
			
					
				MQ-135
				Добавлено: 12 мар 2021, 16:46
				 ViktorPetrov
				[ref]DanilaWERT[/ref], Датчика нет,калибровку нужно делать один раз,затем прописать в строку : mq135.calibrate()сопротивление датчика (Ro) .
			 
			
					
				MQ-135
				Добавлено: 12 мар 2021, 22:47
				 DanilaWERT
				[ref]ViktorPetrov[/ref], я уж понял.Но не могу добавить это в блок.Я в коде вообще ничего не понимаю.Сделал этот чисто интуитивно.
Отправлено спустя     5 минут 38 секунд:
Блин,мужики,Может кто-нибудь сделает пользовательский блок в новом редакторе универсальный для всех блоков серии MQ на основе библиотеки ТРОЙКА.Там алгоритм одинаковый по моему для всех блоков,только цифры и название разное.
На форуме полно всяких блоков и в разных вариантах,а вот для этих датчиков ни одного не нашел.Никто не пользуется что ли?Я один такой  

 
			 
			
					
				MQ-135
				Добавлено: 16 мар 2021, 00:25
				 DanilaWERT
				DanilaWERT писал(а): 12 мар 2021, 22:47
Может кто-нибудь сделает пользовательский блок в новом редакторе универсальный для всех блоков серии MQ на основе библиотеки ТРОЙКА
 
Не дождался,делаю сам  
 
На каждый датчик свой блок.И один для корректировки общий.Принцип работы:
Запускаем блок корректировки.Считываем так называемое R0 и прописываем его константой на вход R0  блока нужного датчика.
Так как языка я незнаю совсем,поэтому делаю блоки по примерам из библиотеки Тройка от амперки.И все встало на том,что я не могу приделать функцию calibrate().Обьясните как это выполнить или это не возможно сделать общим для датчиков?Я не понимаю что там написано в библиотеке,но кажется что можно.Прилагаю на всякий случай мой блок,но он 
не доделаный,поэтому обращаю внимание.