Orodha ya maudhui:
- Hatua ya 1: Hatua: 1 Hakikisha Hali ya Kufanya kazi ya Sensorer na Vifaa
- Hatua ya 2: Jinsi inavyofanya kazi?
- Hatua ya 3: Panga Arduino yako Kutumia Arduino IDE
- Hatua ya 4: Uigaji Kutumia Proteus
- Hatua ya 5: Utekelezaji wa vifaa
Video: Upimaji wa Kasi ya Magari Kutumia Arduino: Hatua 6
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:48
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
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
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:
Kuanza Laini ya Magari ya DC, Kasi na Mwelekeo Kutumia Potentiometer, OLED Onyesha & Vifungo: Hatua 6
Kuanza kwa Smooth ya Magari ya DC, Kasi na Mwelekeo Kutumia Potentiometer, OLED Onyesha & Vifungo: Katika mafunzo haya tutajifunza jinsi ya kutumia L298N DC MOTOR CONTROL dereva na potentiometer kudhibiti mwendo wa DC motor laini, kasi na mwelekeo na vifungo viwili na onyesha thamani ya potentiometer kwenye OLED Display.Tazama video ya maonyesho
Upimaji wa Kuongeza kasi Kutumia ADXL345 na Raspberry Pi: 4 Hatua
Upimaji wa Kuongeza kasi Kutumia ADXL345 na Raspberry Pi: ADXL345 ni nguvu ndogo, nyembamba, ya nguvu, 3-axis accelerometer na kipimo cha azimio la juu (13-bit) hadi ± 16 g. Takwimu za pato la dijiti zimepangwa kama vijazo 16-bit vinavyosaidia na inapatikana kupitia I2 C interface ya dijiti. Inapima
Dhibiti kasi ya Magari ya Brushless DC Kutumia Arduino na Moduli ya Bluetooth (HC-05): Hatua 4
Dhibiti Kasi ya Brushless DC Motor Kutumia Arduino na Bluetooth Module (HC-05): Utangulizi Katika mafunzo haya, tutadhibiti kasi ya Brushless DC motor kutumia Arduino UNO, Moduli ya Bluetooth (HC-05) na programu ya Android ya Bluetooth ( Kidhibiti cha Bluetooth cha Arduino)
Kasi inayodhibitiwa ya kasi ya Magari: 6 Hatua
Dereva wa kasi inayodhibitiwa ya serial: Dhibiti kasi ya gari ndogo ya DC bila chochote isipokuwa bandari ya serial kwenye kompyuta yako, MOSFET moja, na programu ndogo. (MOSFET na bandari ya serial hufanya "udhibiti wa kasi"; bado utahitaji motor na supu inayofaa ya nguvu
Jinsi ya Kuongeza kasi kwa kasi PC Yout, na Kudumisha Kasi Hiyo kwa Maisha ya Mfumo: Hatua 9
Jinsi ya Kuongeza kasi kwa kasi PC Yout, na Kudumisha Kasi hiyo kwa Maisha ya Mfumo. na kusaidia kuiweka hivyo. Nitachapisha picha mara tu nitakapopata nafasi, kwa bahati mbaya kama hivi sasa sina