Sisällysluettelo:

Moottorin nopeuden mittaus Arduinolla: 6 vaihetta
Moottorin nopeuden mittaus Arduinolla: 6 vaihetta

Video: Moottorin nopeuden mittaus Arduinolla: 6 vaihetta

Video: Moottorin nopeuden mittaus Arduinolla: 6 vaihetta
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Marraskuu
Anonim
Moottorin nopeuden mittaus Arduinolla
Moottorin nopeuden mittaus Arduinolla
Moottorin nopeuden mittaus Arduinolla
Moottorin nopeuden mittaus Arduinolla
Moottorin nopeuden mittaus Arduinolla
Moottorin nopeuden mittaus Arduinolla

Onko moottorin kierrosluvun mittaaminen vaikeaa? En usko. Tässä on yksi yksinkertainen ratkaisu.

Vain yksi infrapuna -anturi ja Arduino sarjassa voivat tehdä niin.

Tässä viestissä annan yksinkertaisen opetusohjelman, joka selittää kuinka mitata minkä tahansa moottorin kierrosluku IR -anturin ja Arduino UNO/nano -laitteen avulla

Tarvikkeet:

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

2. IR -anturi (Amazon)

3. DC -moottori mikä tahansa (Amazon)

4. LCD 16*2 (Amazon)

Käytetyt työkalut

1. juotosrauta (Amazon)

2. Wire Stripper (Amazon)

Vaihe 1: Vaihe: 1 Varmista, että anturit ja laitteet toimivat

IR -anturi on elektroninen laite, joka lähettää valoa havaitakseen jonkin ympäristön kohteen. IR -anturi voi mitata kohteen lämpöä ja havaita liikkeen. Yleensä infrapunaspektrissä kaikki esineet säteilevät jonkinlaista lämpösäteilyä. Tämäntyyppinen säteily on näkymätöntä silmillemme, mutta infrapuna -anturi voi havaita nämä säteilyt.

Tasavirtamoottori (DC) on sähkökone, joka muuntaa sähköenergian mekaaniseksi energiaksi. Tasavirtamoottorit ottavat sähköä tasavirran kautta ja muuttavat tämän energian mekaaniseksi pyörimiseksi.

Tasavirtamoottorit käyttävät syntyvistä sähkövirroista syntyviä magneettikenttiä, jotka ohjaavat lähtöakseliin kiinnitetyn roottorin liikettä. Lähtömomentti ja -nopeus riippuvat sekä sähkötulosta että moottorin rakenteesta.

Mikä on Arduino?

Arduino on avoimen lähdekoodin elektroniikka-alusta, joka perustuu helppokäyttöiseen laitteistoon ja ohjelmistoon. Arduino -levyt pystyvät lukemaan tulot - valon anturissa, sormen painikkeessa tai Twitter -viestin - ja muuttamaan sen ulostuloksi - aktivoimaan moottorin, kytkemään LED -valon päälle, julkaisemaan jotain verkossa. Voit kertoa taulullesi mitä tehdä lähettämällä ohjeet taululla olevalle mikrokontrollerille. Tätä varten käytät Arduino -ohjelmointikieltä (joka perustuu johdotukseen) ja Arduino -ohjelmistoa (IDE), joka perustuu käsittelyyn.

Lataa ARDUINO IDE

Vaihe 2: Kuinka se toimii?

Joten mikä logiikka tämän takana on ??

Se toimii paljon samalla tavalla kuin kooderi. Enkoodereita on vaikea ymmärtää aloittelijoille. Sinun tarvitsee vain tietää, että infrapuna -anturi tuottaa pulssin ja selvitämme kunkin pulssin välisen ajan.

Tässä tapauksessa IR -anturi lähettää pulssin Arduinolle aina, kun sen infrapunasäde siepataan moottorin potkureilla. Normaalisti käytämme potkureita, joissa on kaksi lapaa, mutta olen käyttänyt potkua, jossa on kolme lapaa, kuten kuvassa. potkurin lapojen määrästä riippuen meidän on muutettava joitain arvoja kierroslukua laskettaessa.

