Vezje tahometra Arduino za natančno branje

Preizkusite Naš Instrument Za Odpravo Težav





Tahometer je naprava, ki meri RPM ali kotno hitrost vrtečega se telesa. Razlikuje se od merilnika hitrosti in števca kilometrov, saj se te naprave ukvarjajo z linearno ali tangencialno hitrostjo telesa, medtem ko tahometer, imenovan 'tach', obravnava bolj temeljne vrtljaje.

Avtor Ankit Negi



Tahometer je sestavljen iz števca in časovnika, ki delujeta skupaj, zagotavlja RPM. V našem projektu bomo storili enako, z uporabo našega Arduina in nekaterih senzorjev bomo nastavili števec in časovnik ter razvili svoj priročen in enostaven tach .

Pogoji

Števec ni nič drugega kot naprava ali nastavitev, ki lahko šteje kateri koli reden dogodek, kot je podajanje pike na disku med vrtenjem. Sprva so bili števci zgrajeni z uporabo mehanske ureditve in povezav, kot so zobniki, raglje, vzmeti itd.



Zdaj pa uporabljamo števec z bolj dovršenimi in zelo natančnimi senzorji in elektroniko. Časovnik je elektronski element, ki lahko meri časovni interval med dogodki ali meri čas.

V našem Arduino Uno obstajajo merilniki časa, ki ne samo beležijo čas, temveč tudi ohranjajo nekatere pomembne funkcije Arduina. V Unu imamo 3 časovnike z imenom Timer0, Timer1 in Timer2. Ti merilniki časa imajo naslednje funkcije - • Timer0 - Za funkcije Uno, kot so delay (), milis (), micros () ali delaymicros ().

• Timer1 - za delovanje servo knjižnice.

• Timer2 - Za funkcije, kot so ton (), notone ().

Skupaj s temi funkcijami so ti 3 odštevalniki odgovorni tudi za generiranje izhoda PWM, kadar se v zatiču PMW uporablja ukaz analogWrite ().

Koncept prekinitev

V Arduino Uno je prisotno skrito orodje, ki nam lahko omogoči dostop do številnih funkcij, znanih kot prekinitve s časovnikom. Prekinitev je skupek dogodkov ali navodil, ki se izvedejo, ko se prekine trenutno delovanje naprave, torej ne glede na to, kaj kode, ki jih je vaš Uno izvrševal že prej, a ko se prekinitev imenuje Arduino, izvedite navodilo, navedeno v prekinitvi.

magnet na gredi motorja

Zdaj lahko prekinemo preklic pod določenim pogojem, ki ga uporabnik določi z vgrajeno sintakso Arduino. Ta prekinitev bomo uporabili v našem projektu, ki omogoča, da bo naš tahometer bolj odločen in natančnejši od drugega projekta tahometra, ki je prisoten po spletu.

Komponente, potrebne za ta projekt Tahometra z uporabo Arduina

• Senzor Hall-ovega učinka (slika 1)

modul senzorja Hall učinka

• Arduino Uno

Tabla Arduino UNO

• Majhen magnet

majhen magnet

• Žice za mostičke

• Vrtljivi predmet (gred motorja)

Enosmerni motor

Nastavitev vezja

• Nastavitev za ustvarjanje je naslednja -

• V jašku, katerega merimo hitrost vrtenja, je nameščen majhen magnet z lepilno pištolo ali trakom.

• Hall Effect senzor ima spredaj detektor in 3 nožice za povezave.

• Zatiča Vcc in Gnd sta priključena na 5V in Gnd zatič Arduino. Izhodni zatič senzorja je povezan z digitalnim zatičem 2 Uno-ja, da zagotovi vhodni signal.

• Vse komponente so pritrjene na nosilno ploščo, detektor Hall pa je opozorjen s plošče.

Programiranje

int sensor = 2 // Hall sensor at pin 2
volatile byte counts
unsigned int rpm //unsigned gives only positive values
unsigned long previoustime
void count_function()
{ /*The ISR function
Called on Interrupt
Update counts*/
counts++
}
void setup() {
Serial.begin(9600)
//Intiates Serial communications
attachInterrupt(0, count_function, RISING) //Interrupts are called on Rise of Input
pinMode(sensor, INPUT) //Sets sensor as input
counts= 0
rpm = 0
previoustime = 0 //Initialise the values
}
void loop()
{
delay(1000)//Update RPM every second
detachInterrupt(0) //Interrupts are disabled
rpm = 60*1000/(millis() - previoustime)*counts
previoustime = millis() //Resets the clock
counts= 0 //Resets the counter
Serial.print('RPM=')
Serial.println(rpm) //Calculated values are displayed
attachInterrupt(0, count_function, RISING) //Counter restarted
}

Naložite kodo.

Spoznajte kodo

Naš tahometer uporablja Hall Effect Sensor Senzor Hall Effect temelji na Hallovem učinku, poimenovanem po odkritelju Edwinu Hallu.

Hall Effect je pojav ustvarjanja napetosti na tokovnem vodniku, kadar je magnetno polje vstavljeno pravokotno na tok toka. Ta napetost je zaradi tega pojava pomagala pri generiranju vhodnega signala. Kot omenjeno, bo v tem projektu uporabljena prekinitev, za klic prekinitve moramo nastaviti nekaj pogojev. Arduino Uno ima dva pogoja za razpis za prekinitve -

RISING - Ko se to uporablja, se preklice kličejo vsakič, ko gre vhodni signal iz LOW v HIGH.

FALING - pri uporabi tega se prekine klic, ko gre signal iz HIGH v LOW.

Uporabili smo RISING, zgodi pa se, da ko se magnet, nameščen v jašku ali vrtljivi predmet, približa detektorju Hall, se ustvari vhodni signal in vklopi Interrupt, Interrupt sproži funkcijo Interrupt Service Rutine (ISR), ki vključuje prirast v vrednost štetja in tako štetje poteka.

Za nastavitev časovnika smo v korespondenci uporabili funkcijo milis () Arduina in predprejšnji čas (spremenljivka).

RPM se tako končno izračuna z uporabo matematičnega razmerja

RPM = štetje / porabljeni čas Pretvorimo milisekunde v minute in prerazporedimo, da pridemo do formule = 60 * 1000 / (milis () - pred-čas) * šteje.

Zakasnitev (1000) določa časovni interval, po katerem bo vrednost vrtljajev na minuto posodobljena na zaslonu, to zakasnitev lahko prilagodite svojim potrebam.

Dobljeno vrednost vrtljajev na minuto lahko nadalje uporabimo za izračun tangencialne hitrosti vrtečega se predmeta z uporabo razmerja v = (3,14 * D * N) / 60 m / s.

Vrednost vrtljajev na minuto lahko uporabimo tudi za izračun poti, ki jo prevozi vrtljivo kolo ali kolut.

Namesto tiskanja vrednosti na serijski monitor lahko to napravo naredimo bolj uporabno, če za boljšo uporabo priključimo LCD zaslon (16 * 2) in baterijo.




Prejšnja: Gonilni krog koračnega motorja z uporabo IC 555 Naprej: Vezje digitalnega merilnika kapacitivnosti z uporabo Arduina