Arduino tahhomeetri ahel täpsete lugemite jaoks

Proovige Meie Instrumenti Probleemide Kõrvaldamiseks





Tahhomeeter on seade, mis mõõdab pöörleva keha pöörlemiskiirust või nurkkiirust. See erineb spidomeetrist ja läbisõidumõõdikust, kuna need seadmed tegelevad keha lineaarse või tangentsiaalse kiirusega, samas kui tahhomeeter ehk “tahh” käsitleb põhimõttelisemat pöörlemiskiirust.

Autor Ankit Negi



Tahhomeeter koosneb loendurist ja taimerist, mis mõlemad koos töötavad, annavad RPM-i. Meie projektis teeme sama, Arduino ja mõnede andurite abil seadistame nii loenduri kui ka taimeri ning arendame välja oma käepärase ja lihtsa sõidumeeriku .

Eeldused

Loendur on midagi muud kui seade või seadistus, mis suudab loendada mis tahes regulaarselt toimuvat sündmust, näiteks pöörlemisel plaadil oleva punkti möödumist. Esialgu ehitati letid mehaanilise paigutuse ja ühenduste abil, nagu hammasrattad, põrkmehhanismid, vedrud jne.



Kuid nüüd kasutame loendurit, millel on keerukamad ja ülitäpsemad andurid ja elektroonika. Taimer on elektrooniline element, mis suudab mõõta sündmuste vahelist ajaintervalli või mõõta aega.

Meie Arduino Unos on taimereid, mis mitte ainult ei jälgi aega, vaid säilitavad ka mõned Arduino olulised funktsioonid. Unos on meil 3 taimerit nimega Taimer0, Taimer1 ja Taimer2. Nendel taimeritel on järgmised funktsioonid: • Taimer0 - Uno funktsioonide jaoks nagu viivitus (), millis (), mikros () või delay mikros ().

• Taimer1 - servoteegi tööks.

• Taimer2 - selliste funktsioonide jaoks nagu toon (), mitte keegi ().

Koos nende funktsioonidega vastutavad need 3 taimerit ka PWM-väljundi genereerimise eest, kui analoogWrite () käsku kasutatakse PMW määratud tihvtis.

Katkestuste mõiste

Arduino Unos on olemas varjatud tööriist, mis annab meile juurdepääsu paljudele funktsioonidele, mida nimetatakse taimeri katkestusteks. Katkestus on sündmuste või käskude kogum, mis käivitatakse, kui seda nimetatakse seadme praeguse toimimise katkestamiseks, st ükskõik mis koodid, mida teie Uno enne käitus oli, kuid kui Arduino nimetatakse katkestust, täidab katkestuses mainitud juhised.

magnet mootori võllil

Nüüd saab katkestust kutsuda teatud tingimustel, mille kasutaja on määranud sisseehitatud Arduino süntaksiga. Kasutame seda katkestust oma projektis, mis muudab meie tahhomeetri resoluutsemaks ja täpsemaks kui teine ​​veebis olev tahhomeetri projekt.

Selle tahhomeetri projekti jaoks vajalikud komponendid Arduino abil

• Halli efektiandur (joonis 1)

halli efekti anduri moodul

• Arduino Uno

Arduino UNO juhatus

• Väike magnet

väike magnet

• Jumpperi juhtmed

• Pöörlev objekt (mootori võll)

Alalisvoolumootor

Vooluringi seadistamine

• Loomise seadistamine on järgmine-

• Võlli, mille pöörlemiskiirust tuleb mõõta, paigaldatakse liimipüstoli või elektrilindi abil väike magnet.

• Halli efekti anduri ees on detektor ja ühendamiseks 3 tihvti.

• Vcc ja Gnd tihvtid on ühendatud vastavalt Arduino 5V ja Gnd tihvtidega. Anduri väljundtihv on sisendsignaali saamiseks ühendatud Uno digitaalse tihvtiga 2.

• Kõik komponendid on kinnitatud kinnitusplaadile ja Halli detektor on tahvlilt välja suunatud.

Programmeerimine

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
}

Laadige kood üles.

Tea koodi

Meie tahhomeeter kasutab Halli efektiandurit. Halli efekti andur põhineb avastaja Edwin Halli järgi nimetatud Halli efektil.

Halli efekt on pinge tekkimise nähtus üle voolu juhi, kui magnetväli sisestatakse risti voolu vooluga. Selle nähtuse tõttu tekitatud pinge aitab sisendsignaali genereerimisel. Nagu mainitud, kasutatakse selles projektis katkestust, et katkestuse kutsumiseks peame seadistama mõne tingimuse. Arduino Unol on katkestuste kutsumiseks 2 tingimust-

RISING - selle kasutamisel kutsutakse katkestust iga kord, kui sisendsignaal läheb LOW-st HIGH-i.

FALING - kui seda kasutatakse, kutsutakse katkestust, kui signaal liigub väärtusest HIGH tasemele LOW.

Oleme kasutanud RISING-i. Mis juhtub, on see, et kui võllile või pöörlevale objektile paigutatud magnet läheneb Halli detektori lähedale, genereeritakse sisendsignaal ja kutsutakse katkestust, käivitab Interrupt teenuse katkestamise (ISR) funktsiooni, mis sisaldab juurdekasvu loeb väärtus ja seega loendamine toimub.

Taimeri seadistamiseks oleme kirjavahetuses kasutanud Arduino funktsiooni millis () ja eelmioustime (muutuja).

RPM arvutatakse lõpuks matemaatiliste seoste abil

RPM = arvestused / kulunud aeg Millisekundite teisendamine minutiteks ja ümberkorralduseks jõuame valemini = 60 * 1000 / (millis () - eelajakestus) * loendab.

Viivitus (1000) määrab ajavahemiku, mille möödudes RPM-i väärtust ekraanil värskendatakse, saate seda viivitust vastavalt oma vajadustele reguleerida.

Seda saadud RPM väärtust saab lisaks kasutada pöörleva objekti tangentsiaalkiiruse arvutamiseks, kasutades suhet v = (3,14 * D * N) / 60 m / s.

Pöördekiiruse väärtust saab kasutada ka pöörleva ratta või ketta läbitud vahemaa arvutamiseks.

Väärtuste seeriamonitorile printimise asemel saab selle seadme kasulikumaks muuta, kui ühendada LCD-ekraan (16 * 2) ja aku paremaks kasutamiseks.




Eelmine: Stepper-mootori draiveri vooluring IC IC 555 abil Järgmine: Arduino abil digitaalne mahtuvusmõõturi vooluring