Arduino tahometra shēma precīziem rādījumiem

Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai





Tahometrs ir ierīce, kas mēra rotējošā ķermeņa apgriezienu skaitu vai leņķisko ātrumu. Tas atšķiras no spidometra un odometra, jo šīs ierīces nodarbojas ar ķermeņa lineāro vai tangenciālo ātrumu, savukārt tahometrs, t.i.

Autors Ankits Negi



Tahometru veido skaitītājs un taimeris, kas abi strādā kopā. RPM. Mūsu projektā mēs rīkosimies tāpat, izmantojot mūsu Arduino un dažus sensorus, mēs iestatīsim gan skaitītāju, gan taimeri un izstrādāsim mūsu ērto un ērto tahogrāfu. .

Priekšnoteikumi

Skaitītājs nav nekas cits kā ierīce vai iestatījums, kas var saskaitīt jebkuru noteiktu regulāru notikumu, piemēram, punkta pagriešanu diskā, kamēr tas ir pagriezts. Sākumā letes tika būvētas, izmantojot mehānisko izvietojumu un savienojumus, piemēram, zobratus, sprūdrata, atsperes utt.



Bet tagad mēs izmantojam skaitītāju ar sarežģītākiem un ļoti precīziem sensoriem un elektroniku. Taimeris ir elektronisks elements, kas spēj izmērīt laika intervālu starp notikumiem vai izmērīt laiku.

Mūsu Arduino Uno ir taimeri, kas ne tikai seko līdzi laikam, bet arī uztur dažas svarīgas Arduino funkcijas. Uno mums ir 3 taimeri ar nosaukumu Timer0, Timer1 un Timer2. Šiem taimeriem ir šādas funkcijas- • Taimeris0- Uno funkcijām, piemēram, aizkave (), milis (), mikroshēmas () vai aizkaves mikroshēmas ().

• Taimeris1 - servo bibliotēkas darbam.

• taimeris2 - tādām funkcijām kā tonis (), notone ().

Līdztekus šīm funkcijām šie 3 taimeri ir atbildīgi arī par PWM izejas ģenerēšanu, kad PMW norādītajā tapā tiek izmantota komanda analogWrite ().

Pārtraukumu jēdziens

Arduino Uno ir pieejams slēpts rīks, kas mums var nodrošināt piekļuvi daudzām funkcijām, kas pazīstamas kā taimera pārtraukumi. Pārtraukt ir notikumu vai instrukciju kopums, kas tiek izpildīts, ja to sauc, pārtraucot ierīces pašreizējo darbību, ti, neatkarīgi no tā kodi, kurus jūsu Uno izpildīja iepriekš, bet, tiklīdz tiek saukts pārtraukums, Arduino izpilda instrukciju, kas minēta pārtraukumā.

magnēts uz motora vārpstas

Tagad pārtraukt var izsaukt noteiktā stāvoklī, ko nosaka lietotājs, izmantojot iebūvēto Arduino sintaksi. Mēs izmantosim šo pārtraukumu mūsu projektā, kas padara mūsu tahometru apņēmīgāku, kā arī precīzāku nekā cits tahometra projekts, kas atrodas tīmeklī.

Komponenti, kas nepieciešami šim tahometra projektam, izmantojot Arduino

• Hall efekta sensors (1. attēls)

zāles efekta sensora modulis

• Arduino Uno

Arduino UNO valde

• Mazs magnēts

mazs magnēts

• Džemperu vadi

• rotējošs objekts (motora vārpsta)

Līdzstrāvas motors

Ķēdes iestatīšana

• Izveides iestatīšana ir šāda-

• Asī, kuras rotācijas ātrums jāmēra, ir piestiprināts neliels magnēts, izmantojot līmes pistoli vai elektrisko lenti.

• Hall Effect sensoram ir detektors priekšā un 3 tapas savienojumiem.

• Vcc un Gnd tapas ir savienotas attiecīgi ar Arduino 5V un Gnd tapām. Sensora izejas tapa ir savienota ar Uno digitālo tapu 2, lai nodrošinātu ieejas signālu.

• Visas sastāvdaļas ir piestiprinātas montāžas dēlī, un Hall detektors ir norādīts no tāfeles.

Programmēšana

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
}

Augšupielādējiet kodu.

Zināt kodu

Mūsu tahometrā tiek izmantots Hall efekta sensors Hall efekta sensors ir balstīts uz Hall efektu, kas nosaukts tā atklājēja Edvina Hola vārdā.

Hall efekts ir sprieguma ģenerēšanas parādība strāvas pārvades vadītājam, kad magnētiskais lauks tiek ievadīts perpendikulāri strāvas plūsmai. Šis spriegums, ko rada šī parādība, palīdz ieejas signāla ģenerēšanai. Kā minēts, šajā projektā tiks izmantots pārtraukums, lai izsauktu pārtraukumu, mums ir jāiestata daži nosacījumi. Arduino Uno ir 2 nosacījumi, lai izsauktu pārtraukumus.

PALIELINĀŠANA - ja tas tiek izmantots, pārtraucieni tiek izsaukti katru reizi, kad ieejas signāls ir no LOW uz HIGH.

FALING - ja to izmanto, tiek pārtraukta funkcija, kad signāls iet no HIGH uz LOW.

Mēs izmantojām RISING, kas notiek, ja vārpstā vai rotējošajā objektā ievietotais magnēts tuvojas Hall detektoram. Tiek ģenerēts ieejas signāls un tiek izsaukts Interrupt, Interrupt sāk Interrupt Service Routine (ISR) funkciju, kas ietver pieaugumu skaita vērtība un tādējādi skaitīšana notiek.

Taimera iestatīšanai mēs esam izmantojuši Arduino funkciju millis () un iepriekšējo laiku (mainīgais).

RPM tādējādi tiek aprēķināts, izmantojot matemātisko sakarību

RPM = skaitīšana / laiks, kas pārvērsts milisekundēs minūtēs un pārkārtošanā, mēs nonākam pie formulas = 60 * 1000 / (milis () - iepriekšējais laiks) * skaits.

Aizkave (1000) nosaka laika intervālu, pēc kura ekrānā tiks atjaunināta RPM vērtība, šo kavēšanos var pielāgot atbilstoši savām vajadzībām.

Šo iegūto RPM vērtību var tālāk izmantot, lai aprēķinātu rotējošā objekta tangenciālo ātrumu, izmantojot attiecību v = (3,14 * D * N) / 60 m / s.

RPM vērtību var izmantot arī, lai aprēķinātu attālumu, ko nobrauc rotējošais ritenis vai disks.

Tā vietā, lai drukātu vērtības seriālajā monitorā, šo ierīci var padarīt noderīgāku, labākai lietošanai pievienojot LCD displeju (16 * 2) un akumulatoru.




Pāri: Stepper motora draivera shēma, izmantojot IC 555 Nākamais: Digitālā kapacitātes mērītāja ķēde, izmantojot Arduino