Sisukord:

Mootori kiiruse mõõtmine Arduino abil: 6 sammu
Mootori kiiruse mõõtmine Arduino abil: 6 sammu

Video: Mootori kiiruse mõõtmine Arduino abil: 6 sammu

Video: Mootori kiiruse mõõtmine Arduino abil: 6 sammu
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Juuli
Anonim
Mootori kiiruse mõõtmine Arduino abil
Mootori kiiruse mõõtmine Arduino abil
Mootori kiiruse mõõtmine Arduino abil
Mootori kiiruse mõõtmine Arduino abil
Mootori kiiruse mõõtmine Arduino abil
Mootori kiiruse mõõtmine Arduino abil

Kas mootori pöördeid on raske mõõta ??? Ma ei usu. Siin on üks lihtne lahendus.

Teie komplektis saab seda teha ainult üks IR -andur ja Arduino.

Selles postituses annan lihtsa õpetuse, mis selgitab, kuidas mõõta mis tahes mootori pöörlemiskiirust IR -anduri ja Arduino UNO/nano abil

Tarvikud:

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

2. IR -andur (Amazon)

3. alalisvoolumootor (Amazon)

4. LCD 16*2 (Amazon)

Kasutatud tööriistad

1. Jootekolb (Amazon)

2. Traadi eemaldaja (Amazon)

1. samm: samm: 1 Veenduge, et andurid ja seadmed oleksid töökorras

IR -andur on elektrooniline seade, mis kiirgab valgust, et tajuda mõnda ümbritsevat objekti. IR -andur suudab mõõta objekti kuumust ja tuvastab liikumise. Tavaliselt kiirgavad infrapunaspektris kõik objektid mingisugust soojuskiirgust. Seda tüüpi kiirgus on meie silmadele nähtamatu, kuid infrapunaandur suudab neid kiirgusi tuvastada.

Alalisvoolumootor (DC) on teatud tüüpi elektrimasin, mis muudab elektrienergia mehaaniliseks energiaks. Alalisvoolumootorid võtavad elektrienergiat alalisvoolu kaudu ja muudavad selle energia mehaaniliseks pöörlemiseks.

Alalisvoolumootorid kasutavad tekitatud elektrivooludest tekkivaid magnetvälju, mis juhivad väljundvõllile kinnitatud rootori liikumist. Väljundmoment ja kiirus sõltuvad nii elektrisisendist kui ka mootori konstruktsioonist.

Mis on Arduino?

Arduino on avatud lähtekoodiga elektroonikaplatvorm, mis põhineb hõlpsasti kasutataval riist- ja tarkvaral. Arduino tahvlid on võimelised lugema sisendeid - valgust anduril, sõrme nupul või Twitteri sõnumit - ja muutma selle väljundiks - aktiveerides mootori, lülitades sisse LED -i, avaldades midagi võrgus. Saate oma plaadile öelda, mida teha, saates juhiste komplekti tahvli mikrokontrollerile. Selleks kasutate programmeerimiskeelt Arduino (põhineb juhtmestikul) ja töötlemisel põhinevat Arduino tarkvara (IDE).

Laadige alla ARDUINO IDE

Samm 2: Kuidas see toimib?

Mis loogika selle taga siis on ??

See töötab kodeerijaga sarnaselt. Algajatele on kodeerijatest raske aru saada. Kõik, mida pead teadma, on see, et IR -andur genereerib impulsi ja me selgitame välja ajavahemiku iga impulsi vahel.

Sel juhul saadab infrapunaandur Arduinole impulsi, kui selle infrapunakiir on mootorite propellerite abil kinni püütud. Tavaliselt kasutame kahe labaga propellereid, kuid mina olen kasutanud kolme labaga sõukruvi, nagu on näidatud joonisel. olenevalt propelleri labade arvust peame pöörete arvu arvutamisel muutma mõningaid väärtusi.

oletame, et meil on sõukruvi, millel on kaks tera. Iga pöörlemismootori korral võtab tera IR -kiirguse kaks korda kinni. Seega tekitab infrapunaandur impulsse, kui see kunagi vahele jääb.

Nüüd peame kirjutama programmi, mis võiks mõõta IR -anduri poolt teatud ajavahemiku jooksul toodetud arvimpulsse.

Probleemi lahendamiseks on rohkem kui üks viis, kuid me peame valima, milline neist koodidest on parim. Olen mõõtnud katkestuste vahelist kestust (IR -andur). Ma kasutasin mikros () funktsioone impulsside kestuse mõõtmiseks mikrosekundites.

selle valemi abil saate RPM RPM = ((1/kestus)*1000*1000*60)/terad

kus, kestus - impulsside vaheline ajavahemik.

60 sekundit minutini

1000 - mill sekundist

1000 - mikro kuni veski

labad - tiiviku tiibade arv.

LCD -ekraan - Arduino värskendab LCD -ekraani käsu- ja andmeregistreid. Mis kuvab LCD -ekraanil ASCII märke.

Samm: programmeerige Arduino Arduino IDE abil

#kaasake

LiquidCrystal LCD (9, 8, 7, 6, 5, 4); const int IR_IN = 2; // IR -andur INPUT allkirjastamata pikad eelvaated; // Et salvestada aega allkirjata pikka aega; // Ajavahe salvestamiseks unsigned long lcdrefresh; // Et salvestada aega lcd värskendamiseks int rpm; // RPM väärtus boolean currentstream; // IR sisendi skaneerimise praegune olek boolean prevstate; // IR -anduri olek eelmises skannimises tühimiku seadistus () {pinMode (IR_IN, INPUT); lcd.algus (16, 2); prevmicros = 0; prevstate = LOW; } void loop () {//////////////////////////////////////////////////////////// või /////////////////////////////////////////////////////////////////////// RPM Measurement currentstate = digitalRead (IR_IN); // Loe IR anduri olekut if (prevstate! = Currentstate) // Kui sisendis on muutusi {if (currentstate == LOW) // Kui sisend muutub ainult HIGH -st LOW -ks {duration = (micros () - prevmicros); // Ajavahe pöörde vahel mikrosekundites p/min = ((60000000/kestus)/3); // p/ min = (1/ aja millis)*1000*1000*60; prevmicros = mikros (); // salvestusaeg nekt -pöörde arvutamiseks}} prevstate = currentstate; // salvestage need skannimisandmed (eelnev skannimine) järgmise skannimise jaoks ////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////// või LCD- ekraan, kui ((millis ()-lcdrefresh)> = 100) {lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Mootori kiirus"); lcd.setCursor (0, 1); lcd.print ("RPM ="); lcd.print (p / min); lcdrefresh = millis (); }}

4. samm: simulatsioon Proteuse abil

Simulatsioon Proteuse abil
Simulatsioon Proteuse abil

See projekt töötas suurepäraselt, kui proovisin seda proteuse abil simuleerida.

IR -anduri kasutamise asemel kasutasin alalisvoolu impulssgeneraatorit, mis simuleerib IR -impulssi, mis sarnaneb sellele, mis tekib siis, kui IR -kiirgus tabab sõukruvi labasid.

peate oma programmis muudatusi tegema, sõltuvalt kasutatavast andurist

Seda käsku peab kasutama IR -andur koos LM358 -ga.

if (vooluhulk == HIGH) // Kui sisend muutub ainult LOW -lt kõrgele

IR -andur koos LM359 -ga peab seda käsku kasutama.

if (currentstate == LOW) // Kui sisend muutub ainult kõrgelt madalale

Samm: riistvara täitmine

Riistvara täitmine
Riistvara täitmine
Riistvara täitmine
Riistvara täitmine
Riistvara täitmine
Riistvara täitmine

Skemaatiliseks kasutamiseks kasutage simulatsioonipilte või vaadake programmikoode ja looge ühendused vastavalt. Laadige programmi kood Arduinosse ja mõõtke mis tahes mootori pööret. Jälgige minu järgmist postitust ja vaadake minu YouTube'i kanalit.

Soovitan: