Obsah:
- Krok 1: Krok: 1 Zaistite funkčný stav senzorov a zariadení
- Krok 2: Ako to funguje?
- Krok 3: Programujte svoje Arduino pomocou Arduino IDE
- Krok 4: Simulácia pomocou Proteus
- Krok 5: Vykonanie hardvéru
Video: Meranie rýchlosti motora pomocou Arduina: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:55
Je ťažké merať otáčky motora ??? Nemyslím si to. Tu je jedno jednoduché riešenie.
Dokáže to iba jeden IR senzor a Arduino vo vašej súprave.
V tomto príspevku poskytnem jednoduchý návod, ktorý vysvetľuje, ako merať otáčky akéhokoľvek motora pomocou infračerveného senzora a Arduino UNO/nano
Zásoby:
1. Arduion uno (Amazon) / Arduion nano (Amazon)
2. IR senzor (Amazon)
3. DC motor ľubovoľný (Amazon)
4. LCD 16*2 (Amazon)
Použité nástroje
1. Spájkovačka (Amazon)
2. Stripper (Amazon)
Krok 1: Krok: 1 Zaistite funkčný stav senzorov a zariadení
Čo je to IR senzor? IR senzor je elektronické zariadenie, ktoré vyžaruje svetlo a sníma tak nejaký predmet v okolí. IR senzor môže merať teplo objektu a tiež detegovať pohyb. V infračervenom spektre zvyčajne všetky objekty vyžarujú nejakú formu tepelného žiarenia. Tieto typy žiarenia sú pre naše oči neviditeľné, ale infračervený senzor dokáže tieto žiarenia detekovať.
Čo je to jednosmerný motor? Jednosmerný motor (DC) je typ elektrického stroja, ktorý premieňa elektrickú energiu na mechanickú energiu. Jednosmerné motory odoberajú elektrickú energiu jednosmerným prúdom a premieňajú ju na mechanickú rotáciu.
Jednosmerné motory používajú magnetické polia, ktoré vznikajú z generovaných elektrických prúdov, ktoré poháňajú pohyb rotora upevneného vo výstupnom hriadeli. Výstupný krútiaci moment a otáčky závisia od elektrického vstupu a konštrukcie motora.
Čo je Arduino?
Arduino je elektronická platforma s otvoreným zdrojovým kódom založená na ľahko použiteľnom hardvéri a softvéri. Dosky Arduino sú schopné čítať vstupy - svetlo na senzore, prst na tlačidle alebo správu z Twitteru - a premeniť ho na výstup - aktivácia motora, zapnutie LED diódy, zverejnenie niečoho online. Svojej doske môžete povedať, čo má urobiť, a to tak, že pošlete sadu inštrukcií mikrokontroléru na doske. Na to použijete programovací jazyk Arduino (na základe zapojenia) a softvér Arduino (IDE) na základe spracovania.
Stiahnite si ARDUINO IDE
Krok 2: Ako to funguje?
Aká je teda logika tohto ??
Funguje to veľmi podobne ako kodér. Kodéry sú pre začiatočníkov ťažko pochopiteľné. Všetko, čo potrebujete vedieť, je to, že infračervený senzor generuje impulz a zisťujeme časový interval medzi každým impulzom.
V tomto prípade IR senzor vyšle impulz do Arduina, kedykoľvek bude jeho IR lúč zachytený vrtuľami motora. Bežne používame vrtule s dvoma lopatkami, ale ja som použil vrtuľu s tromi lopatkami, ako je znázornené na obrázku. v závislosti od počtu listov vrtule musíme pri výpočte otáčok upraviť niektoré hodnoty.
Uvažujme, že máme vrtuľu, ktorá má dve lopatky. Pri každom revolučnom motore čepeľ zachytí infračervený lúč dvakrát. Infračervený snímač bude teda vytvárať impulzy vždy, keď zachytí.
Teraz musíme napísať program, ktorý by mohol merať počet impulzov produkovaných IR senzorom v konkrétnom časovom intervale.
Existuje viac ako jeden spôsob riešenia problému, ale musíme si vybrať, ktorý z nich je v týchto kódoch najlepší. Zmeral som trvanie medzi prerušeniami (infračervený snímač) Na meranie trvania impulzov v mikro sekundách som použil funkcie micro ().
tento vzorec môžete použiť na meranie otáčok za minútu = ((1/trvanie)*1 000*1 000*60)/čepelí
kde, trvanie - časový interval medzi impulzmi.
60 - sekúnd až minút
1000 - mlyn za sek
1000 - mikro na mletie
lopatky - počet krídel vo vrtuli.
LCD displej - Arduino aktualizuje príkazové a dátové registre LCD displeja. Na displeji sa zobrazujú znaky ASCII.
Krok 3: Programujte svoje Arduino pomocou Arduino IDE
#zahrnúť
LiquidCrystal lcd (9, 8, 7, 6, 5, 4); const int IR_IN = 2; // IR snímač VSTUP bez znamienka dlhé prevmicros; // Uloženie času bez znamienka, dlhé trvanie; // Na uloženie časového rozdielu nepodpísané dlhé lcdrefresh; // Na uloženie času pre lcd na obnovenie int rpm; // hodnota otáčok boolean currentstate; // Aktuálny stav skenovania IR vstupu boolean prevstate; // Stav IR senzora v predchádzajúcom skenovaní neplatné nastavenie () {pinMode (IR_IN, INPUT); lcd.begin (16, 2); prevmicros = 0; predchádzajúci stav = NÍZKY; } prázdna slučka () {//////////////////////////////////////////////////////// /////////////////////////////////////////// RPM Meranie aktuálny stav = digitalRead (IR_IN); // Prečítajte stav infračerveného senzora if (prevstate! = Currentstate) // Ak dôjde k zmene vstupu {if (currentstate == LOW) // Ak sa vstup zmení iba z HIGH na LOW {duration = (micros () - prevmicros); // Časový rozdiel medzi otáčkami v mikrosekundách ot/min = ((60000000/trvanie)/3); // ot/ min = (1/ čas v milisekundách)*1000*1000*60; prevmicros = mikro (); // uloženie času na výpočet revolúcie nektu}} prevstate = currentstate; // uložte údaje tohto skenovania (predchádzajúce skenovanie) pre ďalšie skenovanie /////////////////////////////////////////// ///////////////////////////////////////////////////// LCD displej ak ((milis ()-lcdrefresh)> = 100) {lcd.clear (); lcd.setCursor (0, 0); lcd.print („rýchlosť motora“); lcd.setCursor (0, 1); lcd.print ("RPM ="); lcd.print (ot / min); lcdrefresh = milis (); }}
Krok 4: Simulácia pomocou Proteus
Tento projekt fungoval úplne dobre, keď som sa to pokúsil simulovať pomocou proteusu.
Namiesto použitia infračerveného senzora som použil generátor jednosmerných impulzov, ktorý bude simulovať infračervený impulz podobný tomu, ktorý sa generuje, keď infračervené lúče dopadnú na lopatky vrtúľ.
v závislosti od použitého senzora musíte vo svojom programe vykonať zmeny
IR senzor s LM358 musí použiť tento príkaz.
if (currentstate == HIGH) // Ak sa vstup zmení iba z LOW na HIGH
IR senzor s LM359 musí použiť tento príkaz.
if (currentstate == LOW) // Ak sa vstup zmení iba z HIGH na LOW
Krok 5: Vykonanie hardvéru
Na schematický účel použite simulačné obrázky alebo kódy programov a podľa toho vytvorte spojenia. Nahrajte kód programu do Arduina a zmerajte otáčky akéhokoľvek motora. Sledujte môj ďalší príspevok a sledujte môj kanál YouTube.
Odporúča:
Riadenie rýchlosti MOSFETU MOTORA DC pomocou Arduina: 6 krokov
Rýchlosť ovládania MOSFET DC MOTORU pomocou Arduina: V tomto návode sa naučíme ovládať rýchlosť motora DC pomocou modulu MOSFET. Pozrite si video
Meranie frekvencie a napätia napájania pomocou Arduina: 6 krokov
Meranie frekvencie a napätia napájania pomocou Arduina: Úvod: Cieľom tohto projektu je zmerať napájaciu frekvenciu a napätie, ktoré je tu v Indii medzi 220 až 240 voltov a 50 Hz. Na zachytenie signálu a výpočet frekvencie a napätia som použil Arduino, môžete použiť akýkoľvek iný mikrokontrolér
CNC nástroj na meranie rýchlosti posuvu vyrobený zo šrotu: 5 krokov
CNC nástroj na meranie rýchlosti posuvu vyrobený zo šrotu: Chcel niekedy niekto zmerať skutočnú rýchlosť posuvu na CNC stroji? Pravdepodobne nie, kým frézy nie sú po práci CNC neporušené … ale keď sa začnú pravidelne lámať, možno je načase to preskúmať. V tomto návode môžete
Meranie rýchlosti toku: 7 krokov (s obrázkami)
Meranie rýchlosti toku: Pomocou tohto zariadenia môžete merať rýchlosť voľne tečúceho prúdu. Jediné, čo je potrebné, je Arduino a niektoré základné remeselné schopnosti a samozrejme voľne tečúci stream. Nie je to najpraktickejší spôsob merania rýchlostí
Ovládanie rýchlosti jednosmerného motora pomocou algoritmu PID (STM32F4): 8 krokov (s obrázkami)
Ovládanie rýchlosti jednosmerného motora pomocou algoritmu PID (STM32F4): ahoj všetci, toto je ďalší projekt s ďalším projektom. Tentokrát je to STM32F407 ako MC. Toto je koniec projektu v polovici semestra. Dúfam, že sa vám to páči. Vyžaduje si to veľa konceptov a teórie, preto sa na to najskôr pozrieme. S príchodom počítačov a