Kazalo:
- 1. korak: 1. korak: 1 Zagotovite delovno stanje senzorjev in naprav
- 2. korak: Kako deluje?
- Korak: Programirajte svoj Arduino z uporabo Arduino IDE
- 4. korak: Simulacija z uporabo Proteusa
- 5. korak: Izvajanje strojne opreme
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:02
Je težko izmeriti vrtljaje motorja ??? Mislim, da ne. Tukaj je ena preprosta rešitev.
To lahko stori samo en IR senzor in Arduino v vašem kompletu.
V tem prispevku bom predstavil preprosto vadnico, ki pojasnjuje, kako izmeriti vrtljaje katerega koli motorja z uporabo IR senzorja in Arduino UNO/nano
Zaloge:
1. Arduion uno (Amazon) / Arduion nano (Amazon)
2. IR senzor (Amazon)
3. DC motor kateri koli (Amazon)
4. LCD 16*2 (Amazon)
Uporabljena orodja
1. Spajkalnik (Amazon)
2. Odstranjevalec žice (Amazon)
1. korak: 1. korak: 1 Zagotovite delovno stanje senzorjev in naprav
Kaj je IR -senzor? IR -senzor je elektronska naprava, ki oddaja svetlobo, da zazna nek predmet okolice. IR senzor lahko meri toploto predmeta in zazna gibanje. Običajno v infrardečem spektru vsi predmeti oddajajo neko obliko toplotnega sevanja. Te vrste sevanj so za naše oči nevidne, vendar jih infrardeči senzor zazna.
Motor z enosmernim tokom (DC) je vrsta električnega stroja, ki pretvarja električno energijo v mehansko energijo. Enosmerni motorji napajajo elektriko z enosmernim tokom in to energijo pretvarjajo v mehansko vrtenje.
Enosmerni motorji uporabljajo magnetna polja, ki izvirajo iz električnih tokov, ki poganjajo rotor, pritrjen znotraj izhodne gredi. Izhodni navor in hitrost sta odvisna od električnega vhoda in zasnove motorja.
Kaj je Arduino?
Arduino je odprtokodna elektronska platforma, ki temelji na enostavni strojni in programski opremi. Arduino plošče lahko preberejo vhode - luč na senzorju, prst na gumbu ali sporočilo v Twitterju - in ga spremenijo v izhod - aktivirajo motor, vklopijo LED, objavijo nekaj na spletu. Plošči lahko poveste, kaj naj stori, tako da mikrokrmilniku na plošči pošljete niz navodil. Če želite to narediti, uporabite programski jezik Arduino (na osnovi ožičenja) in programsko opremo Arduino (IDE), ki temelji na obdelavi.
Prenesite ARDUINO IDE
2. korak: Kako deluje?
Kakšna je torej logika tega ??
Deluje zelo podobno kodirniku. Kodirniki so za začetnike težko razumljivi. Vse kar morate vedeti je, da IR senzor generira impulz in ugotovimo časovni interval med vsakim impulzom.
V tem primeru bo IR senzor poslal impulz na Arduino, kadarkoli bo njegov IR žarek prestregel z motornimi propelerji. Običajno uporabljamo propelerje z dvema lopaticama, jaz pa sem uporabil propeler s tremi lopaticami, kot je prikazano na sliki. glede na število lopatic propelerja moramo spremeniti nekatere vrednosti pri izračunu vrtljajev.
pomislimo, da imamo propeler z dvema lopaticama. Za vsak obratni motor bo rezilo dvakrat prestreglo IR -žarek. Tako bo IR senzor proizvedel impulze, kadar koli bo prestregel.
Zdaj moramo napisati program, ki bi lahko meril število impulzov, ki jih proizvede IR senzor v določenem časovnem intervalu.
Obstaja več načinov za rešitev težave, vendar se moramo odločiti, kateri je najboljši v teh kodah. Izmeril sem trajanje med prekinitvami (IR senzor) Uporabil sem funkcije mikroskopov () za merjenje trajanja impulzov v mikrosekundah.
To formulo lahko uporabite za merjenje RPMRPM = ((1/trajanje)*1000*1000*60)/rezil
kjer, trajanje - časovni interval med impulzi.
60 sekund do minut
1000 - mlin na sekundo
1000 - mikro do mlina
rezila - brez kril v propelerju.
LCD zaslon - Arduino posodobi registre ukazov in podatkov LCD zaslona. Ki prikazuje znake ASCII na LCD zaslonu.
Korak: Programirajte svoj Arduino z uporabo Arduino IDE
#vključi
LCD tekoči kristal (9, 8, 7, 6, 5, 4); const int IR_IN = 2; // IR senzor INPUT brez podpisa dolgi prevmicros; // Za dolgotrajno shranjevanje časa brez podpisa; // Za shranjevanje časovne razlike unsigned long lcdrefresh; // Shranjevanje časa za osvežitev lcd int rpm; // vrednost RPM boolean currentstate; // Trenutno stanje logičnega predhodnega stanja skeniranja IR vhoda; // Stanje IR senzorja v prejšnji nastavitvi void scan () {pinMode (IR_IN, INPUT); lcd.begin (16, 2); prevmicros = 0; prevstate = LOW; } void loop () {//////////////////////////////////////////////// ///////////////////////////////////////// Merjenje RPM currentstate = digitalRead (IR_IN); // Branje stanja IR senzorja if (prevstate! = Currentstate) // Če pride do spremembe vhoda {if (currentstate == LOW) // Če se vhod spremeni le iz HIGH v LOW {duration = (micros () - prevmicros); // Časovna razlika med vrtljaji v mikrosekundah vrt/min = ((60000000/trajanje)/3); // vrt/ min = (1/ časovni milis)*1000*1000*60; prevmicros = micros (); // shranite čas za izračun revolucije nekta}} prevstate = currentstate; // shranite te podatke skeniranja (prejšnje skeniranje) za naslednje skeniranje /////////////////////////////////////// ////////////////////////////////////////////////// LCD zaslon, če ((millis ()-lcdrefresh)> = 100) {lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Hitrost motorja"); lcd.setCursor (0, 1); lcd.print ("RPM ="); lcd.print (vrt / min); lcdrefresh = millis (); }}
4. korak: Simulacija z uporabo Proteusa
Ta projekt je deloval popolnoma v redu, ko sem to poskusil simulirati s pomočjo proteusa.
Namesto IR senzorja sem uporabil DC impulzni generator, ki bo simuliral IR impulz, podoben tistemu, ki nastane, ko IR žarki zadenejo lopatice propelerjev.
program morate spremeniti glede na senzor, ki ga uporabljate
Ta ukaz mora uporabiti IR senzor z LM358.
if (currentstate == HIGH) // Če se vnos spremeni le iz LOW v HIGH
Ta ukaz mora uporabiti IR senzor z LM359.
if (currentstate == LOW) // Če se samo vnos spremeni iz HIGH v LOW
5. korak: Izvajanje strojne opreme
Za shematsko uporabo uporabite simulacijske slike ali si oglejte programske kode in ustrezno vzpostavite povezave. Naložite programsko kodo v Arduino in izmerite število vrtljajev motorja. Spremljajte mojo naslednjo objavo in si oglejte moj YouTube kanal.
Priporočena:
Arduino krmiljenje hitrosti in smeri enosmernega motorja z uporabo potenciometra, OLED zaslona in gumbov: 6 korakov
Arduino krmiljenje hitrosti in smeri enosmernega motorja z uporabo potenciometra, OLED zaslona in gumbov: V tej vadnici se bomo naučili uporabljati gonilnik DC MOTOR CONTROL L298N in potenciometer za nadzor hitrosti in smeri enosmernega motorja z dvema gumboma in prikazati vrednost potenciometra na zaslonu OLED. Oglejte si predstavitveni video
Rotacijski ventilator z uporabo servo motorja in nadzor hitrosti: 6 korakov
Rotacijski ventilator z uporabo servo motorja in nadzor hitrosti: V tej vadnici se bomo naučili, kako s servo motorjem, potenciometrom, arduinom in Visuinom vrtiti ventilator z nastavljivo hitrostjo. Oglejte si video
Arduino nadzor hitrosti in smeri enosmernega motorja z uporabo potenciometra in gumbov: 6 korakov
Arduino nadzor hitrosti in smeri enosmernega motorja z uporabo potenciometra in gumbov: V tej vadnici se bomo naučili uporabljati gonilnik DC MOTOR CONTROL L298N in potenciometer za nadzor hitrosti in smeri enosmernega motorja z dvema gumboma. Oglejte si predstavitveni video
Arduino krmiljenje hitrosti in smeri enosmernega motorja z uporabo potenciometra: 6 korakov
Arduino krmiljenje hitrosti in smeri enosmernega motorja z uporabo potenciometra: V tej vadnici se bomo naučili uporabljati gonilnik L298N DC MOTOR CONTROL in potenciometer za nadzor hitrosti in smeri enosmernega motorja. Oglejte si predstavitveni video
Kako upravljati brezkrtačni enosmerni motor brez krtačk Drone Quadcopter (3 žice) z uporabo krmilnika hitrosti motorja HW30A in Arduino UNO: 5 korakov
Kako upravljati brezkrtačni enosmerni motor brez krtačk Drone Quadcopter (3 žice) z uporabo krmilnika hitrosti motorja HW30A in Arduino UNO: Opis: Krmilnik hitrosti motorja HW30A se lahko uporablja s 4-10 NiMH/NiCd ali 2-3-celičnimi LiPo baterijami. BEC je funkcionalen z do 3 LiPo celicami. Uporablja se lahko za nadzor hitrosti brezkrtačnega enosmernega motorja (3 žice) z največ 12V DC