Sadržaj:

Mjerenje brzine motora pomoću Arduina: 6 koraka
Mjerenje brzine motora pomoću Arduina: 6 koraka

Video: Mjerenje brzine motora pomoću Arduina: 6 koraka

Video: Mjerenje brzine motora pomoću Arduina: 6 koraka
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Juli
Anonim
Mjerenje brzine motora pomoću Arduina
Mjerenje brzine motora pomoću Arduina
Mjerenje brzine motora pomoću Arduina
Mjerenje brzine motora pomoću Arduina
Mjerenje brzine motora pomoću Arduina
Mjerenje brzine motora pomoću Arduina

Je li teško izmjeriti okretaje motora ??? Mislim da nije. Evo jednog jednostavnog rješenja.

To mogu učiniti samo jedan IC senzor i Arduino u vašem kompletu.

U ovom postu dat ću jednostavan vodič koji objašnjava kako mjeriti RPM bilo kojeg motora pomoću IC senzora i Arduino UNO/nano

Potrošni materijal:

1. Arduion uno (Amazon) / Arduion nano (Amazon)

2. IC senzor (Amazon)

3. DC motor bilo koji (Amazon)

4. LCD 16*2 (Amazon)

Korišteni alati

1. Lemilica (Amazon)

2. Skidač žice (Amazon)

Korak 1: Korak: 1 Osigurajte radno stanje senzora i uređaja

Šta je IC senzor? IR senzor je elektronički uređaj koji emitira svjetlo kako bi osjetio neki objekt u okruženju. IR senzor može mjeriti toplinu objekta, kao i detektirati kretanje. Obično u infracrvenom spektru svi objekti zrače neki oblik toplinskog zračenja. Ove vrste zračenja su nevidljive za naše oči, ali infracrveni senzor može otkriti ta zračenja.

Šta je motor jednosmerne struje? Motor jednosmerne struje (DC) je vrsta električne mašine koja pretvara električnu energiju u mehaničku. Motori istosmjerne struje uzimaju električnu energiju istosmjernom strujom i pretvaraju tu energiju u mehaničku rotaciju.

Istosmjerni motori koriste magnetska polja koja proizlaze iz generiranih električnih struja, a koji pokreću kretanje rotora fiksiranog unutar izlaznog vratila. Izlazni zakretni moment i brzina ovise o električnom ulazu i dizajnu motora.

Šta je Arduino?

Arduino je elektronička platforma otvorenog koda zasnovana na hardveru i softveru koji se lako koristi. Arduino ploče mogu čitati ulaze - svjetlo na senzoru, prst na dugmetu ili poruku na Twitteru - i pretvoriti ga u izlaz - aktivirati motor, uključiti LED diodu, objaviti nešto na mreži. Ploči možete reći šta da radi slanjem skupa uputstava mikrokontroleru na ploči. Da biste to učinili, koristite programski jezik Arduino (zasnovan na ožičenju) i Arduino softver (IDE), zasnovan na obradi.

Preuzmite ARDUINO IDE

Korak 2: Kako to funkcionira?

Pa koja je logika iza ovoga ??

Radi mnogo slično koderu. Kodiranje je početnicima teško razumljivo. Sve što trebate znati je da IR senzor generira impuls, a mi otkrivamo vremenski interval između svakog impulsa.

U tom slučaju IC senzor će poslati impuls Arduinu kad god se njegov IC snop presretne motornim propelerima. Obično koristimo propelere s dvije lopatice, ali ja sam koristio propelere s tri lopatice kao što je prikazano na slici. ovisno o broju lopatica propelera potrebno je izmijeniti neke vrijednosti prilikom izračunavanja okretaja u minuti.

uzmimo u obzir da imamo propeler koji ima dvije lopatice. Za svaki motor okretaja oštrica će presresti IR zraku dva puta. Tako će IR senzor proizvoditi impulse kad god se presretne.

Sada moramo napisati program koji bi mogao mjeriti broj impulsa koje proizvodi IC senzor u određenom vremenskom intervalu.

Postoji više načina za rješavanje problema, ali moramo odabrati koji je najbolji u ovim kodovima. Izmjerio sam trajanje između prekida (IR senzor) Koristio sam funkcije mikroskopa () za mjerenje trajanja impulsa u mikro sekundama.

možete koristiti ovu formulu za mjerenje RPMRPM = ((1/trajanje)*1000*1000*60)/lopatica

gdje, trajanje - vremenski interval između impulsa.

60 - sekundi do minuta

1000 - mlin u sekundi

1000 - mikro do mlina

noževi - nema krila u propeleru.

LCD ekran - Arduino ažurira komande i registre podataka LCD ekrana. Koji prikazuje ASCII znakove na LCD ekranu.

Korak 3: Programirajte svoj Arduino koristeći Arduino IDE

#include

LiquidCrystal lcd (9, 8, 7, 6, 5, 4); const int IR_IN = 2; // IC senzor INPUT nepotpisani dugi prevmicros; // Za pohranu vremenskog nepotpisanog dugog trajanja; // Za spremanje vremenske razlike unsigned long lcdrefresh; // Za pohranu vremena za osvježavanje lcd -a int rpm; // vrijednost RPM -a boolean currentstate; // Trenutno stanje boolean prevstate skeniranja IC ulaza; // Stanje IC senzora u prethodnom podešavanju praznine skeniranja () {pinMode (IR_IN, INPUT); lcd.begin (16, 2); prevmicros = 0; prevstate = LOW; } void loop () {//////////////////////////////////////////////// ///////////////////////////////////////// RPM mjerenje currentstate = digitalRead (IR_IN); // Čitanje stanja IR senzora if (prevstate! = Currentstate) // Ako dođe do promjene u ulazu {if (currentstate == LOW) // Ako se ulaz mijenja samo iz HIGH u LOW {duration = (micros () - prevmicros); // Vremenska razlika između okretaja u mikrosekundi o/min = ((60000000/trajanje)/3); // o/ min = (1/ milis)*1000*1000*60; prevmicros = micros (); // pohraniti vrijeme za proračun revolucije nekta}} prevstate = currentstate; // spremi podatke za prethodno skeniranje (prethodno skeniranje) za sljedeće skeniranje /////////////////////////////////////// /////////////////////////////////////////////////// LCD ekran ako ((millis ()-lcdrefresh)> = 100) {lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Brzina motora"); lcd.setCursor (0, 1); lcd.print ("RPM ="); lcd.print (o / min); lcdrefresh = millis (); }}

Korak 4: Simulacija pomoću Proteusa

Simulacija pomoću Proteusa
Simulacija pomoću Proteusa

Ovaj projekt je savršeno funkcionirao kada sam pokušao to simulirati uz pomoć proteusa.

Umjesto IC senzora, upotrijebio sam generator istosmjernih impulsa koji će simulirati infracrveni impuls sličan onom koji nastaje kada IC zraci udare u lopatice elise.

morate promijeniti program u zavisnosti od senzora koji koristite

IR senzor s LM358 mora koristiti ovu naredbu.

if (currentstate == HIGH) // Ako se ulaz mijenja samo iz LOW u HIGH

IR senzor s LM359 mora koristiti ovu naredbu.

if (currentstate == LOW) // Ako se ulaz mijenja samo iz HIGH u LOW

Korak 5: Izvođenje hardvera

Izvođenje hardvera
Izvođenje hardvera
Izvođenje hardvera
Izvođenje hardvera
Izvođenje hardvera
Izvođenje hardvera

Za shematsko korištenje simulacijskih slika ili upućivanje na programske kodove i povezivanje u skladu s tim. Prenesite programski kod na Arduino i izmjerite okretaje motora bilo kojeg motora. Pratite moj sljedeći post i gledajte moj YouTube kanal.

Preporučuje se: