Indholdsfortegnelse:
- Trin 1: Trin: 1 Sikre arbejdstilstand for sensorer og enheder
- Trin 2: Hvordan fungerer det?
- Trin 3: Programmer din Arduino ved hjælp af Arduino IDE
- Trin 4: Simulering ved hjælp af Proteus
- Trin 5: Udførelse af hardware
Video: Måling af motorhastighed ved hjælp af Arduino: 6 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
Er det svært at måle omdrejninger pr. Motor ??? Det tror jeg ikke. Her er en enkel løsning.
Kun en IR -sensor og Arduino i dit kit kan gøre det.
I dette indlæg vil jeg give en simpel tutorial, der forklarer, hvordan man måler omdrejningstal for enhver motor ved hjælp af IR -sensor og Arduino UNO/nano
Tilbehør:
1. Arduion uno (Amazon) / Arduion nano (Amazon)
2. IR -sensor (Amazon)
3. DC -motor enhver (Amazon)
4. LCD 16*2 (Amazon)
Brugte værktøjer
1. Loddejern (Amazon)
2. Wire Stripper (Amazon)
Trin 1: Trin: 1 Sikre arbejdstilstand for sensorer og enheder
Hvad er en IR -sensor? IR -sensor er en elektronisk enhed, der udsender lyset for at fornemme et objekt i omgivelserne. En IR -sensor kan måle varmen fra et objekt samt registrere bevægelsen. Normalt udstråler alle objekter i det infrarøde spektrum en form for termisk stråling. Disse former for stråling er usynlige for vores øjne, men infrarød sensor kan registrere disse strålinger.
Hvad er en DC -motor? En jævnstrømsmotor (DC) er en type elektrisk maskine, der konverterer elektrisk energi til mekanisk energi. DC -motorer tager elektrisk strøm gennem jævnstrøm og konverterer denne energi til mekanisk rotation.
DC -motorer bruger magnetfelter, der opstår fra de genererede elektriske strømme, der driver bevægelsen af en rotor, der er fastgjort inden i udgangsakslen. Udgangsmomentet og hastigheden afhænger af både den elektriske indgang og motorens design.
Hvad er Arduino?
Arduino er en open-source elektronikplatform baseret på brugervenlig hardware og software. Arduino -tavler kan læse input - lys på en sensor, en finger på en knap eller en Twitter -besked - og omdanne den til en output - aktivere en motor, tænde en LED, publicere noget online. Du kan fortælle dit board, hvad de skal gøre ved at sende et sæt instruktioner til mikrokontrolleren på kortet. For at gøre dette bruger du programmeringssproget Arduino (baseret på ledninger) og Arduino -softwaren (IDE), der er baseret på behandling.
Download ARDUINO IDE
Trin 2: Hvordan fungerer det?
Så hvad er logikken bag dette ??
Det fungerer meget som encoder. Kodere er svært at forstå for begyndere. Alt du behøver at vide er, at IR -sensoren genererer puls, og vi finder ud af tidsintervallet mellem hver puls.
I dette tilfælde sender IR -sensoren en puls til Arduino, når dens IR -stråle nogensinde bliver opfanget af motorpropeller. Normalt bruger vi propeller med to blade, men jeg har brugt propel med tre blade som vist på figuren. afhængigt af antallet af propelblade skal vi ændre nogle værdier under beregning af omdrejningstal.
lad os overveje, at vi har en propel, der har to blade. For hver omdrejningsmotor vil bladet opfange IR -strålen to gange. Således vil IR -sensoren producere pulser, når de nogensinde opsnapper.
Nu er vi nødt til at skrive et program, der kunne måle antallet af impulser produceret af IR -sensoren ved et bestemt tidsinterval.
Der er mere end én måde at løse et problem på, men vi skal vælge, hvilken der er bedst i disse koder. Jeg har målt varigheden mellem afbrydelser (IR -sensor). Jeg brugte mikros () -funktioner til at måle varigheden af pulser i mikrosekunder.
du kan bruge denne formel til at måle RPMRPM = ((1/varighed)*1000*1000*60)/blade
hvor, varighed - tidsinterval mellem impulser.
60 sekunder til minutter
1000 - mill til sek
1000 - mikro til mill
vinger - ingen af vinger i propellen.
LCD -display - Arduino opdaterer kommando- og dataregistre for LCD -display. Som viser ASCII -tegnene på LCD -displayet.
Trin 3: Programmer din Arduino ved hjælp af Arduino IDE
#omfatte
LiquidCrystal lcd (9, 8, 7, 6, 5, 4); const int IR_IN = 2; // IR -sensor INPUT usignerede lange prevmicros; // At gemme tid usigneret lang varighed; // For at gemme tidsforskel usigneret lang lcdrefresh; // For at gemme tid til lcd til at opdatere int rpm; // RPM -værdi boolean currentstate; // Aktuel tilstand af IR -inputscanning boolsk præstat; // Tilstanden for IR -sensor i tidligere opsætning af tomrumsscanning () {pinMode (IR_IN, INPUT); lcd.begin (16, 2); prevmicros = 0; prevstate = LAV; } void loop () {////////////////////////////////////////////////// /////////////////////////////////////////// RPM Måling currentstate = digitalRead (IR_IN); // Læs IR -sensortilstand, hvis (prevstate! = Currentstate) // Hvis der er ændring i input {if (currentstate == LOW) // Hvis input kun ændres fra HIGH til LOW {varighed = (micros () - prevmicros); // Tidsforskel mellem omdrejningstallet i mikrosekundomdr./min = ((60000000/varighed)/3); // rpm = (1/ time millis)*1000*1000*60; prevmicros = micros (); // gemme tid til nektrevolutionsberegning}} prevstate = currentstate; // gem disse scanningsdata (forrige scanning) til næste scanning ///////////////////////////////////////// ///////////////////////////////////// ((millis ()-lcdrefresh)> = 100) {lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Motorhastighed"); lcd.setCursor (0, 1); lcd.print ("RPM ="); lcd.print (rpm); lcdrefresh = millis (); }}
Trin 4: Simulering ved hjælp af Proteus
Dette projekt fungerede helt fint, da jeg forsøgte at simulere dette ved hjælp af proteus.
I stedet for at bruge IR -sensor brugte jeg DC -pulsgenerator, som vil simulere IR -pulsen svarende til den, der genereres, når IR -strålerne rammer propellerbladene.
du skal foretage ændringer i dit program afhængigt af den sensor, du bruger
IR -sensor med LM358 skal bruge denne kommando.
hvis (currentstate == HIGH) // Hvis input kun ændres fra LOW til HIGH
IR -sensor med LM359 skal bruge denne kommando.
hvis (currentstate == LOW) // Hvis input kun ændres fra HIGH til LOW
Trin 5: Udførelse af hardware
Til skematisk brug simuleringsbillederne eller referer programkoderne og foretag forbindelserne i overensstemmelse hermed. Upload programkoden til Arduino og mål omdrejningstallet for enhver motor. Hold øje med mit næste indlæg, og se min YouTube -kanal.
Anbefalede:
DIY -- Sådan laver du en edderkoprobot, der kan kontrolleres ved hjælp af smartphone ved hjælp af Arduino Uno: 6 trin
DIY || Sådan laver du en edderkoprobot, der kan styres ved hjælp af smartphone Brug af Arduino Uno: Mens du laver en edderkoprobot, kan man lære så mange ting om robotik. Ligesom at lave robotter er underholdende såvel som udfordrende. I denne video vil vi vise dig, hvordan du laver en Spider -robot, som vi kan betjene ved hjælp af vores smartphone (Androi
Arduino Control DC -motorhastighed og -retning ved hjælp af et potentiometer, OLED -display og knapper: 6 trin
Arduino Control DC -motorhastighed og -retning ved hjælp af et potentiometer, OLED -display og knapper: I denne vejledning lærer vi, hvordan du bruger en L298N DC MOTOR CONTROL -driver og et potentiometer til at styre en DC -motorhastighed og -retning med to knapper og vise potentiometerværdien på OLED -skærmen. Se en demonstrationsvideo
Arduino Control DC motorhastighed og retning ved hjælp af et potentiometer og knapper: 6 trin
Arduino Control DC -motorhastighed og -retning ved hjælp af et potentiometer og knapper: I denne vejledning lærer vi, hvordan du bruger en L298N DC MOTOR CONTROL -driver og et potentiometer til at styre en DC -motorhastighed og -retning med to knapper. Se en demonstrationsvideo
Arduino Control DC -motorhastighed og -retning ved hjælp af et potentiometer: 6 trin
Arduino Control DC motorhastighed og retning ved hjælp af et potentiometer: I denne vejledning lærer vi, hvordan du bruger en L298N DC MOTOR CONTROL driver og et potentiometer til at styre en DC motor hastighed og retning. Se en demonstrationsvideo
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter - Rc Helikopter - Rc -fly ved hjælp af Arduino: 5 trin (med billeder)
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter | Rc Helikopter | Rc -fly ved hjælp af Arduino: At betjene en Rc -bil | Quadcopter | Drone | RC -fly | RC -båd, vi har altid brug for en modtager og sender, antag at vi til RC QUADCOPTER har brug for en 6 -kanals sender og modtager, og den type TX og RX er for dyr, så vi laver en på vores