KKM: MQ3 SENZOR ALKOHOLA

MQ3 senzor plinova - alkohol-Gas & Air quality

Početnik si s Dasduinom. Ili s elektronikom? Za oko ti je zapeo određeni modul, ali ne znaš kako ga koristiti? Bez brige, tu je KKM! Kako Koristiti Module (KKM) je serija blog tutorijala tvrtke soldered na kojoj ćeš pronaći sve što ti treba kako bi započeo rad sa svojim omiljenim modulom. Tutorijali obuhvaćaju: tehničke karakteristike, princip rada, upute kako povezati modul s Dasduinom te osnovni kod. Sve ostalo prepuštamo tebi na maštu.

UVOD

MQ3 je senzor plinova koji reagira na alkohol (etanol). Breakout sadrži sve potrebno za digitalna i analogna očitanja alkohola u zraku. Nemojte ga koristiti kao provjeru jeste li u stanju voziti!

Karakteristike:
Dimenzije: 32x32x27 mm
Napon: 5VDC
Izlaz: digitalni (HIGH/LOW), analogni (0-5V)

za više pogledaj datasheet.

KAKO RADI?

U osnovi, postoji grijač koji se uključuje spajanjem 5V napona na Vcc i gnd-a. Prema datasheetu, grijač povlači maksimalno 150mA. Stoga ne bi bilo loše napajati MQ3 preko vanjskog napajanja. Drugi dio ovog senzora je promjenjivi otpornik. Otpor unutar senzora mijenja se s obzirom na količinu alkohola u zraku, na način da više alkohola znači manji otpor. Umjesto da mjerimo otpor, na mikrokontroleru, mjeriti ćemo napon na analognom pinu (0-1023). Tako da će veće vrijednosti očitanja ozačavati veću količinu alkohola u zraku.

DIGITALNA OČITANJA

Breakout MQ3 sadrži komparator napona i potenciometar za podešavanje osjetljivost što nam omogućava digitalna očitanja. Očitanja dobivamo preko digitalnog DO pina MQ3 senzora. Kada očitanje premaši podešeno na potenciometru, očitavamo LOW na Dasduinu.

// digitalna očitanja s DO pina na D7 pin Croduina
int ulazPin = 7; // DO pin na D7 pin Croduina
int led = 13; // integrirana ledica na Croduino Basic
void setup() {
  pinMode(ulazPin, INPUT);
  pinMode(led, OUTPUT);
}
void loop() {
  if(digitalRead(ulazPin) == LOW) {
    digitalWrite(led, HIGH); // ako breakout šalje signal, upali ledicu
  }
  else {
    digitalWrite(led, LOW); // u suprotnom, ugasi ledicu
  }
}

 

ANALOGNA OČITANJA I KALIBRACIJA

Dok senzor savršeno radi za mjerenje relativne količine alkohola u zraku, malo ćemo se namučiti da dobijemo točna očitanja. Već smo spomenuli zašto i na koji način MQ3 preko analognog izlaza AO šalje napon 0-5V. Za početak očitavati ćemo vrijednosti na analognom pino A0 (0-1023) Dasduina.

void setup() {
  Serial.begin(9600);
}
void loop() {
  int ocitanje = analogRead(A0);
 
  Serial.println(ocitanje);
  delay(100);
}
Kalibracija
Krenimo s matematičke strane. Dobra stvar je što prema količini alkohola u zraku (dahu) možemo izračunati količinu u tijelu. Prema formuli [%]količina alkohola u krvi = količina alkohola u zraku [mg/L] * 0,21.Sve što trebamo je sa senzorom očitati količinu alkohola u dahu… Prvo imajte na umu da se grijač MQ3 mora zagrijati kako bi ispravno radio. Također, vrijeme između dva mjerenja bi trebalo biti oko 4-5 minuta kako bi otor senzora došao na otpor mjerenja. Ako smo uredu s tim i otvorimo datasheet na dio u kojem piše kako kalibrirati senzor nećemo biti oduševljeni. Prema njemu, trebali bi dovesti 0.4mg etanola u prostor od 1 litre kako bi otpor senzora bio 200kΩ. Odnosno, ovisno od temperaturi i vlazi zraka od 100kΩ do 470kΩ.Pošto nemamo uvjete izvesti takav pokus, na pamet na pada još jedna metoda – koleracija. Naime, na internetu čemo pronaći hrpu online kalkulatora količine alkohola u krvi. Npr., u znanstvene svrhe, popijemo 1 pivo. Pomoću kalkulatora izračunamo postotak alkohola u krvi te očitamo analogno očitanje na Dasduinu. Jednostvanim algoritmom napravimo koleraciju između navedene dvije vrijednosti. Za što točnija mjerenja bilo bi potrebno napraviti popriličan broj usporedbi (čitaj: konzumacija), koja ipak, na žalost ekipe soldered, nećemo napraviti. Ako se upustite u mjerenja, svakako nam javite rezultate.