Orodha ya maudhui:

Tumia Arduino kuonyesha RPM ya Injini: Hatua 10 (na Picha)
Tumia Arduino kuonyesha RPM ya Injini: Hatua 10 (na Picha)

Video: Tumia Arduino kuonyesha RPM ya Injini: Hatua 10 (na Picha)

Video: Tumia Arduino kuonyesha RPM ya Injini: Hatua 10 (na Picha)
Video: Урок 102: Использование двойного драйвера двигателя постоянного тока ZK-5AD 4A TA6586 4A 14V Лучший драйвер двигателя (новый продукт) 2024, Novemba
Anonim
Tumia Arduino kuonyesha RPM ya Injini
Tumia Arduino kuonyesha RPM ya Injini
Tumia Arduino kuonyesha RPM ya Injini
Tumia Arduino kuonyesha RPM ya Injini
Tumia Arduino kuonyesha RPM ya Injini
Tumia Arduino kuonyesha RPM ya Injini

Mwongozo huu utaelezea jinsi nilivyotumia Arduino UNO R3, onyesho la 16x2 LCD na I2C, na mkanda wa LED utumiwe kama kipimo cha kasi ya injini na taa ya kuhama katika gari langu la Acura Integra. Imeandikwa kwa maneno ya mtu aliye na uzoefu fulani au kufichua programu ya Arduino au kuweka alama kwa ujumla, programu ya hisabati MATLAB, na kuunda au kurekebisha nyaya za umeme. Katika siku zijazo hii inaweza kurekebishwa kuwa rahisi kuelewa kwa mtu asiye na uzoefu mdogo na mada hizi.

Hatua ya 1: Chagua waya wa Sigal

Chagua waya wa Sigal
Chagua waya wa Sigal

Utahitaji kupata ishara inayofanana na kasi ya injini. Inawezekana kuongeza mfumo ambao hupima kasi ya injini lakini inatumika zaidi kugonga waya iliyopo ambayo hubeba habari za kasi ya injini. Gari moja inaweza kuwa na vyanzo vingi vya hii, na inaweza kutofautiana sana hata kwa mwaka kwa mfano wa gari moja. Kwa ajili ya mafunzo haya nitatumia mfano wa gari langu, wimbo uliobadilishwa 2000 Acura Integra LS. Nilipata kwenye injini yangu (B18B1 na OBD2) kuna voltage isiyotumika ambayo ni 12V juu na inashuka hadi 0V baada ya kumaliza mapinduzi kamili.

Vitu ambavyo vitasaidia kutambua ishara inayowezekana ya kasi ya injini:

  • Mchoro wa wiring kwa gari lako
  • Kutafuta vikao vya gari lako linalojumuisha injini / ishara za ECU
  • Fundi wa urafiki au mpenda gari

Hatua ya 2: Panua waya kwa Bodi ya Arduino

Panua waya kwa Bodi ya Arduino
Panua waya kwa Bodi ya Arduino
Panua waya kwa Bodi ya Arduino
Panua waya kwa Bodi ya Arduino

Mara tu ukichagua ishara inayofaa, utahitaji kuipanua hadi popote unapoweka bodi yako ya Arduino. Niliamua kuweka yangu ndani ya gari ambapo redio ilikuwa, kwa hivyo nikapitisha waya mpya kutoka kwa injini, kupitia grommet ya mpira kwenye ukuta wa moto, na kuelekea eneo la redio. Kwa kuwa tayari kuna idadi kubwa ya miongozo ya kuvua, kutengeneza na kulinda waya, sitaelezea mchakato huu.

Hatua ya 3: Uchambuzi wa Ishara

Uchambuzi wa Ishara
Uchambuzi wa Ishara

Hapa ndipo mambo yanaweza kuwa magumu. Kuwa na uelewa wa jumla wa uchambuzi na udhibiti wa ishara itakusaidia njia ndefu, lakini inafanywa na maarifa kidogo.

Waya ya ishara iliyochaguliwa zaidi haitakuwa ikitema thamani halisi ya kasi ya injini. Itahitaji kuundwa na kubadilishwa ili kutoa idadi halisi ya RPM ya injini unayotaka. Kwa sababu ya ukweli kila gari tofauti na waya ya ishara iliyochaguliwa inaweza kuwa tofauti, kutoka wakati huu na kuendelea nitaelezea jinsi nilivyotumia ishara ya msimamo kutoka kwa msambazaji kwenye Integra yangu.

Ishara yangu kawaida ni 12V na inashuka hadi 0V wakati inakamilisha mzunguko mmoja kamili. Ikiwa unajua wakati wa kukamilisha mzunguko mmoja kamili, au mzunguko mmoja kamili, hii inaweza kutafsiriwa kwa urahisi katika mapinduzi / dakika ukitumia dhana kadhaa za kimsingi.

1 / (sekunde kwa mzunguko) = mizunguko kwa sekunde, au Hz

Mapinduzi kwa dakika = Hz * 60

Hatua ya 4: Ingiza Uchambuzi wako wa Ishara

Ingiza Uchambuzi wako wa Ishara
Ingiza Uchambuzi wako wa Ishara

Njia hii inahitaji kupata wakati inachukua kwa ishara ya kuingiza kukamilisha mzunguko mmoja kamili. Kwa bahati nzuri programu ya Arduino IDE ina amri inayofanya hivyo kabisa, PulseIn.

Amri hii itasubiri ishara ili kuvuka kizingiti, kuanza kuhesabu, na kuacha kuhesabu wakati kizingiti kimevuka tena. Kuna maelezo kadhaa ambayo yanapaswa kuzingatiwa wakati wa kutumia agizo, kwa hivyo nitajumuisha kiunga cha habari ya PulseIn hapa:

PulseIn itarudi thamani katika microseconds, na kuweka hesabu rahisi hii inapaswa kubadilishwa mara moja kuwa sekunde za kawaida. Kufuatia hesabu kwenye hatua ya awali, muda huu unaweza kulinganishwa moja kwa moja kwenye RPM.

Kumbuka: baada ya jaribio na hitilafu niligundua msambazaji anakamilisha mizunguko miwili kwa kila mzunguko mmoja wa crankshaft ya injini, kwa hivyo niligawanya jibu langu na 2 ili kuhesabu hilo.

Hatua ya 5: Tambua Kichujio

Tambua Kichujio
Tambua Kichujio

Ikiwa una bahati ishara yako haitakuwa na 'kelele' (kushuka kwa thamani) na kasi ya injini yako itakuwa sawa. Katika kesi yangu, kulikuwa na kelele nyingi kutoka kwa msambazaji ambaye mara nyingi alitoa voltages mbali na kile kinachotarajiwa. Hii inageuka kuwa usomaji wa uwongo sana wa kasi halisi ya injini. Kelele hii itahitaji kuchujwa.

Baada ya uchambuzi wa ishara, karibu kelele zote zilikuja kwa masafa (Hz) juu sana kuliko ile ambayo injini yenyewe ilikuwa ikitoa (ambayo ni kweli kwa mifumo halisi ya nguvu). Hii inamaanisha kichujio cha kupita cha chini ni mgombea mzuri wa kutunza hii.

Kichujio cha kupitisha cha chini huruhusu masafa ya chini (taka) kupita na kupunguza masafa ya juu (yasiyotakikana).

Hatua ya 6: Kuchuja: Sehemu ya 1

Kuchuja: Sehemu ya 1
Kuchuja: Sehemu ya 1
Kuchuja: Sehemu ya 1
Kuchuja: Sehemu ya 1
Kuchuja: Sehemu ya 1
Kuchuja: Sehemu ya 1

Kubuni kichungi kunaweza kufanywa kwa mikono, hata hivyo kutumia MATLAB kutaharakisha hii sana ikiwa unapata programu.

Kichujio cha kupitisha cha chini kinaweza kulinganishwa na kazi ya kuhamisha (au sehemu) katika kikoa cha Laplace (uwanja wa masafa). Mzunguko wa pembejeo utazidishwa na sehemu hii na pato ni ishara iliyochujwa ambayo ina habari tu unayotaka kutumia.

Tofauti pekee katika kazi ni tau. Tau ni sawa na 1 / Omega, ambapo Omega ni frequency ya cutoff unayotaka (lazima iwe kwenye radians kwa sekunde). Mzunguko wa cutoff ni kikomo ambapo masafa ya juu zaidi kuliko yatakayoondolewa na masafa ya chini kuliko yatakayowekwa.

Ninaweka mzunguko wa cutoff sawa na RPM injini yangu haitafika kamwe (990 RPM au 165 Hz). Grafu za FFT zinaonyesha takriban masafa gani ishara yangu mbichi ilikuwa imebeba na masafa ambayo yalitoka kwenye kichujio.

Hatua ya 7: Kuchuja: Sehemu ya 2

Kuchuja: Sehemu ya 2
Kuchuja: Sehemu ya 2
Kuchuja: Sehemu ya 2
Kuchuja: Sehemu ya 2

Hapa MATLAB ilitumika tena kwa sababu ya wakati. Mzunguko wa cutoff hufafanuliwa, na kutoka kwa hiyo kazi inayosababisha uhamisho inaonyeshwa. Kumbuka kuwa sehemu hii inatumika tu kwa kikoa cha Laplace na haiwezi kutumiwa moja kwa moja kwenye kidhibiti cha msingi-msingi kama Arduino UNO R3.

Hatua ya 8: Kuchuja: Sehemu ya 3

Kuchuja: Sehemu ya 3
Kuchuja: Sehemu ya 3
Kuchuja: Sehemu ya 3
Kuchuja: Sehemu ya 3

MATLAB ina amri ambayo itabadilisha kazi inayoendelea (uwanja wa masafa) kuwa kazi tofauti (kikoa cha wakati). Pato la amri hii litatoa equation ambayo inaweza kuingizwa kwa urahisi katika nambari ya IDE ya Arduino.

Hatua ya 9: Kuchuja: Sehemu ya 4

Kuchuja: Sehemu ya 4
Kuchuja: Sehemu ya 4
Kuchuja: Sehemu ya 4
Kuchuja: Sehemu ya 4

Katika mchoro wa Arduino, jumuisha vigeuzi u na y kabla ya usanidi. Amri ya kuelea inafafanua tu jinsi anuwai itahifadhi data (vitu kama thamani ya juu, desimali, nk…) na kiunga cha habari zaidi juu ya hii kitatolewa hapa: https://www.arduino.cc/reference/en/language / varia…

Katika kitanzi ambapo ubadilishaji kutoka kwa ishara mbichi kwenda kwa kasi ya injini unafanyika, ni pamoja na ubadilishaji wa u na n equation nyingi. Kuna njia nyingi za kutumia hii, lakini ubadilishaji u unapaswa kuwekwa sawa na ishara mbadala ya pembejeo inayopimwa, na variable y itakuwa thamani iliyochujwa.

Hatua ya 10: Onyesha kasi yako ya Injini iliyochujwa

Ilipendekeza: