Talaan ng mga Nilalaman:
- Hakbang 1: Pumili ng isang Sigal Wire
- Hakbang 2: Palawakin ang Wire hanggang sa Arduino Board
- Hakbang 3: Pagsusuri sa Senyas
- Hakbang 4: I-code ang Pagsusuri sa Iyong Signal
- Hakbang 5: Kilalanin ang isang Filter
- Hakbang 6: Pagsala: Bahagi 1
- Hakbang 7: Pagsala: Bahagi 2
- Hakbang 8: Pagsala: Bahagi 3
- Hakbang 9: Pagsala: Bahagi 4
- Hakbang 10: Ipakita ang Iyong Na-filter na Bilis ng Engine
Video: Gumamit ng Arduino upang Maipakita ang Engine RPM: 10 Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
Ituturo ng gabay na ito kung paano ako gumamit ng isang Arduino UNO R3, isang 16x2 LCD display na may I2C, at isang LED strip na gagamitin bilang isang pagsukat ng bilis ng engine at paglilipat ng ilaw sa aking Acura Integra track car. Ito ay nakasulat sa mga tuntunin ng isang taong may ilang karanasan o pagkakalantad sa Arduino software o pag-coding sa pangkalahatan, ang matematika software na MATLAB, at paglikha o pagbabago ng mga electric circuit. Sa hinaharap maaari itong mabago upang mas madaling maunawaan para sa isang taong walang karanasan sa mga paksang ito.
Hakbang 1: Pumili ng isang Sigal Wire
Kakailanganin mong makakuha ng isang senyas na naiugnay sa bilis ng engine. Posibleng magdagdag ng isang system na sumusukat sa bilis ng engine ngunit mas praktikal na mag-tap sa isang mayroon nang kawad na nagdadala ng impormasyon sa bilis ng engine. Ang isang solong kotse ay maaaring may maraming mga mapagkukunan para dito, at maaari itong mag-iba nang ligaw kahit taon-taon sa isang solong modelo ng sasakyan. Para sa kapakanan ng tutorial na ito ay gumagamit ako ng halimbawa ng aking kotse, isang track na binago 2000 Acura Integra LS. Natagpuan ko sa aking makina (B18B1 na may OBD2) mayroong isang hindi nagamit na boltahe na taas na 12V at bumaba sa 0V sa pagkumpleto ng isang buong rebolusyon.
Mga bagay na makakatulong na makilala ang isang potensyal na signal ng bilis ng engine:
- Diagram diagram para sa iyong sasakyan
- Naghahanap ng mga forum para sa iyong sasakyan na kinasasangkutan ng mga signal ng engine / ECU
- Isang palakaibigang mekaniko o mahilig sa kotse
Hakbang 2: Palawakin ang Wire hanggang sa Arduino Board
Sa sandaling napili mo ang isang naaangkop na signal, kakailanganin mong palawakin ito sa kung saan mo man inilalagay ang iyong Arduino board. Napagpasyahan kong ilagay ang minahan sa loob ng sasakyan kung saan naroon ang radyo, kaya't itinuro ko ang bagong kawad mula sa makina, sa pamamagitan ng isang grommet ng goma sa pader ng apoy, at pakanan sa lugar ng radyo. Dahil mayroon nang isang sagana na bilang ng mga gabay sa paghuhubad, paghihinang, at pagprotekta sa mga kable ay hindi ko ipaliwanag ang prosesong ito.
Hakbang 3: Pagsusuri sa Senyas
Dito maaaring maging kumplikado ang mga bagay. Ang pagkakaroon ng isang pangkalahatang pag-unawa sa pagtatasa ng signal at mga kontrol ay makakatulong sa iyo sa isang mahabang paraan, ngunit magagawa sa kaunting kaalaman.
Ang signal wire na piniling malamang ay hindi maglalabas ng eksaktong halaga ng bilis ng engine. Kakailanganin itong hugis at mabago sa pagbibigay ng eksaktong bilang ng engine RPM na gusto mo. Dahil sa ang katunayan na ang bawat iba't ibang mga kotse at signal wire na pinili ay maaaring magkakaiba, mula sa puntong ito pataas ipaliwanag ko kung paano ko ginamit ang signal ng posisyon mula sa namamahagi sa aking Integra.
Ang aking signal ay karaniwang 12V at bumaba sa 0V kapag nakumpleto ang isang buong pag-ikot. Kung alam mo ang oras upang makumpleto ang isang buong pag-ikot, o isang buong pag-ikot, madali itong maisasalin sa mga rebolusyon / min gamit ang ilang pangunahing mga konsepto.
1 / (segundo bawat pag-ikot) = cycle bawat segundo, o Hz
Mga rebolusyon bawat minuto = Hz * 60
Hakbang 4: I-code ang Pagsusuri sa Iyong Signal
Nangangailangan ang pamamaraang ito ng pagkuha ng oras na kinakailangan para sa input signal upang makumpleto ang isang buong siklo. Sa kabutihang palad ang Arduino IDE software ay may isang utos na eksaktong ginagawa iyon, PulseIn.
Maghihintay ang utos na ito para sa isang senyas na tatawid sa isang threshold, magsimulang magbilang, at ihinto ang pagbibilang kapag ang threshold ay tumawid muli. Mayroong ilang mga detalye na dapat tandaan kapag gumagamit ng utos, kaya magsasama ako ng isang link sa impormasyon ng PulseIn dito:
Ibabalik ng PulseIn ang isang halaga sa microseconds, at upang mapanatili ang simple ng matematika dapat itong agad na mai-convert sa normal na segundo. Kasunod sa matematika sa nakaraang hakbang, ang tagal ng oras na ito ay maaaring maipantay nang direkta sa RPM.
Tandaan: pagkatapos ng pagsubok at error natuklasan ko na ang namamahagi ay nakumpleto ang dalawang pag-ikot para sa bawat solong pag-ikot ng crankshaft ng engine, kaya't hinati ko lamang ang aking sagot sa 2 upang maisip iyon.
Hakbang 5: Kilalanin ang isang Filter
Kung ikaw ay mapalad ang iyong signal ay walang 'ingay' (pagbabagu-bago) at ang bilis ng iyong engine ay magiging eksakto. Sa aking kaso, maraming ingay na nagmumula sa distributor na madalas na nagbibigay ng voltages na malayo sa inaasahan. Ito ay naging napaka maling pagbasa ng tunay na bilis ng engine. Ang ingay na ito ay kailangang i-filter.
Matapos ang ilang pagtatasa ng signal, halos lahat ng ingay ay dumating sa mga frequency (Hz) na mas mataas kaysa sa output ng engine mismo (na totoo para sa pinaka totoong mga system na dinamiko). Nangangahulugan ito na ang isang low pass filter ay isang perpektong kandidato upang pangalagaan ito.
Pinapayagan ng isang low pass filter na ang mga mababang frequency (ninanais) na dumaan at makapagpahina ng matataas na frequency (hindi kanais-nais).
Hakbang 6: Pagsala: Bahagi 1
Ang pagdidisenyo ng filter ay maaaring gawin sa pamamagitan ng kamay, subalit ang paggamit ng MATLAB ay magpapabilis nito nang malaki kung may access ka sa software.
Ang isang mababang pass filter ay maaaring mapantayan sa isang function ng paglipat (o maliit na bahagi) sa domain ng Laplace (frequency domain). Ang dalas ng pag-input ay mai-multiply ng maliit na bahagi na ito at ang output ay isang na-filter na signal na mayroon lamang impormasyon na nais mong gamitin.
Ang variable lamang sa pagpapaandar ay tau. Ang Tau ay katumbas ng 1 / Omega, kung saan ang Omega ay ang dalas ng cutoff na gusto mo (dapat nasa mga radian bawat segundo). Ang dalas ng cutoff ay ang limitasyon kung saan ang mga frequency na mas mataas kaysa sa ito ay aalisin at ang mga frequency na mas mababa kaysa sa ito ay panatilihin.
Itinakda ko ang dalas ng cutoff na katumbas ng isang RPM na hindi maabot ng aking engine (990 RPM o 165 Hz). Ang mga FFT graph ay nagpapakita ng halos kung anong mga frequency ang dala ng aking hilaw na signal at mga frequency na lumabas sa filter.
Hakbang 7: Pagsala: Bahagi 2
Narito ang muling paggamit ng MATLAB alang-alang sa oras. Ang dalas ng cutoff ay tinukoy, at mula doon ay ipinapakita ang nagresultang function ng paglipat. Tandaan na nalalapat lamang ang maliit na bahagi na ito sa domain ng Laplace at hindi direktang magamit sa isang nakabatay sa oras na micro controller tulad ng Arduino UNO R3.
Hakbang 8: Pagsala: Bahagi 3
Ang MATLAB ay may isang utos na magko-convert ng tuluy-tuloy na pagpapaandar (frequency domain) sa isang discrete function (time domain). Ang output ng utos na ito ay magbibigay ng isang equation na maaaring madaling isama sa Arduino IDE code.
Hakbang 9: Pagsala: Bahagi 4
Sa Arduino sketch, isama ang mga variable na u at y bago ang pag-set up. Tinutukoy lamang ng float command kung paano mag-iimbak ng variable ang data (mga bagay tulad ng maximum na halaga, decimal, atbp…) at isang link sa higit pang impormasyon tungkol dito ay ibibigay dito: https://www.arduino.cc/referensi/en/language / varia…
Sa loop kung saan nagaganap ang pag-convert mula sa raw signal sa bilis ng engine, isama ang variable ng u at ang y maramihang equation. Mayroong maraming mga paraan ng paggamit nito, ngunit ang variable u ay dapat itakda na katumbas ng hilaw na signal ng input na sinusukat, at ang variable y ay ang na-filter na halaga.
Hakbang 10: Ipakita ang Iyong Na-filter na Bilis ng Engine
Inirerekumendang:
Paano Baguhin ang Mga Website upang Maipakita ang Kahit Na Nais Mo .: 3 Mga Hakbang
Paano Baguhin ang Mga Website upang Maipakita ang Kahit Na Nais Mo .: O ang saya na maaari kang magkaroon … Ito ay isang nakatutuwang madali at simpleng paraan upang baguhin ang mga website sa iyong browser upang maipakita ang anumang bagay na nais mo. Tandaan. hindi nito binabago ang website kahit saan maliban sa iyong browser, at kung i-reload mo ang webpage pagkatapos ay babalik ito
Pagprogram ng isang Arduino Paggamit ng Isa pang Arduino upang Maipakita ang isang Scrolling Text Nang Walang Library: 5 Mga Hakbang
Ang Programming ng isang Arduino Paggamit ng Isa pang Arduino upang Maipakita ang isang Scrolling Text Nang Walang Library: Ang Sony Spresense o Arduino Uno ay hindi ganoon kamahal at hindi nangangailangan ng maraming lakas. Gayunpaman, kung ang iyong proyekto ay may limitasyon sa kapangyarihan, espasyo, o kahit na badyet, baka gusto mong isaalang-alang ang paggamit ng Arduino Pro Mini. Hindi tulad ng Arduino Pro Micro, Arduino Pro Mi
Gumamit ng Cortana at isang Arduino upang Makontrol ang RGB Leds o Ledstrips Gamit ang Iyong Boses !: 4 Hakbang (na may Mga Larawan)
Gumamit ng Cortana at isang Arduino upang Makontrol ang RGB Leds o Ledstrips Sa Iyong Tinig !: Sa itinuturo na ito ipapakita ko sa iyo kung paano mo makokontrol ang iyong RGB na humantong o humantong strip sa iyong boses. Ginagawa ito ng CoRGB app na magagamit nang libre sa windows app store. Ang app na ito ay bahagi ng aking proyekto sa CortanaRoom. Kapag tapos ka nang magawa
Baguhin ang Windows upang Maipakita Kung Saan Kinuha ang Larawan: 4 Mga Hakbang
Baguhin ang Windows upang Maipakita Kung Saan Isang Kuha ng Larawan: Panimula Naranasan mo na ba ang iyong mga larawan sa paglalakbay at nagsimulang magtaka kung saan mo kinuha ang mga ito? Ano ang pangalan ng maliit na bayan na tumigil ka sa limang taon na ang nakalilipas, ang isa kung saan mayroon kang pinaka-kamangha-manghang kape? Kapag nabago mo na ang Hangin
Gumamit ng SSH at XMing upang Maipakita ang Mga Programang X Mula sa isang Linux Computer sa isang Windows Computer: 6 Hakbang
Gumamit ng SSH at XMing upang Maipakita ang Mga Programang X Mula sa isang Linux Computer sa isang Windows Computer: Kung gumagamit ka ng Linux sa trabaho, at Windows sa bahay, o kabaligtaran, maaaring kailanganin mong mag-log in sa computer sa ibang lokasyon mo , at magpatakbo ng mga programa. Kaya, maaari kang mag-install ng isang X Server, at paganahin ang SSH Tunneling sa iyong SSH Client, at isa