INHOUDSOPGAWE:
- Stap 1: Stap: 1 Verseker die werkstoestand van sensors en toestelle
- Stap 2: Hoe werk dit?
- Stap 3: programmeer u Arduino met behulp van Arduino IDE
- Stap 4: Simulasie met Proteus
- Stap 5: Uitvoering van hardeware
Video: Motorspoedmeting met Arduino: 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:23
Is dit moeilik om rpm van die motor te meet ??? Ek dink nie so nie. Hier is 'n eenvoudige oplossing.
Slegs een IR -sensor en Arduino in u kit kan dit doen.
In hierdie pos sal ek 'n eenvoudige handleiding gee om te verduidelik hoe om die toerusting van enige motor te meet met behulp van IR -sensor en Arduino UNO/nano
Benodighede:
1. Arduion uno (Amazon) / Arduion nano (Amazon)
2. IR -sensor (Amazon)
3. DC -motor enige (Amazon)
4. LCD 16*2 (Amazon)
Gereedskap gebruik
1. Soldeerbout (Amazon)
2. Wire Stripper (Amazon)
Stap 1: Stap: 1 Verseker die werkstoestand van sensors en toestelle
Wat is 'n IR -sensor? IR -sensor is 'n elektroniese toestel wat die lig uitstraal om 'n voorwerp van die omgewing te voel. 'N IR -sensor kan die hitte van 'n voorwerp meet en die beweging opspoor. Gewoonlik straal al die voorwerpe in die infrarooi spektrum een of ander vorm van termiese straling uit. Hierdie tipe stralings is onsigbaar vir ons oë, maar 'n infrarooi sensor kan hierdie stralings opspoor.
'N Gelykstroommotor is 'n soort elektriese masjien wat elektriese energie omskakel in meganiese energie. Gelykstroommotors neem elektriese krag deur gelykstroom, en skakel hierdie energie om in meganiese rotasie.
GS -motors gebruik magnetiese velde wat ontstaan as gevolg van die elektriese strome wat gegenereer word, wat die beweging van 'n rotor binne die uitsetas dryf. Die uitsetkoppel en -snelheid hang af van beide die elektriese inset en die ontwerp van die motor.
Wat is Arduino?
Arduino is 'n open source elektroniese platform wat gebaseer is op hardeware en sagteware wat maklik is om te gebruik. Arduino -borde kan insette lees - lig op 'n sensor, 'n vinger op 'n knoppie of 'n Twitter -boodskap - en dit in 'n uitset verander - 'n motor aktiveer, 'n LED aanskakel, iets aanlyn publiseer. U kan u bord vertel wat u moet doen deur 'n stel instruksies aan die mikrobeheerder op die bord te stuur. Om dit te kan doen, gebruik u die Arduino -programmeertaal (gebaseer op bedrading) en die Arduino -sagteware (IDE), gebaseer op verwerking.
Laai ARDUINO IDE af
Stap 2: Hoe werk dit?
So, wat is die logika hieragter ??
Dit werk baie soortgelyk aan encoder. Encoders is moeilik om te verstaan vir beginners. Al wat u moet weet, is dat die IR -sensor 'n pols genereer en ons vind die tydsinterval tussen elke pols.
In hierdie geval stuur die IR -sensor 'n polsslag na Arduino wanneer die IR -straal ooit met motorskroewe onderskep word. Normaalweg gebruik ons skroewe met twee lemme, maar ek het skroef met drie lemme gebruik soos in die figuur getoon. Afhangende van die aantal skroefblaaie, moet ons 'n paar waardes verander terwyl ons RPM bereken.
Kom ons kyk na 'n propeller met twee lemme. Vir elke omwentelmotor sal die lem die IR -straal twee keer onderskep. Die IR -sensor sal dus pulse produseer wanneer hulle ooit onderskep.
Nou moet ons 'n program skryf wat die getalpulse wat deur IR -sensor geproduseer word, kan meet op 'n spesifieke tydsinterval.
Daar is meer as een manier om 'n probleem op te los, maar ons moet kies watter een die beste is in hierdie kodes; ek het die tydsduur tussen die onderbrekings (IR -sensor) gemeet.
u kan hierdie formule gebruik om die RPMRPM = ((1/duur)*1000*1000*60)/lemme te meet
waar, duur - tydsinterval tussen pulse.
60 sekondes tot minute
1000 - meul tot sek
1000 - mikro tot mill
lemme - geen vlerke in die skroef nie.
LCD -skerm - Die Arduino werk die opdrag- en dataregisters van die LCD -skerm op. Wat die ASCII -karakters op die LCD -skerm vertoon.
Stap 3: programmeer u Arduino met behulp van Arduino IDE
#insluit
LiquidCrystal lcd (9, 8, 7, 6, 5, 4); const int IR_IN = 2; // IR -sensor INVOER ongetekende lang voorkoms; // Om ongetekende lang tydsduur te stoor; // Om tydsverskil ongetekende lang lcdrefresh op te slaan; // Om tyd op te slaan vir lcd om int rpm te verfris; // RPM waarde boolean currentstate; // Huidige toestand van IR -insetskandering Booleaanse voorkoms; // Toestand van IR -sensor in vorige scan -leemte -opstelling () {pinMode (IR_IN, INPUT); lcd.begin (16, 2); prevmicros = 0; prevstate = LAAG; } leemte lus () {////////////////////////////////////////////////// /////////////////////////////////////////// RPM Meting currentstate = digitalRead (IR_IN); // Lees die toestand van die IR -sensor as (prevstate! = Currentstate) // As daar insetverandering is {if (currentstate == LOW) // As insette slegs van HIGH na LOW verander {duration = (micros () - prevmicros); // Tydsverskil tussen omwenteling in mikrosekonde rpm = ((60000000/duur)/3); // rpm = (1/ time millis)*1000*1000*60; prevmicros = micros (); // stoor tyd vir berekening van die nekrevolusie}} prevstate = currentstate; // stoor hierdie scan (vorige scan) data vir die volgende skandering //////////////////////////////////// //////////////////////////////// ((millis ()-lcdrefresh)> = 100) {lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Motorsnelheid"); lcd.setCursor (0, 1); lcd.print ("RPM ="); lcd.print (rpm); lcdrefresh = millis (); }}
Stap 4: Simulasie met Proteus
Hierdie projek het uitstekend gewerk toe ek dit probeer probeer het met behulp van proteus.
In plaas daarvan om IR -sensor te gebruik, het ek 'n DC -pulsgenerator gebruik, wat die IR -puls simuleer wat soortgelyk is aan die een wat gegenereer word wanneer die IR -strale die propellers se lemme tref.
u moet veranderings aan u program aanbring, afhangende van die sensor wat u gebruik
IR -sensor met LM358 moet hierdie opdrag gebruik.
if (currentstate == HIGH) // As insette slegs van LAAG na HOOG verander
IR -sensor met LM359 moet hierdie opdrag gebruik.
if (currentstate == LOW) // As insette slegs van HOOG na LAAG verander
Stap 5: Uitvoering van hardeware
Gebruik die simulasieprente of verwys na die programkodes vir 'n skematiese weergawe en maak die verbindings dienooreenkomstig. Laai die programkode op na Arduino en meet die toerusting van enige motor. Bly ingeskakel vir my volgende plasing en kyk na my YouTube -kanaal.
Aanbeveel:
Hoe om 'n hommeltuig te maak met Arduino UNO - Maak 'n quadcopter met behulp van mikrokontroller: 8 stappe (met foto's)
Hoe om 'n hommeltuig te maak met Arduino UNO | Maak 'n quadcopter met behulp van mikrobeheerder: inleiding Besoek my Youtube -kanaal 'n Drone is 'n baie duur apparaat (produk) om te koop. In hierdie pos gaan ek bespreek hoe ek dit goedkoop kan maak ?? En hoe kan u u eie goedkoop maak teen goedkoop pryse … In Indië is al die materiale (motors, ESC's
PWM Met ESP32 - Dim LED met PWM op ESP 32 Met Arduino IDE: 6 stappe
PWM Met ESP32 | Dim LED met PWM op ESP 32 Met Arduino IDE: In hierdie instruksies sal ons sien hoe om PWM seine te genereer met ESP32 met behulp van Arduino IDE & PWM word basies gebruik om analoog uitset van enige MCU te genereer en die analoog uitset kan tussen 0V en 3.3V wees (in die geval van esp32) & van
DIY slim weegskaal met wekker (met Wi-Fi, ESP8266, Arduino IDE en Adafruit.io): 10 stappe (met foto's)
DIY Smart Scale With Alarm Clock (met Wi-Fi, ESP8266, Arduino IDE en Adafruit.io): In my vorige projek het ek 'n slim badkamerskaal met Wi-Fi ontwikkel. Dit kan die gebruiker se gewig meet, plaaslik vertoon en dit na die wolk stuur. U kan meer inligting hieroor kry op die onderstaande skakel: https: //www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Maak 'n horlosie met M5stick C Met Arduino IDE - RTC-intydse klok met M5stack M5stick-C: 4 stappe
Maak 'n horlosie met M5stick C Met Arduino IDE | RTC Real Time Clock Met M5stack M5stick-C: Hallo ouens in hierdie instruksies, ons sal leer hoe om 'n horlosie te maak met 'n m5stick-C ontwikkelbord van m5stack met behulp van Arduino IDE. So m5stick sal datum, tyd en amp vertoon; week van die maand op die skerm
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino - Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter - Rc Helikopter - Rc -vliegtuig met Arduino: 5 stappe (met foto's)
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino | Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter | Rc Helikopter | Rc -vliegtuig met Arduino: om 'n Rc -motor te bestuur | Quadcopter | Drone | RC -vliegtuig | RC -boot, ons het altyd 'n ontvanger en sender nodig, veronderstel dat ons vir RC QUADCOPTER 'n 6 -kanaals sender en ontvanger nodig het en dat die tipe TX en RX te duur is, so ons maak een op ons