Sisällysluettelo:
- Vaihe 1: Vaihe: 1 Varmista, että anturit ja laitteet toimivat
- Vaihe 2: Kuinka se toimii?
- Vaihe 3: Ohjelmoi Arduino käyttämällä Arduino IDE: tä
- Vaihe 4: Simulointi Proteuksen avulla
- Vaihe 5: Laitteiston suorittaminen
Video: Moottorin nopeuden mittaus Arduinolla: 6 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
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
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
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:
DC MOTOR Käsi -ele Nopeuden ja suunnan hallinta Arduinolla: 8 vaihetta
DC MOTOR Käsi -ele Nopeuden ja suunnan hallinta Arduinolla: Tässä opetusohjelmassa opimme ohjaamaan tasavirtamoottoria käsieleillä arduino- ja Visuino -ohjelmalla Katso video
Virtalähteen taajuuden ja jännitteen mittaus Arduinolla: 6 vaihetta
Virtalähteen taajuuden ja jännitteen mittaus Arduinolla: Johdanto: Tämän projektin tavoitteena on mitata syöttötaajuutta ja jännitettä, joka on 220-240 volttia ja 50 Hz täällä Intiassa. Käytin Arduinoa signaalin sieppaamiseen ja taajuuden ja jännitteen laskemiseen, voit käyttää mitä tahansa muuta mikroyhteyttä
DC -jännitteen mittaus Arduinolla: 5 vaihetta
Tasavirtajännitteen mittaus Arduinon avulla: Tässä projektissa näytän sinulle, kuinka mitata tasavirtajännite 50 volttiin asti käyttämällä arduinoa ja ja näyttö OLED -näyttömoduulin osassa tarvitsevat arduino UNOoled -näytön 10 k ohmin vastuksen 1 k ohmin vastuksen hyppykaapelin
PWM DC -moottorin nopeuden ja valon säätö - DC -himmennin: 7 vaihetta
PWM DC -moottorin nopeuden ja valon säätö | DC -himmennin: Tänään tässä videossa näytän sinulle kuinka himmentää valoja, ohjata moottorin nopeutta tasavirralla tai tasavirralla, joten aloitetaan
DC -moottorin nopeuden säätö PID -algoritmin avulla (STM32F4): 8 vaihetta (kuvien kanssa)
Tasavirtamoottorin nopeuden säätö PID -algoritmin avulla (STM32F4): Hei kaikki, tämä on tahir ul haq toisen projektin kanssa. Tällä kertaa se on STM32F407 MC: nä. Tämä on lukukauden puolivälin projekti. Toivottavasti pidät siitä. Se vaatii paljon käsitteitä ja teoriaa, joten menemme siihen ensin. Tietokoneiden ja