Innehållsförteckning:

Motorhastighetsmätning med Arduino: 6 steg
Motorhastighetsmätning med Arduino: 6 steg

Video: Motorhastighetsmätning med Arduino: 6 steg

Video: Motorhastighetsmätning med Arduino: 6 steg
Video: How to control Servo motor with Arduino with and without potentiometer 2024, Juli
Anonim
Motorhastighetsmätning med Arduino
Motorhastighetsmätning med Arduino
Motorhastighetsmätning med Arduino
Motorhastighetsmätning med Arduino
Motorhastighetsmätning med Arduino
Motorhastighetsmätning med Arduino

Är det svårt att mäta varvtal på motor ??? Jag tror inte det. Här är en enkel lösning.

Endast en IR -sensor och Arduino i ditt kit kan göra det.

I det här inlägget kommer jag att ge en enkel handledning som förklarar hur man mäter varvtal för varje motor med IR -sensor och Arduino UNO/nano

Tillbehör:

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

2. IR -sensor (Amazon)

3. DC -motor vilken som helst (Amazon)

4. LCD 16*2 (Amazon)

Verktyg som används

1. Lödkolv (Amazon)

2. Wire Stripper (Amazon)

Steg 1: Steg: 1 Se till att sensorer och enheter fungerar

Vad är en IR -sensor? IR -sensor är en elektronisk enhet som avger ljuset för att känna av ett objekt i omgivningen. En IR -sensor kan mäta värdet på ett föremål och detektera rörelsen. Vanligtvis utstrålar alla föremål i det infraröda spektrum någon form av termisk strålning. Dessa typer av strålningar är osynliga för våra ögon, men infraröd sensor kan upptäcka dessa strålningar.

Vad är en likströmsmotor? En likströmsmotor (DC) är en typ av elektrisk maskin som omvandlar elektrisk energi till mekanisk energi. Likströmsmotorer tar elektrisk kraft genom likström och omvandlar denna energi till mekanisk rotation.

Likströmsmotorer använder magnetfält som uppstår från de elektriska strömmar som genereras, vilket driver rörelsen hos en rotor som är fixerad i den utgående axeln. Utgångsmomentet och varvtalet beror på både den elektriska ingången och motorns konstruktion.

Vad är Arduino?

Arduino är en elektronisk plattform med öppen källkod baserad på lättanvänd maskinvara och programvara. Arduino -kort kan läsa ingångar - ljus på en sensor, ett finger på en knapp eller ett Twitter -meddelande - och göra det till en utgång - aktivera en motor, slå på en LED, publicera något online. Du kan berätta för ditt kort vad du ska göra genom att skicka en uppsättning instruktioner till mikrokontrollern på kortet. För att göra det använder du programmeringsspråket Arduino (baserat på ledningar) och Arduino -programvaran (IDE), baserat på bearbetning.

Ladda ner ARDUINO IDE

Steg 2: Hur fungerar det?

Så vad är logiken bakom detta ??

Det fungerar ungefär som kodare. Kodare är svårt att förstå för nybörjare. Allt du behöver veta är att IR -sensorn genererar puls och vi tar reda på tidsintervallet mellan varje puls.

I detta fall kommer IR -sensorn att skicka en puls till Arduino när dess IR -stråle någonsin fångas upp av motorns propellrar. Normalt använder vi propellrar med två blad men jag har använt propeller med tre blad som visas i figuren. beroende på antalet propellerblad måste vi ändra vissa värden vid beräkning av varvtal.

låt oss överväga att vi har en propeller som har två blad. För varje varvsmotor kommer bladet att fånga upp IR -strålen två gånger. Således kommer IR -sensorn att producera pulser när de någonsin avlyssnar.

Nu måste vi skriva ett program som kan mäta antalet pulser som produceras av IR -sensorn vid ett visst tidsintervall.

Det finns mer än ett sätt att lösa ett problem, men vi måste välja vilket som är bäst i dessa koder. Jag har mätt varaktigheten mellan avbrotten (IR -sensor).

du kan använda denna formel för att mäta RPMRPM = ((1/varaktighet)*1000*1000*60)/blad

var, varaktighet - tidsintervall mellan pulser.

60 sekunder till minuter

1000 - mill till sek

1000 - mikro till mill

blad - inga vingar i propellern.

LCD -skärm - Arduino uppdaterar kommando- och dataregistret för LCD -skärmen. Som visar ASCII -tecknen på LCD -skärmen.

Steg 3: Programmera din Arduino med Arduino IDE

#omfatta

LiquidCrystal lcd (9, 8, 7, 6, 5, 4); const int IR_IN = 2; // IR -sensor INGÅNG osignerade långa föregående mikro; // För att lagra tid osignerad lång varaktighet; // För att lagra tidsskillnad osignerad lång lcdrefresh; // För att lagra tid för lcd att uppdatera int rpm; // RPM -värde boolean currentstate; // Nuvarande tillstånd för IR -ingångsskanning boolsk förekomst; // Status för IR -sensor i föregående scan void setup () {pinMode (IR_IN, INPUT); lcd.begin (16, 2); prevmicros = 0; prevstate = LÅG; } void loop () {//////////////////////////////////////////// /////////////////////////////////////////// RPM Mätning currentstate = digitalRead (IR_IN); // Läs IR -sensorns tillstånd om (prevstate! = Currentstate) // Om det finns en ändring av ingången {if (currentstate == LOW) // Om input bara ändras från HIGH till LOW {duration = (micros () - prevmicros); // Tidsskillnad mellan varv i mikrosekundvarv/= = ((60000000/varaktighet)/3); // rpm = (1/ time millis)*1000*1000*60; prevmicros = micros (); // lagra tid för nektvarvberäkning}} prevstate = currentstate; // lagra denna skannings (föregående skanning) data för nästa skanning ////////////////////////////////// /////////////////////////////////////// ((millis ()-lcdrefresh)> = 100) {lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Motorhastighet"); lcd.setCursor (0, 1); lcd.print ("RPM ="); lcd.print (rpm); lcdrefresh = millis (); }}

Steg 4: Simulering med Proteus

Simulering med Proteus
Simulering med Proteus

Detta projekt fungerade alldeles utmärkt när jag försökte simulera detta med hjälp av proteus.

Istället för att använda IR -sensor använde jag DC -pulsgenerator som simulerar IR -pulsen som liknar den som genereras när IR -strålarna träffar propellerns blad.

du måste göra ändringar i ditt program beroende på vilken sensor du använder

IR -sensor med LM358 måste använda detta kommando.

if (currentstate == HIGH) // Om input bara ändras från LOW till HIGH

IR -sensor med LM359 måste använda detta kommando.

if (currentstate == LOW) // Om input bara ändras från HIGH till LOW

Steg 5: Maskinvarukörning

Hårdvarukörning
Hårdvarukörning
Hårdvarukörning
Hårdvarukörning
Hårdvarukörning
Hårdvarukörning

För schematisk användning, använd simuleringsbilderna eller referera programkoderna och gör anslutningarna i enlighet därmed. Ladda upp programkoden till Arduino och mät varvtalet för vilken motor som helst. Håll utkik efter mitt nästa inlägg och titta på min YouTube -kanal.

Rekommenderad: