Sisällysluettelo:
- Vaihe 1: Valitse Sigal Wire
- Vaihe 2: Laajenna johto Arduino Boardiin
- Vaihe 3: Signaalin analyysi
- Vaihe 4: Koodaa signaalianalyysi
- Vaihe 5: Tunnista suodatin
- Vaihe 6: Suodatus: Osa 1
- Vaihe 7: Suodatus: Osa 2
- Vaihe 8: Suodatus: Osa 3
- Vaihe 9: Suodatus: Osa 4
Video: Käytä Arduinoa moottorin kierrosluvun näyttämiseen: 10 vaihetta (kuvien kanssa)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Tässä oppaassa kuvataan, miten käytin Arduino UNO R3: ta, 16x2 LCD -näyttöä, jossa on I2C, ja LED -nauhaa, jota käytettiin moottorin kierroslukumittarina ja vaihteenvalona Acura Integra -raiteessa. Se on kirjoitettu henkilöllä, jolla on jonkin verran kokemusta tai altistusta Arduino -ohjelmistolle tai koodaukselle yleensä, matemaattiselle ohjelmistolle MATLAB ja sähköpiirien luomiseen tai muokkaamiseen. Tulevaisuudessa tätä voidaan tarkistaa helpommin ymmärrettäväksi niille, joilla on vähän tai ei lainkaan kokemusta näistä aiheista.
Vaihe 1: Valitse Sigal Wire
Sinun on saatava signaali, joka vastaa moottorin nopeutta. On mahdollista lisätä järjestelmä, joka mittaa moottorin nopeutta, mutta on paljon käytännöllisempää käyttää olemassa olevaa johtoa, joka kuljettaa moottorin nopeustietoja. Yhdellä autolla voi olla useita lähteitä tähän, ja se voi vaihdella villisti jopa vuosi vuodelta yhdellä ajoneuvomallilla. Tämän opetusohjelman vuoksi käytän esimerkkinä autostani, raidasta muokattua 2000 Acura Integra LS. Löysin moottoristani (B18B1 ja OBD2), että käyttämätön jännite on 12 V korkea ja laskee 0 V: iin täydellisen kierroksen päätyttyä.
Asiat, jotka auttavat tunnistamaan mahdollisen moottorin nopeussignaalin:
- Ajoneuvosi kytkentäkaavio
- Etsitään foorumeita autollesi moottorin/ECU -signaalien avulla
- Ystävällinen mekaanikko tai autoharrastaja
Vaihe 2: Laajenna johto Arduino Boardiin
Kun olet valinnut sopivan signaalin, sinun on laajennettava se mihin tahansa, kun sijoitat Arduino -korttisi. Päätin sijoittaa omani ajoneuvoon, jossa radio oli ennen, joten vedin uuden johdon moottorista palomuurin kumitiivisteen läpi ja suoraan radioalueelle. Koska irrotusta, juottamista ja johdotusten suojaamista varten on jo runsaasti oppaita, en selitä tätä prosessia.
Vaihe 3: Signaalin analyysi
Täällä asiat voivat muuttua monimutkaisiksi. Yleinen käsitys signaalianalyysistä ja ohjaimista auttaa sinua pitkälle, mutta se on mahdollista vähällä tietämyksellä.
Todennäköisesti valittu signaalijohto ei sylki moottorin nopeuden tarkkaa arvoa. Se on muotoiltava ja muutettava siten, että se antaa tarkan määrän moottorin kierroslukuja. Koska jokainen valittu auto ja signaalijohto voivat olla erilaisia, tästä lähtien selitän, miten käytin Integra -laitteeni jakelijan paikkasignaalia.
Signaalini on normaalisti 12 V ja laskee 0 V: iin, kun yksi täysi kierros suoritetaan. Jos tiedät yhden täyden kierroksen tai yhden syklin suorittamiseen tarvittavan ajan, tämä voidaan helposti kääntää kierroksiksi minuutissa käyttämällä joitain peruskäsitteitä.
1 / (sekuntia jaksoa kohden) = sykliä sekunnissa tai Hz
Kierrosta minuutissa = Hz * 60
Vaihe 4: Koodaa signaalianalyysi
Tämä menetelmä edellyttää, että tulosignaalin suorittamiseen kuluu aikaa yhden täyden jakson ajan. Onneksi Arduino IDE -ohjelmistolla on komento, joka tekee juuri sen, PulseIn.
Tämä komento odottaa, että signaali ylittää kynnyksen, alkaa laskea ja lopettaa laskemisen, kun kynnys ylitetään uudelleen. Joitakin yksityiskohtia tulee huomioida komentoa käytettäessä, joten lisään linkin PulseIn -tietoihin täältä:
PulseIn palauttaa arvon mikrosekunneissa, ja pitää matematiikka yksinkertaisena, tämä on muutettava välittömästi normaaliksi sekunniksi. Edellisen vaiheen laskutoimituksen jälkeen tämä ajanjakso voidaan rinnastaa suoraan RPM: ään.
Huomaa: kokeilun ja erehdyksen jälkeen huomasin, että jakelija suorittaa kaksi kierrosta moottorin kampiakselin jokaista kierrosta kohden, joten jaoin vastaukseni 2: lla tämän huomioon ottamiseksi.
Vaihe 5: Tunnista suodatin
Jos olet onnekas, signaalissasi ei ole kohinaa (vaihtelua) ja moottorin nopeus on tarkka. Minun tapauksessani jakelijasta tuli paljon melua, joka usein antoi jännitteitä kaukana odotetusta. Tämä muuttuu erittäin vääriksi todellisen moottorin kierrosluvun lukemiksi. Tämä melu on suodatettava pois.
Jonkin signaalianalyysin jälkeen melkein kaikki melu tuli taajuuksilla (Hz), jotka olivat paljon korkeampia kuin mitä itse moottori lähetti (mikä pätee useimpiin todellisiin dynaamisiin järjestelmiin). Tämä tarkoittaa, että alipäästösuodatin on ihanteellinen ehdokas huolehtimaan tästä.
Alipäästösuodatin mahdollistaa matalien taajuuksien (haluttu) kulkemisen läpi ja vaimentaa korkeat taajuudet (ei -toivottuja).
Vaihe 6: Suodatus: Osa 1
Suodattimen voi suunnitella käsin, mutta MATLABin käyttö nopeuttaa sitä merkittävästi, jos sinulla on pääsy ohjelmistoon.
Alipäästösuodatin voidaan rinnastaa siirtofunktioon (tai murto -osaan) Laplace -alueella (taajuusalue). Tulotaajuus kerrotaan tällä murto -osalla ja lähtö on suodatettu signaali, jossa on vain haluamasi tiedot.
Funktion ainoa muuttuja on tau. Tau on yhtä kuin 1 / Omega, missä Omega on haluamasi rajataajuus (täytyy olla radiaaneina sekunnissa). Katkaisutaajuus on raja, jossa sitä korkeammat taajuudet poistetaan ja sitä pienemmät taajuudet pidetään.
Asetin rajataajuuden yhtä suureksi kuin kierrosluku, jota moottorini ei koskaan saavuta (990 RPM tai 165 Hz). FFT -kaaviot osoittavat suunnilleen, mitä taajuuksia raaka signaalini kantoi ja mitä suodattimesta tuli.
Vaihe 7: Suodatus: Osa 2
Täällä MATLABia hyödynnettiin jälleen ajan vuoksi. Katkaisutaajuus määritetään, ja sen jälkeen tuloksena oleva siirtotoiminto näytetään. Muista, että tämä murto-osa koskee vain Laplace-verkkotunnusta, eikä sitä voi käyttää suoraan aikapohjaiseen mikro-ohjaimeen, kuten Arduino UNO R3.
Vaihe 8: Suodatus: Osa 3
MATLABilla on komento, joka muuntaa jatkuvan funktion (taajuusalue) erilliseksi funktioksi (aikatunnukseksi). Tämän komennon tulos antaa yhtälön, joka voidaan helposti sisällyttää Arduino IDE -koodiin.
Vaihe 9: Suodatus: Osa 4
Sisällytä Arduino -luonnokseen muuttujat u ja y ennen asennusta. Float -komento määrittää yksinkertaisesti, miten muuttuja tallentaa tiedot (esimerkiksi enimmäisarvon, desimaalit jne.), Ja linkki lisätietoihin tästä annetaan täällä: https://www.arduino.cc/reference/en/language /varia…
Silmukkaan, jossa raakasignaali muutetaan moottorin nopeudeksi, sisällytä u -muuttuja ja y -moninkertainen yhtälö. Tätä voidaan käyttää useilla tavoilla, mutta muuttuja u on asetettava yhtä suureksi kuin mitattava raaka tulosignaali, ja muuttuja y on suodatettu arvo.
Suositeltava:
Moottorin kierrosluvun automaattinen ohjaus IR -pohjaisen kierroslukumittarin palautejärjestelmän avulla: 5 vaihetta (kuvilla)
Moottorin kierrosluvun automaattinen ohjaus palautejärjestelmän avulla IR -pohjaisella kierroslukumittarilla: Prosessi on aina tarpeen automatisoida, olipa se sitten yksinkertainen/hirvittävä prosessi. menetelmiä pienen maa -alueemme kasteluun/kasteluun.Viimeisen syöttölinjan ongelma
Käytä HC-05 Bluetooth-moduulia, kun haluat toteuttaa mikro: bittiviestinnän matkapuhelimen kanssa: 9 vaihetta (kuvien kanssa)
Käytä HC-05-Bluetooth-moduulia mikro-bittiviestinnän toteuttamiseen matkapuhelimen kanssa: Luvussa Käytä HC-06-Bluetooth-moduulia mikro-bittiviestinnän toteuttamiseen matkapuhelimessa olemme keskustelleet siitä, kuinka HC-06: n avulla voidaan muodostaa yhteys mikro: bitti ja matkapuhelin. Lukuun ottamatta HC-06: ta on toinen yleinen Bluetooth-moduuli
Käytä HC-06 Bluetooth-moduulia Micro: bit-viestinnän toteuttamiseen matkapuhelimen kanssa: 8 vaihetta (kuvien kanssa)
Käytä HC-06 Bluetooth-moduulia Micro: bit-viestinnän toteuttamiseen matkapuhelimen kanssa: Monet ympärilläni olevat ystävät, jotka pelaavat micro: bittiä, kertovat minulle, että micro: bitin Bluetooth-yhteys ei ole vakaa. Se on helppo irrottaa. Jos käytämme mikropytonia, Bluetoothia ei voi edes ottaa käyttöön. Ennen kuin micro: bit offic ratkaisee tämän ongelman
Käytä SSH: ta ja XMingiä X -ohjelmien näyttämiseen Linux -tietokoneelta Windows -tietokoneella: 6 vaihetta
SSH: n ja XMingin käyttäminen X -ohjelmien näyttämiseen Linux -tietokoneelta Windows -tietokoneella: Jos käytät Linuxia töissä ja Windowsia kotona tai päinvastoin, sinun on joskus kirjauduttava sisään tietokoneeseesi toisessa paikassa ja ajaa ohjelmia. No, voit asentaa X -palvelimen ja ottaa SSH -tunneloinnin käyttöön SSH -asiakkaasi kanssa ja yhden
Käytä Arduinoa N64 -ohjaimella: 5 vaihetta (kuvien kanssa)
Käytä Arduinoa N64 -ohjaimen kanssa: Siellä on opetusohjelmia NES -ohjaimen käyttämisestä Arduinon kanssa, mutta monimutkaisemman N64 -ohjaimen ja sen analogisen ohjaussauvan käyttäminen on selvä. Jos sinulla on Arduino ympärilläsi etkä halua ostaa Adaptoidia, tämä ohje