Satura rādītājs:

Motora ātruma mērīšana, izmantojot Arduino: 6 soļi
Motora ātruma mērīšana, izmantojot Arduino: 6 soļi

Video: Motora ātruma mērīšana, izmantojot Arduino: 6 soļi

Video: Motora ātruma mērīšana, izmantojot Arduino: 6 soļi
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Jūlijs
Anonim
Motora ātruma mērīšana, izmantojot Arduino
Motora ātruma mērīšana, izmantojot Arduino
Motora ātruma mērīšana, izmantojot Arduino
Motora ātruma mērīšana, izmantojot Arduino
Motora ātruma mērīšana, izmantojot Arduino
Motora ātruma mērīšana, izmantojot Arduino

Vai ir grūti izmērīt motora apgriezienus ??? Es nedomāju. Šeit ir viens vienkāršs risinājums.

To var izdarīt tikai viens IR sensors un Arduino jūsu komplektā.

Šajā rakstā es sniegšu vienkāršu pamācību, kurā paskaidrots, kā izmērīt jebkura motora apgriezienus, izmantojot IR sensoru un Arduino UNO/nano

Piegādes:

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

2. IR sensors (Amazon)

3. DC motors jebkurš (Amazon)

4. LCD 16*2 (Amazon)

Izmantotie instrumenti

1. Lodāmurs (Amazon)

2. Stiepļu noņēmējs (Amazon)

1. darbība: 1. darbība: nodrošiniet sensoru un ierīču darba stāvokli

IR sensors ir elektroniska ierīce, kas izstaro gaismu, lai sajustu kādu apkārtnes objektu. IR sensors var izmērīt objekta siltumu, kā arī noteikt kustību. Parasti infrasarkanajā spektrā visi objekti izstaro kāda veida siltuma starojumu. Šāda veida starojums mūsu acīm nav redzams, bet infrasarkanais sensors var noteikt šos starojumus.

Līdzstrāvas motors (DC) ir elektriskās mašīnas veids, kas pārveido elektrisko enerģiju mehāniskā enerģijā. Līdzstrāvas motori patērē elektroenerģiju caur līdzstrāvu un pārvērš šo enerģiju mehāniskā rotācijā.

Līdzstrāvas motori izmanto magnētiskos laukus, kas rodas no radītās elektriskās strāvas, kas nodrošina izejas vārpstā fiksētā rotora kustību. Izejas griezes moments un ātrums ir atkarīgs gan no elektriskās ieejas, gan no motora konstrukcijas.

Kas ir Arduino?

Arduino ir atvērtā koda elektronikas platforma, kuras pamatā ir viegli lietojama aparatūra un programmatūra. Arduino dēļi spēj nolasīt ievadi - gaismu uz sensora, pirkstu uz pogas vai Twitter ziņu - un pārvērst to par izvadi - aktivizējot motoru, ieslēdzot LED, publicējot kaut ko tiešsaistē. Jūs varat pateikt savai padomei, kas jādara, nosūtot instrukciju kopu uz tāfeles mikrokontrollera. Lai to izdarītu, izmantojiet programmēšanas valodu Arduino (pamatojoties uz vadu) un Arduino programmatūru (IDE), kuras pamatā ir apstrāde.

Lejupielādēt ARDUINO IDE

2. darbība. Kā tas darbojas?

Tātad, kāda ir loģika aiz tā ??

Tas darbojas līdzīgi kā kodētājs. Iesācējiem ir grūti saprast kodētājus. Viss, kas jums jāzina, ir tas, ka IR sensors ģenerē impulsu, un mēs noskaidrojam laika intervālu starp katru impulsu.

Šajā gadījumā IR sensors nosūtīs impulsu Arduino, kad tā IR stars tiek pārtverts ar dzinēju dzenskrūvēm. Parasti mēs izmantojam dzenskrūves ar diviem asmeņiem, bet es esmu izmantojis dzenskrūvi ar trim lāpstiņām, kā parādīts attēlā. atkarībā no dzenskrūves lāpstiņu skaita, aprēķinot RPM, mums ir jāmaina dažas vērtības.

pieņemsim, ka mums ir dzenskrūve, kurai ir divi asmeņi. Katram apgriezienu motoram asmens divreiz pārtver IR staru. Tādējādi IR sensors radīs impulsus, kad vien pārtver.

Tagad mums ir jāraksta programma, kas noteiktā laika intervālā varētu izmērīt IS sensora radītos skaitliskos impulsus.

Problēmas risināšanai ir vairāk nekā viens veids, taču mums jāizvēlas, kurš no šiem kodiem ir vislabākais. Es esmu izmērījis ilgumu starp pārtraukumiem (IR sensors). Es izmantoju mikros () funkcijas, lai izmērītu impulsu ilgumu mikrosekundēs.

jūs varat izmantot šo formulu, lai izmērītu RPM RPM = ((1/ilgums)*1000*1000*60)/asmeņi

kur, ilgums - laika intervāls starp impulsiem.

60 - sekundes līdz minūtes

1000 - dzirnavas līdz sek

1000 - mikro līdz dzirnavām

asmeņi - spārnu skaits dzenskrūvē.

LCD displejs - Arduino atjaunina LCD displeja komandu un datu reģistrus. Kas LCD displejā parāda ASCII rakstzīmes.

3. darbība: ieprogrammējiet savu Arduino, izmantojot Arduino IDE

#iekļaut

LiquidCrystal LCD (9, 8, 7, 6, 5, 4); const int IR_IN = 2; // IR sensors INPUT unsigned long prevmicros; // Lai uzglabātu laiku neparakstītu ilgu laiku; // Lai saglabātu laika starpību unsigned long lcdrefresh; // Lai saglabātu laiku LCD atsvaidzināšanai int rpm; // RPM vērtība Būla straumstate; // IR ievades skenēšanas pašreizējais stāvoklis Būla iepriekšējā stāvoklī; // IR sensora stāvoklis iepriekšējā skenēšanas void setup () {pinMode (IR_IN, INPUT); lcd. sākums (16, 2); prevmicros = 0; prevstate = LOW; } void loop () {////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////// // Lasīt IR sensora stāvokli, ja (iepriekšējais stāvoklis! = Strāvas stāvoklis) // Ja ievadē ir izmaiņas {ja (strāvas stāvoklis == LOW) // Ja ievade mainās tikai no HIGH uz LOW {duration = (micros () - prevmicros); // Laika starpība starp apgriezieniem mikrosekundes apgr./min = ((60000000/ilgums)/3); // apgriezieni minūtē = (1/ laiks milis)*1000*1000*60; prevmicros = mikros (); // uzglabāt laiku nekt apgriezienu aprēķinam}} prevstate = strāvstate; // saglabāt šos skenēšanas (iepriekšējās skenēšanas) datus nākamajai skenēšanai ///////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////// LCD/LCD displejs, ja ((milis ()-lcdrefresh)> = 100) {lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Motora ātrums"); lcd.setCursor (0, 1); lcd.print ("RPM ="); lcd.print (apgr./min); lcdrefresh = milis (); }}

4. darbība: simulācija, izmantojot Proteus

Simulācija, izmantojot Proteus
Simulācija, izmantojot Proteus

Šis projekts strādāja pilnīgi labi, kad es mēģināju to simulēt ar proteus palīdzību.

Tā vietā, lai izmantotu IR sensoru, es izmantoju līdzstrāvas impulsu ģeneratoru, kas imitēs IR impulsu, kas ir līdzīgs tam, kas radīts, kad IR stari skar dzenskrūves lāpstiņas.

jums ir jāveic izmaiņas programmā atkarībā no izmantotā sensora

IR sensoram ar LM358 ir jāizmanto šī komanda.

ja (strāvas stāvoklis == HIGH) // Ja ievade mainās tikai no LOW uz HIGH

IR sensoram ar LM359 ir jāizmanto šī komanda.

ja (strāvas stāvoklis == LOW) // Ja ievade mainās tikai no HIGH uz LOW

5. darbība. Aparatūras izpilde

Aparatūras izpilde
Aparatūras izpilde
Aparatūras izpilde
Aparatūras izpilde
Aparatūras izpilde
Aparatūras izpilde

Shematiski izmantojiet simulācijas attēlus vai skatiet programmu kodus un attiecīgi izveidojiet savienojumus. Augšupielādējiet programmas kodu Arduino un izmēriet jebkura motora apgriezienus. Sekojiet manam nākamajam ierakstam un skatieties manu YouTube kanālu.

Ieteicams: