Sadržaj:
- Korak 1: Korak: 1 Osigurajte radno stanje senzora i uređaja
- Korak 2: Kako to funkcionira?
- Korak 3: Programirajte svoj Arduino pomoću Arduino IDE -a
- Korak 4: Simulacija pomoću Proteusa
- Korak 5: Izvođenje hardvera
Video: Mjerenje brzine motora pomoću Arduina: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:31
Je li teško izmjeriti okretaje motora ??? Mislim da nije. Evo jedno jednostavno rješenje.
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
Pribor:
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
Što 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 nekim oblikom toplinskog zračenja. Ove vrste zračenja su nevidljive za naše oči, ali infracrveni senzor može otkriti ta zračenja.
Što je istosmjerni motor? Motor istosmjerne struje (DC) je vrsta električnog stroja koji 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 moment i broj okretaja ovise o električnom ulazu i dizajnu motora.
Što je Arduino?
Arduino je elektronička platforma otvorenog koda koja se temelji na hardveru i softveru koji je jednostavan za korištenje. Arduino ploče mogu čitati ulaze - svjetlo na senzoru, prst na gumbu ili poruku na Twitteru - i pretvoriti ga u izlaz - aktivirati motor, uključiti LED, objaviti nešto na internetu. Ploči možete reći što učiniti slanjem skupa uputa mikrokontroleru na ploči. Da biste to učinili, koristite programski jezik Arduino (na temelju ožičenja) i Arduino softver (IDE), na temelju obrade.
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 IR senzor će poslati impuls Arduinu kad god se njegov IC snop presretne s 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 moramo mijenjati neke vrijednosti pri izračunavanju 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 stvarati impulse kad god dođe do presretanja.
Sada moramo napisati program koji bi mogao mjeriti broj impulsa koje proizvodi IR 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
lopatice - nema krila u propeleru.
LCD zaslon - Arduino ažurira registre naredbi i podataka LCD zaslona. Koji prikazuje ASCII znakove na LCD zaslonu.
Korak 3: Programirajte svoj Arduino pomoću Arduino IDE -a
#uključi
LCD tekući kristal (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 spremanje 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 postavljanju void skeniranja () {pinMode (IR_IN, INPUT); lcd.begin (16, 2); prevmicros = 0; prevstate = LOW; } void loop () {//////////////////////////////////////////////// ///////////////////////////////////////// RPM Mjerenje currentstate = digitalRead (IR_IN); // Očitavanje 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 vremena)*1000*1000*60; prevmicros = micros (); // pohraniti vrijeme za izračun revolucije nekta}} prevstate = currentstate; // pohraniti ove podatke skeniranja (prethodno skeniranje) za sljedeće skeniranje /////////////////////////////////////// /////////////////////////////////////////////////// LCD zaslon ako ((millis ()-lcdrefresh)> = 100) {lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Brzina motora"); lcd.setCursor (0, 1); lcd.print ("RPM ="); lcd.tisak (o / min); lcdrefresh = millis (); }}
Korak 4: Simulacija pomoću Proteusa
Ovaj projekt je savršeno uspio kada sam pokušao to simulirati uz pomoć proteusa.
Umjesto IC senzora, upotrijebio sam generator istosmjernih impulsa koji će simulirati IC impuls sličan onom koji nastaje kada IC zrake pogodi lopatice elise.
morate promijeniti svoj program ovisno o senzoru 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
Za shematsko korištenje simulacijskih slika ili upućivanje na programske kodove i povezivanje u skladu s tim. Prenesite programski kôd u Arduino i izmjerite okretaje bilo kojeg motora. Pratite moj sljedeći post i gledajte moj YouTube kanal.
Preporučeni:
Arduino kontrola brzine i smjera istosmjernog motora pomoću potenciometra, OLED zaslona i tipki: 6 koraka
Arduino kontrola brzine i smjera istosmjernog motora pomoću potenciometra, OLED zaslona i gumba: U ovom ćemo vodiču naučiti kako koristiti upravljački program L298N DC MOTOR CONTROL i potenciometar za kontrolu brzine i smjera istosmjernog motora s dva gumba i prikazati vrijednost potenciometra na OLED zaslonu.Gledajte demonstracijski video
Rotirajući ventilator pomoću servo motora i kontrola brzine: 6 koraka
Rotirajući ventilator pomoću servo motora i kontrole brzine: U ovom ćemo vodiču naučiti kako rotirati ventilator s podesivom brzinom pomoću servo motora, potenciometra, arduina i Visuina. Pogledajte video
Arduino kontrola brzine i smjera istosmjernog motora pomoću potenciometra i tipki: 6 koraka
Arduino kontrola brzine i smjera istosmjernog motora pomoću potenciometra i gumba: U ovom ćemo vodiču naučiti kako koristiti upravljački program L298N DC MOTOR CONTROL i potenciometar za kontrolu brzine i smjera istosmjernog motora s dva gumba. Pogledajte demonstracijski video
Arduino kontrola brzine i smjera istosmjernog motora pomoću potenciometra: 6 koraka
Arduino kontrola brzine i smjera istosmjernog motora pomoću potenciometra: U ovom ćemo vodiču naučiti kako koristiti upravljački program L298N DC MOTOR CONTROL i potenciometar za kontrolu brzine i smjera istosmjernog motora. Pogledajte demonstracijski video
Kako pokrenuti Drone Quadcopter bez četkice istosmjerni motor pomoću HW30A regulatora brzine motora bez četkica i servo testera: 3 koraka
Kako pokrenuti Drone Quadcopter motor bez četkica bez četkica pomoću kontrolera brzine motora bez četkica HW30A i servo testera: Opis: Ovaj uređaj se zove Servo Motor Tester koji se može koristiti za pokretanje servo motora jednostavnim priključivanjem servo motora i napajanjem na njega. Uređaj se također može koristiti kao generator signala za električni regulator brzine (ESC), tada ne možete