Sadržaj:
- Korak 1: Korak: 1 Osigurajte radno stanje senzora i uređaja
- Korak 2: Kako to funkcionira?
- Korak 3: Programirajte svoj Arduino koristeći Arduino IDE
- 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 izmjena: 2024-01-30 08:04
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
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
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:
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 istosmjernog motora L298N i potenciometar za kontrolu brzine i smjera istosmjernog motora s dva gumba i prikazati vrijednost potenciometra. na OLED ekranu. Pogledajte 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 za istosmjerno upravljanje motorom L298N 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 motor bez četkica bez četkica pomoću HW30A kontrolera 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 može koristiti i kao generator signala za električni regulator brzine (ESC), tada ne možete