Arduino Tachometer Circuit para sa Tiyak na Pagbasa

Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema





Ang isang tachometer ay isang aparato na sumusukat sa RPM o anggular na tulin ng isang umiikot na katawan. Ito ay naiiba mula sa speedometer at odometer habang ang mga aparatong ito ay nakikipag-usap sa linear o tangential velocity ng katawan habang ang tachometer a.k.a 'tach' ay nakikipag-usap sa higit na pangunahing ang RPM.

Ni Ankit Negi



Ang Tachometer ay binubuo ng isang counter at isang timer na pareho sa mga nagtatrabaho na magkasama ay nagbibigay ng RPM. Sa aming proyekto ay gagawin namin ang parehong, gamit ang aming Arduino at ilang mga sensor ay i-set up namin ang parehong isang counter at isang timer at paunlarin ang aming madaling gamiting at madaling tach .

Mga Pangangailangan

Ang counter ay walang anuman kundi isang aparato o pag-setup na maaaring mabilang ang anumang tiyak na regular na kaganapan na nangyayari tulad ng pagpasa ng isang tuldok sa disc habang nasa pag-ikot. Sa una ang mga counter ay binuo gamit ang mekanikal na pag-aayos at mga pagkakaugnay tulad ng mga gears, ratchets, spring atbp.



Ngunit ngayon gumagamit kami ng counter na mayroong mas sopistikado at lubos na tumpak na mga sensor at electronics. Ang Timer ay isang elektronikong elemento na masusukat ang agwat ng oras sa pagitan ng mga kaganapan o pagsukat ng oras.

Sa aming Arduino Uno may mga timer na hindi lamang sumusubaybay sa oras ngunit pinapanatili din ang ilan sa mahahalagang pagpapaandar ng Arduino. Sa Uno mayroon kaming 3 timer na pinangalanang Timer0, Timer1 at Timer2. Ang mga timer na ito ay may mga sumusunod na pagpapaandar- • Timer0- Para sa mga pagpapaandar ng Uno tulad ng pagkaantala (), millis (), micros () o delaymicros ().

• Timer1- Para sa pagtatrabaho ng servo library.

• Timer2- Para sa mga pagpapaandar tulad ng tone (), notone ().

Kasama ang mga pagpapaandar na ito ng 3 timer na ito ay responsable din sa pagbuo ng PWM Output kapag ginamit ang analogWrite () na utos sa itinalagang pin ng PMW.

Konsepto ng Mga Nakagambala

Sa Arduino Uno isang nakatagong tool ay naroroon na maaaring magbigay ng access sa isang buong pulutong ng paggana sa amin na kilala bilang Timer Interrupts. Ang abala ay isang hanay ng mga kaganapan o tagubilin na naisakatuparan kapag tinawag na nakakagambala sa kasalukuyang paggana ng aparato, ibig sabihin, anuman ang mga code na ipinatutupad ng iyong Uno dati ngunit sa sandaling ang isang Nakagambala ay tinatawag na Arduino na isagawa ang tagubiling nabanggit sa Gambala.

magnet sa baras ng motor

Ngayon, ang Interrupt ay maaaring tawagan sa ilang kundisyon na tinukoy ng gumagamit gamit ang isang built-in na Arduino Syntax. Gagamitin namin ang Makagambala sa aming proyekto na ginagawang mas resolute ang aming tachometer pati na rin mas tumpak kaysa sa iba pang proyekto ng Tachometer na nasa paligid ng web.

Kinakailangan ang mga bahagi para sa proyektong Tachometer na ito gamit ang Arduino

• Sensor ng Epekto ng Hall (Larawan 1)

module ng sensor ng epekto ng hall

• Arduino Uno

Arduino UNO board

• Maliit na magnet

maliit na magnet

• Mga wire ng lumulukso

• Umiikot na Bagay (Motor shaft)

DC motor

Pag-setup ng Circuit

• Ang setup para sa paglikha ay ang mga sumusunod-

• Sa baras na ang bilis ng pag-ikot ay sinusukat ay nilagyan ng isang maliit na magnet na gumagamit ng glue gun o electrical tape.

• Ang sensor ng Hall Effect ay mayroong isang detector sa harap at 3 mga pin para sa mga koneksyon.

• Ang mga Vcc at Gnd pin ay konektado sa 5V at Gnd pin ng Arduino ayon sa pagkakabanggit. Ang Output pin ng sensor ay konektado sa digital pin 2 ng Uno upang maibigay ang input signal.

• Ang lahat ng mga sangkap ay naayos sa isang mount board at ang Hall detector ay itinuro mula sa board.

Programming

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
}

I-upload ang code.

Alam ang code

Ang aming tachometer ay gumagamit ng Hall Effect Sensor Hall Effect sensor ay batay sa Hall effect na pinangalanan sa taga tuklas nito na si Edwin Hall.

Ang Hall Effect ay kababalaghan ng pagbuo ng boltahe sa isang kasalukuyang dalang konduktor kapag ang isang magnetikong patlang ay ipinakilala patayo sa daloy ng kasalukuyang. Ang boltahe na ito ay nabuo dahil sa tulong ng hindi pangkaraniwang bagay na ito sa pagbuo ng signal ng input. Tulad ng nabanggit na Interrupt ay gagamitin sa proyektong ito, upang tawagan ang Interrupt kailangan naming mag-setup ng ilang kundisyon Ang Arduino Uno ay may 2 mga kundisyon para sa pagtawag para sa Mga Pagkagambala-

RISING- Kapag ginamit ito, ang Makagambala ay tinatawag tuwing tuwing ang signal ng Input ay mula LOW hanggang HIGH.

FALING-Kapag ginamit ito, Ang Makagambala ay tatawag kapag ang signal ay napupunta mula sa TAAS hanggang sa Mababang.

Ginamit namin ang RISING, kung ano ang mangyayari ay kapag ang magnet na nakalagay sa baras o umiikot na bagay ay malapit sa Hall detector Ang signal ng input ay nabuo at ang Interrupt ay tinawag, Ginagampanan ng Interrupt ang pagpapaandar ng Routine Service Routine (ISR), na kasama ang pagtaas sa ang halaga ng bilang at sa gayon ang bilang ay magaganap.

Ginamit namin ang millis () na pagpapaandar ng Arduino at previoustime (variable) sa pagsusulat upang mai-setup ang timer.

Ang RPM sa gayon ay sa wakas ay kinakalkula gamit ang matematika na kaugnay-

RPM = Mga Bilang / Oras na Kinukumpuni Ang milliseconds sa minuto at muling pagsasaayos na nakukuha namin sa formula = 60 * 1000 / (millis () - previoustime) * bilang.

Tinutukoy ng pagkaantala (1000) ang agwat ng oras pagkatapos na ang halaga ng RPM ay maa-update sa screen, maaari mong ayusin ang pagka-antala na ito alinsunod sa iyong mga pangangailangan.

Ang halagang ito ng RPM na nakuha ay maaaring karagdagang magamit upang makalkula ang tangential tulin ng umiikot na bagay gamit ang ugnayan- v = (3.14 * D * N) / 60 m / s.

Ang halaga ng RPM ay maaari ding magamit upang makalkula ang distansya na nilakbay ng isang umiikot na gulong o disc.

Sa halip na i-print ang mga halaga sa Serial monitor ang aparatong ito ay maaaring gawing mas kapaki-pakinabang sa pamamagitan ng pagkonekta sa isang LCD display (16 * 2) at baterya para sa mas mahusay na paggamit.




Nakaraan: Stepper Motor Driver Circuit gamit ang IC 555 Susunod: Digital Capacitance Meter Circuit Gamit ang Arduino