Arduino toerentellercircuit voor nauwkeurige metingen

Probeer Ons Instrument Voor Het Oplossen Van Problemen





Een toerenteller is een apparaat dat het toerental of de hoeksnelheid van een roterend lichaam meet. Het verschilt van snelheidsmeter en kilometerteller omdat deze apparaten omgaan met lineaire of tangentiële snelheid van het lichaam, terwijl toerenteller oftewel 'tach' zich bezighoudt met meer fundamentele RPM.

Door Ankit Negi



Toerenteller is samengesteld uit een teller en een timer, beide werken samen en leveren de RPM.In ons project gaan we hetzelfde doen, met behulp van onze Arduino en enkele sensoren, zullen we zowel een teller als een timer instellen en onze handige en gemakkelijke tach ontwikkelen. .

Vereisten

Teller is niets anders dan een apparaat of opstelling die elke bepaalde regelmatig voorkomende gebeurtenis kan tellen, zoals het passeren van een punt in de schijf tijdens het draaien. Aanvankelijk werden de tellers gebouwd met behulp van de mechanische opstelling en koppelingen zoals tandwielen, ratels, veren enz.



Maar nu gebruiken we een teller met meer geavanceerde en zeer nauwkeurige sensoren en elektronica. Timer is een elektronisch element dat het tijdsinterval tussen gebeurtenissen kan meten of de tijd kan meten.

In onze Arduino Uno zitten timers die niet alleen de tijd bijhouden, maar ook enkele van de belangrijke functies van Arduino behouden. In Uno hebben we 3 timers genaamd Timer0, Timer1 en Timer2. Deze timers hebben de volgende functies: • Timer0- Voor Uno-functies zoals delay (), millis (), micros () of delaymicros ().

• Timer1- Voor de werking van servobibliotheek.

• Timer2- Voor functies zoals toon (), niet één ().

Naast deze functies zijn deze 3 timers ook verantwoordelijk voor het genereren van de PWM-uitvoer wanneer het analogWrite () -commando wordt gebruikt in de door PMW aangewezen pin.

Concept van onderbrekingen

In Arduino Uno is een verborgen tool aanwezig die ons toegang kan geven tot een heleboel functies die bekend staan ​​als Timer Interrupt. Interrupt is een reeks gebeurtenissen of instructies die worden uitgevoerd wanneer ze worden aangeroepen om de huidige werking van het apparaat te onderbreken, dus wat er ook gebeurt. codes die uw Uno eerder uitvoerde, maar zodra een onderbreking Arduino wordt genoemd, voert u de instructie uit die wordt vermeld in de onderbreking.

magneet op motoras

Nu kan Interrupt worden aangeroepen onder een bepaalde voorwaarde die door de gebruiker is gedefinieerd met behulp van een ingebouwde Arduino Syntax. We zullen deze Interrupt in ons project gebruiken die onze toerenteller zowel vastberadener als nauwkeuriger maakt dan het andere Tachometer-project dat op internet aanwezig is.

Componenten die nodig zijn voor dit toerentellerproject met Arduino

• Hall-effectsensor (afbeelding 1)

Hall-effect sensormodule

• Arduino Uno

Arduino UNO-bord

• Kleine magneet

kleine magneet

• Overbruggingskabels

• Roterend object (motoras)

DC-motor

Circuit instellen

• De opzet voor het maken is als volgt-

• In de as waarvan de rotatiesnelheid moet worden gemeten, is een kleine magneet aangebracht met behulp van een lijmpistool of elektrische tape.

• Hall Effect-sensor heeft een detector aan de voorkant en 3 pinnen voor verbindingen.

• De Vcc- en Gnd-pinnen zijn respectievelijk verbonden met 5V en Gnd-pin van Arduino. De uitgangspen van de sensor is verbonden met de digitale pen 2 van de Uno om het ingangssignaal te leveren.

• Alle componenten zijn bevestigd in een montagebord en de Hall-detector wordt vanaf het bord aangegeven.

Programmeren

Upload de code.

Ken de code

Onze toerenteller maakt gebruik van Hall Effect-sensor Hall Effect-sensor is gebaseerd op Hall-effect, genoemd naar zijn ontdekker Edwin Hall.

Hall-effect is het fenomeen van het genereren van spanning over een stroomvoerende geleider wanneer een magnetisch veld loodrecht op de stroom wordt geïntroduceerd. Deze spanning die wordt gegenereerd als gevolg van dit fenomeen, helpt bij het genereren van ingangssignalen. Zoals vermeld zal Interrupt in dit project worden gebruikt, om Interrupt op te roepen, moeten we een voorwaarde instellen. Arduino Uno heeft 2 voorwaarden voor het oproepen van onderbrekingen-

RISING- Wanneer dit wordt gebruikt, wordt Interrupt opgeroepen elke keer dat het ingangssignaal van LOW naar HIGH gaat.

FALING - Wanneer dit wordt gebruikt, wordt Interrupt aangeroepen wanneer het signaal van HOOG naar LAAG gaat.

We hebben de RISING gebruikt, wat er gebeurt is dat wanneer de magneet die in de schacht is geplaatst of het roterende object in de buurt komt van Hall-detector. Ingangssignaal wordt gegenereerd en Interrupt wordt opgeroepen, Interrupt start de Interrupt Service Routine (ISR) -functie, die increment in de telwaarde en dus de telling vindt plaats.

We hebben de millis () -functie van Arduino en previoustime (variable) gebruikt om de timer in te stellen.

Het toerental wordt dus uiteindelijk berekend met behulp van de wiskundige relatie-

RPM = Counts / Tijd genomen Door de milliseconden om te zetten in minuten en opnieuw te rangschikken, krijgen we de formule = 60 * 1000 / (millis () - previoustime) * counts.

De vertraging (1000) bepaalt het tijdsinterval waarna de waarde van het toerental wordt bijgewerkt op het scherm, u kunt deze vertraging aanpassen aan uw behoeften.

Deze verkregen waarde van het RPM kan verder worden gebruikt om de tangentiële snelheid van het roterende object te berekenen met behulp van de relatie-v = (3,14 * D * N) / 60 m / s.

De waarde van het toerental kan ook worden gebruikt om de afstand te berekenen die wordt afgelegd door een draaiend wiel of schijf.

In plaats van waarden af ​​te drukken naar een seriële monitor, kan dit apparaat nuttiger worden gemaakt door een LCD-scherm (16 * 2) en batterij aan te sluiten voor een beter gebruik.




Vorige: Stepper Motor Driver Circuit met IC 555 Vervolg: Circuit voor digitale capaciteitsmeter met Arduino