Ajatellaanpa, että meillä on potkuri, jossa on kaksi lapaa. Jokaisen kierrosmoottorin kohdalla terä sieppaa IR -säteen kahdesti. Näin IR -anturi tuottaa pulsseja aina, kun sieppaa.

Nyt meidän on kirjoitettava ohjelma, joka voisi mitata IR -anturin tuottamat lukupulssit tietyllä aikavälillä.

Ongelman ratkaisemiseksi on useita tapoja, mutta meidän on valittava, mikä näistä koodeista on paras. Olen mitannut keskeytysten välisen keston (IR -anturi). Käytin micros () -toimintoja pulssien keston mittaamiseen mikrosekunneissa.

voit käyttää tätä kaavaa RPMRPM = ((1/kesto)*1000*1000*60)/terät

missä, kesto - pulssien välinen aika.

60 sekuntia minuuttiin

1000 - mill sekunnissa

1000 - mikro - mylly

siivet - potkurin siipien määrä.

LCD -näyttö - Arduino päivittää nestekidenäytön komento- ja tietorekisterit. Joka näyttää ASCII -merkit nestekidenäytössä.

Vaihe 3: Ohjelmoi Arduino käyttämällä Arduino IDE: tä

#sisältää

LiquidCrystal lcd (9, 8, 7, 6, 5, 4); const int IR_IN = 2; // IR -anturi INPUT unsigned long prevmicros; // Allekirjoittamattoman ajan säilyttäminen pitkään; // Aikaeron tallentaminen unsigned long lcdrefresh; // Tallentaa aikaa lcd: n päivittämiseen int rpm; // RPM -arvo boolen virta; // IR -tulon skannauksen nykyinen tila boolean prevstate; // IR -anturin tila edellisessä skannausvoid -asetuksessa () {pinMode (IR_IN, INPUT); lcd. alku (16, 2); prevmicros = 0; prevstate = LOW; } void loop () {//////////////////////////////////////////////////////////// //////////////////////////////////// // Lue infrapunatunnistimen tila if (prevstate! = Currentstate) // Jos tulossa on muutos {if (currentstate == LOW) // Jos tulo muuttuu vain HIGH -arvosta LOW {duration = (micros () - prevmicros); // Aikaero kierroksen välillä mikrosekunnissa rpm = ((60000000/kesto)/3); // rpm = (1/ aika millis)*1000*1000*60; prevmicros = mikros (); // tallennusaika nect -kierroksen laskemista varten}} prevstate = virta; // tallenna tämä skannaustieto (seuraava skannaus) seuraavaa skannausta varten ////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////// LCD -näyttö, jos ((millis ()-lcdrefresh)> = 100) {lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Moottorin nopeus"); lcd.setCursor (0, 1); lcd.print ("RPM ="); lcd.print (rpm); lcdrefresh = millis (); }}

Vaihe 4: Simulointi Proteuksen avulla

Simulointi Proteuksen avulla
Simulointi Proteuksen avulla

Tämä projekti toimi täydellisesti, kun yritin simuloida tätä proteuksen avulla.

IR -anturin käyttämisen sijaan käytin DC -pulssigeneraattoria, joka simuloi IR -pulssin, joka on samanlainen kuin se, joka syntyy, kun IR -säteet osuvat potkurien lapoihin.

sinun on tehtävä muutoksia ohjelmaan käyttämäsi anturin mukaan

IR -anturin, jossa on LM358, on käytettävä tätä komentoa.

if (currentstate == HIGH) // Jos tulo muuttuu vain LOW: sta HIGH: ksi

IR -anturin, jossa on LM359, on käytettävä tätä komentoa.

if (currentstate == LOW) // Jos tulo muuttuu vain HIGH: sta LOW: ksi

Vaihe 5: Laitteiston suorittaminen

Laitteiston suoritus
Laitteiston suoritus
Laitteiston suoritus
Laitteiston suoritus
Laitteiston suoritus
Laitteiston suoritus

Käytä kaaviomaisesti simulointikuvia tai viittaa ohjelmakoodeihin ja tee liitännät sen mukaan. Lataa ohjelmakoodi Arduinolle ja mittaa minkä tahansa moottorin kierrosluku. Pysy kuulolla seuraavaa viestiäni varten ja katso YouTube -kanavani.

Suositeltava: