Orodha ya maudhui:

Upimaji wa Kasi ya Magari Kutumia Arduino: Hatua 6
Upimaji wa Kasi ya Magari Kutumia Arduino: Hatua 6

Video: Upimaji wa Kasi ya Magari Kutumia Arduino: Hatua 6

Video: Upimaji wa Kasi ya Magari Kutumia Arduino: Hatua 6
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Novemba
Anonim
Upimaji wa Kasi ya Magari Kutumia Arduino
Upimaji wa Kasi ya Magari Kutumia Arduino
Upimaji wa Kasi ya Magari Kutumia Arduino
Upimaji wa Kasi ya Magari Kutumia Arduino
Upimaji wa Kasi ya Magari Kutumia Arduino
Upimaji wa Kasi ya Magari Kutumia Arduino

Je! Ni ngumu kupima rpm ya motor ??? sidhani hivyo. Hapa kuna suluhisho moja rahisi.

Sensorer moja tu ya IR na Arduino kwenye kit yako inaweza kufanya hivyo.

Katika chapisho hili nitatoa mafunzo rahisi kuelezea jinsi ya kupima RPM ya motor yoyote kutumia sensor ya IR na Arduino UNO / nano

Ugavi:

1. Arduion uno (Amazon) / Arduion nano (Amazon)

2. Sensorer ya IR (Amazon)

3. DC motor yoyote (Amazon)

4. LCD 16 * 2 (Amazon)

Zana Zilizotumiwa

1. Chuma cha Soldering (Amazon)

2. Kamba ya waya (Amazon)

Hatua ya 1: Hatua: 1 Hakikisha Hali ya Kufanya kazi ya Sensorer na Vifaa

Sensorer ya IR ni nini? Sensorer ya IR ni kifaa cha elektroniki, ambacho hutoa mwanga ili kuhisi kitu cha mazingira. Sensorer ya IR inaweza kupima joto la kitu na pia kugundua mwendo. Kawaida, katika wigo wa infrared, vitu vyote huangaza aina fulani ya mionzi ya joto. Aina hizi za mionzi hazionekani kwa macho yetu, lakini sensor ya infrared inaweza kugundua mionzi hii.

Magari ya DC ya moja kwa moja (DC) ni aina ya mashine ya umeme ambayo hubadilisha nishati ya umeme kuwa nishati ya kiufundi. Motors za DC huchukua nguvu ya umeme kupitia sasa ya moja kwa moja, na kubadilisha nishati hii kuwa mzunguko wa mitambo.

Magari ya DC hutumia uwanja wa sumaku ambao unatoka kwa mikondo ya umeme inayotokana, ambayo huwezesha harakati za rotor iliyowekwa ndani ya shimoni la pato. Mzunguko wa pato na kasi hutegemea uingizaji wa umeme na muundo wa gari.

Arduino ni nini?

Arduino ni jukwaa la elektroniki lenye chanzo wazi kulingana na vifaa rahisi kutumia na programu. Bodi za Arduino zina uwezo wa kusoma pembejeo - taa kwenye sensa, kidole kwenye kitufe, au ujumbe wa Twitter - na kuibadilisha kuwa pato - kuamsha motor, kuwasha LED, kuchapisha kitu mkondoni. Unaweza kuiambia bodi yako nini cha kufanya kwa kutuma seti ya maagizo kwa mdhibiti mdogo kwenye ubao. Ili kufanya hivyo unatumia lugha ya programu ya Arduino (kulingana na Wiring), na Programu ya Arduino (IDE), kulingana na Usindikaji.

Pakua ARDUINO IDE

Hatua ya 2: Jinsi inavyofanya kazi?

Kwa hivyo ni nini mantiki nyuma ya hii?

Inafanya kazi sawa na encoder. Encoders zimeachwa ngumu kueleweka kwa Kompyuta. Wote unahitaji kujua ni sensa ya IR inazalisha kunde na tunapata muda kati ya kila kunde.

Katika kesi hii sensa ya IR itatuma mapigo kwa Arduino wakati boriti yake ya IR inashikwa na vichochezi vya motors. Kawaida tunatumia viboreshaji vyenye blade mbili lakini nimetumia propela na vile tatu kama inavyoonyeshwa kwenye takwimu. kulingana na idadi ya vile vya propela tunahitaji kurekebisha maadili kadhaa wakati wa kuhesabu RPM.

wacha tufikirie kuwa tuna propela ambayo ina blade mbili. Kwa kila motor ya mapinduzi blade itakatilia ray ya IR mara mbili. Kwa hivyo sensorer ya IR itazalisha kunde wakati wa kuingiliana.

Sasa lazima tuandike programu ambayo inaweza kupima idadi ya kunde zinazozalishwa na sensorer ya IR kwa muda fulani.

Kuna njia zaidi ya moja za kutatua shida lakini lazima tuchague ni ipi bora katika nambari hizi nimepima muda kati ya vipingamizi (sensa ya IR) nilitumia kazi za micros () kupima muda wa kunde katika sekunde ndogo.

unaweza kutumia Mfumo huu kupima RPMRPM = ((1 / muda) * 1000 * 1000 * 60) / vile

wapi, muda - muda wa muda kati ya kunde.

60 - sekunde hadi dakika

1000 - mill kwa sec

1000 - ndogo hadi kinu

vile - hakuna mabawa kwenye propela.

Uonyesho wa LCD - Arduino inasasisha rejista za amri na data za onyesho la LCD. Ambayo inaonyesha herufi za ASCII kwenye onyesho la LCD.

Hatua ya 3: Panga Arduino yako Kutumia Arduino IDE

# pamoja

LiquidCrystal LCD (9, 8, 7, 6, 5, 4); const int IR_IN = 2; // Pembejeo ya sensa ya IR isiyosainiwa prevmicros ndefu; // Kuhifadhi muda usiosainiwa kwa muda mrefu; // Kuhifadhi tofauti ya wakati isiyosainiwa lcdrefresh; // Kuhifadhi wakati wa LCD ili kuburudisha int rpm; // RPM thamani ya sasa ya boolean; // Hali ya sasa ya prevstate ya boolean prevstate; // Hali ya sensa ya IR katika usanidi wa utupu wa skana ya awali () {pinMode (IR_IN, INPUT); lcd kuanza (16, 2); prevmicros = 0; prevstate = CHINI; } kitanzi batili () {///////////////////////////////////////////////////// /////////////////////////////////////// kipimo cha RPM currentstate = digitalRead (IR_IN); // Soma hali ya sensorer IR ikiwa (prevstate! = Currentstate) // Ikiwa kuna mabadiliko katika ingizo {if (currentstate == LOW) // Ikiwa ingizo linabadilika tu kutoka HIGH hadi LOW {duration = (micros () - prevmicros); // Tofauti ya wakati kati ya mapinduzi katika microsecond rpm = ((60000000 / duration) / 3); // rpm = (milisiti 1 / wakati) * 1000 * 1000 * 60; prevmicros = micros (); // saa ya kuhifadhi hesabu ya mapinduzi ya nect}} prevstate = currentstate; // hifadhi data hii ya skanning (prev scan) ya scan ijayo //////////////////////////////////////////// //////////////////////////////////////////////////// LCD Onyesha ikiwa ((millis () - lcdrefresh)> = 100) {lcd. wazi (); lcd.setCursor (0, 0); lcd.print ("Kasi ya Magari"); lcd.setCursor (0, 1); lcd.print ("RPM ="); lcd.print (rpm); lcdrefresh = millis (); }}

Hatua ya 4: Uigaji Kutumia Proteus

Uigaji Kutumia Proteus
Uigaji Kutumia Proteus

Mradi huu ulifanya kazi vizuri wakati nilijaribu kuiga hii kwa msaada wa proteus.

Badala ya kutumia sensorer ya IR nilitumia jenereta ya kunde ya DC Ambayo itaiga mpigo wa IR sawa na ile inayotengenezwa wakati miale ya IR inapiga vile vile vya propellers.

lazima ufanye mabadiliko kwenye programu yako kulingana na sensa unayotumia

Sensorer ya IR iliyo na LM358 lazima itumie amri hii.

ikiwa (currentstate == HIGH) // Ikiwa pembejeo inabadilika tu kutoka LOW hadi HIGH

Sensorer ya IR iliyo na LM359 lazima itumie amri hii.

ikiwa (currentstate == LOW) // Ikiwa pembejeo inabadilika tu kutoka HIGH hadi LOW

Hatua ya 5: Utekelezaji wa vifaa

Utekelezaji wa Vifaa
Utekelezaji wa Vifaa
Utekelezaji wa Vifaa
Utekelezaji wa Vifaa
Utekelezaji wa Vifaa
Utekelezaji wa Vifaa

Kwa matumizi ya skimu picha za kuiga au rejelea nambari za programu na ufanye unganisho ipasavyo. Pakia nambari ya programu kwa Arduino na upime RPM ya gari yoyote. Endelea kufuatilia chapisho langu linalofuata na utazame kituo changu cha YouTube.

Ilipendekeza: