Turinys:
- 1 žingsnis: pasirinkite Sigal vielą
- 2 žingsnis: išplėskite laidą iki „Arduino“plokštės
- 3 žingsnis: Signalo analizė
- 4 žingsnis: koduokite savo signalo analizę
- 5 veiksmas: nustatykite filtrą
- 6 veiksmas: filtravimas: 1 dalis
- 7 žingsnis: Filtravimas: 2 dalis
- 8 veiksmas: filtravimas: 3 dalis
- 9 veiksmas: filtravimas: 4 dalis
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:46
Šiame vadove bus aprašyta, kaip aš naudoju „Arduino UNO R3“, 16x2 skystųjų kristalų ekraną su I2C ir LED juostą, kuri buvo naudojama kaip variklio apsisukimų matuoklis ir pavarų perjungimo lemputė „Acura Integra“bėgių automobilyje. Tai parašyta kalbant apie asmenį, turintį tam tikros patirties ar susidūrusį su „Arduino“programine įranga ar kodavimu apskritai, matematinę programinę įrangą MATLAB ir kuriančią ar modifikuojančią elektros grandines. Ateityje tai gali būti peržiūrėta, kad būtų lengviau suprantama tiems, kurie turi mažai patirties arba neturi patirties šiomis temomis.
1 žingsnis: pasirinkite Sigal vielą
Turite gauti signalą, atitinkantį variklio greitį. Galima pridėti sistemą, kuri matuoja variklio greitį, tačiau kur kas praktiškiau prisijungti prie esamos vielos, kuri perduoda informaciją apie variklio greitį. Vienas automobilis gali turėti kelis šaltinius tam, ir jis gali labai skirtis net kiekvienais metais pagal vieno transporto priemonės modelį. Šios pamokos labui naudosiu savo automobilio pavyzdį, takelį, modifikuotą 2000 Acura Integra LS. Radau savo variklyje (B18B1 su OBD2) yra nenaudojama įtampa, kuri yra 12 V aukšta ir nukrenta iki 0 V., kai baigiamas visas apsisukimas.
Dalykai, kurie padės nustatyti galimą variklio sūkių dažnio signalą:
- Jūsų automobilio prijungimo schema
- Jūsų transporto priemonės forumuose ieškoma variklio/ECU signalų
- Draugiškas mechanikas ar automobilių entuziastas
2 žingsnis: išplėskite laidą iki „Arduino“plokštės
Kai pasirinksite tinkamą signalą, turėsite jį išplėsti visur, kur dedate „Arduino“plokštę. Aš nusprendžiau įdėti savo automobilį į transporto priemonės vietą, kurioje anksčiau buvo radijas, todėl naują laidą iš variklio išvedžiau per guminę tarpiklį priešgaisrinėje sienoje ir tiesiai į radijo zoną. Kadangi jau yra gausu instrukcijų, kaip nuimti, lituoti ir apsaugoti laidus, šio proceso nepaaiškinsiu.
3 žingsnis: Signalo analizė
Čia viskas gali komplikuotis. Bendras supratimas apie signalų analizę ir valdymą padės jums daug, tačiau tai galima padaryti turint mažai žinių.
Greičiausiai pasirinktas signalinis laidas neišspjaudys tikslios variklio apsisukimų dažnio vertės. Jis turės būti suformuotas ir modifikuotas taip, kad suteiktų tikslų norimą variklio apsisukimų skaičių. Atsižvelgiant į tai, kad kiekvienas pasirinktas automobilis ir signalinis laidas gali būti skirtingi, nuo šio momento paaiškinsiu, kaip naudojau „Integra“platintojo padėties signalą.
Mano signalas paprastai yra 12 V ir sumažėja iki 0 V, kai baigiamas visas sukimasis. Jei žinote laiką, per kurį reikia atlikti vieną pilną apsisukimą arba vieną visą ciklą, tai galima lengvai išversti į apsisukimus per minutę, naudojant kai kurias pagrindines sąvokas.
1 / (sekundės per ciklą) = ciklai per sekundę arba Hz
Apsisukimų per minutę = Hz * 60
4 žingsnis: koduokite savo signalo analizę
Šis metodas reikalauja gauti laiko, per kurį įvesties signalas užbaigia visą ciklą. Laimei, „Arduino IDE“programinė įranga turi komandą, kuri tai daro tiksliai, „PulseIn“.
Ši komanda lauks, kol signalas peržengs slenkstį, pradės skaičiuoti ir nustos skaičiuoti, kai slenkstis vėl bus peržengtas. Naudojant komandą reikia atkreipti dėmesį į kai kurias detales, todėl čia pridėsiu nuorodą į PulseIn informaciją:
„PulseIn“grąžins vertę mikrosekundėmis, o norint, kad matematika būtų paprasta, ją reikia nedelsiant konvertuoti į įprastas sekundes. Atlikus ankstesnio žingsnio matematiką, šią laiko trukmę galima tiesiogiai prilyginti RPM.
Pastaba: po bandymų ir klaidų atradau, kad skirstytuvas atlieka du apsisukimus kiekvienam variklio alkūninio veleno apsisukimui, todėl aš tiesiog padalinau savo atsakymą iš 2, kad tai apsvarstyčiau.
5 veiksmas: nustatykite filtrą
Jei jums pasisekė, jūsų signalas neturės triukšmo (svyravimų) ir jūsų variklio greitis bus tikslus. Mano atveju iš platintojo sklido didelis triukšmas, kuris dažnai davė įtampą toli nuo to, ko tikimasi. Tai virsta labai klaidingais faktinio variklio apsisukimų rodmenimis. Šį triukšmą reikės išfiltruoti.
Atlikus tam tikrą signalo analizę, beveik visas triukšmas buvo dažniu (Hz) daug didesnis nei pats variklis (tai pasakytina apie daugumą tikrų dinaminių sistemų). Tai reiškia, kad žemo dažnio filtras yra idealus kandidatas tuo pasirūpinti.
Žemo dažnio filtras leidžia pravažiuoti žemiems dažniams (pageidaujamiems) ir slopina aukštus (nepageidaujamus) dažnius.
6 veiksmas: filtravimas: 1 dalis
Filtrą galima sukurti rankiniu būdu, tačiau naudojant MATLAB tai žymiai paspartės, jei turite prieigą prie programinės įrangos.
Žemo dažnio filtras gali būti prilyginamas perdavimo funkcijai (arba daliai) Laplaso srityje (dažnio sritis). Įvesties dažnis bus padaugintas iš šios dalies, o išėjimas yra filtruotas signalas, kuriame yra tik norima naudoti informacija.
Vienintelis funkcijos kintamasis yra tau. Tau yra lygus 1 / Omega, kur Omega yra norimas ribinis dažnis (turi būti radianais per sekundę). Ribinis dažnis yra riba, kai aukštesni nei jis dažniai bus pašalinti, o žemesni nei bus laikomi.
Aš nustatiau ribinį dažnį, lygų apsisukimams, kurių mano variklis niekada nepasieks (990 aps / min arba 165 Hz). FFT grafikai apytiksliai rodo, kokius dažnius nešioja mano neapdorotas signalas ir kokie dažniai sklinda iš filtro.
7 žingsnis: Filtravimas: 2 dalis
Čia MATLAB vėl buvo panaudotas dėl laiko. Nustatomas ribinis dažnis ir nuo to rodoma gauta perdavimo funkcija. Atminkite, kad ši dalis taikoma tik „Laplace“domenui ir negali būti tiesiogiai naudojama laikui bėgant valdomame mikrovaldiklyje, pvz., „Arduino UNO R3“.
8 veiksmas: filtravimas: 3 dalis
MATLAB turi komandą, kuri nepertraukiamą funkciją (dažnio sritį) pavers diskrečia funkcija (laiko sritimi). Šios komandos išvestis suteiks lygtį, kurią galima lengvai įtraukti į „Arduino IDE“kodą.
9 veiksmas: filtravimas: 4 dalis
Į „Arduino“eskizą prieš nustatymą įtraukite kintamuosius u ir y. Komanda float tiesiog apibrėžia, kaip kintamasis išsaugos duomenis (pvz., Didžiausią vertę, dešimtainius skaičius ir kt.), O nuoroda į daugiau informacijos apie tai bus pateikta čia: https://www.arduino.cc/reference/en/language /varia…
Į ciklą, kuriame vyksta neapdoroto signalo konvertavimas į variklio greitį, įtraukite kintamąjį u ir y kartotinę lygtį. Yra keli būdai, kaip tai panaudoti, tačiau kintamasis u turi būti nustatytas lygus matuojamam pradiniam signalui, o kintamasis y bus filtruojama vertė.
Rekomenduojamas:
Pakartotinai naudokite seno nešiojamojo kompiuterio jutiklinę plokštę, kad galėtumėte valdyti kompiuterį!: 11 žingsnių (su paveikslėliais)
Pakartotinai naudokite seno nešiojamojo kompiuterio jutiklinę plokštę, kad galėtumėte valdyti kompiuterį! Slankiojantys ir bakstelėjantys pirštų gestai gali padėti valdyti daiktus gana paprastai ir linksmai. Šioje instrukcijoje sujunkime vieną su
„IoT Smart Clock Dot Matrix“Naudokite „Wemos ESP8266“- ESP matricą: 12 žingsnių (su paveikslėliais)
„IoT“išmaniojo laikrodžio taškų matrica Naudokite „Wemos ESP8266-ESP Matrix“: sukurkite savo išmanųjį „IoT“laikrodį, kuris gali: Rodyti laikrodį su gražia animacijos piktograma Rodyti priminimą nuo 1 iki priminimo-5 Rodyti kalendorių Rodyti musulmonų maldos laikus Rodyti orų informaciją Rodyti naujienas Rodyti patarimus Bitcoin kurso rodymas
Norėdami naudoti įrankius, naudokite bėgimo takelio nuolatinės srovės variklį ir PWM greičio valdiklį: 13 žingsnių (su paveikslėliais)
Elektriniams įrankiams naudoti bėgimo takelio nuolatinės srovės variklį ir PWM greičio valdiklį: gali prireikti elektrinių įrankių, tokių kaip metalo pjovimo staklės ir tekinimo staklės, gręžimo presai, juostiniai pjūklai, šlifuokliai ir dar daugiau. Atsitiktinai dauguma bėgimo takelių naudoja 80–260 V nuolatinės srovės variklį su
Autonominis variklio apsisukimų dažnio valdymas naudojant grįžtamojo ryšio sistemą iš IR tachometro: 5 žingsniai (su paveikslėliais)
Autonominis variklio apsisukimų dažnio valdymas naudojant grįžtamojo ryšio sistemą naudojant IR tachometrą: Visada reikia automatizuoti procesą, nesvarbu, ar tai būtų paprastas/monstriškas. Man kilo idėja atlikti šį projektą iš paprasto iššūkio, su kuriuo susidūriau ieškodamas mūsų nedidelio žemės sklypo laistymo/drėkinimo metodai. Srovės tiekimo linijos nebuvimo problema
Pridėkite belaidį įkrovimą prie bet kurio telefono: kaip pavyzdį naudokite LG-V20: 10 žingsnių (su paveikslėliais)
Pridėkite belaidį įkrovimą prie bet kurio telefono: kaip pavyzdį naudokite LG-V20: Jei esate toks kaip aš ir planuojate telefoną laikyti ilgiau nei 2 metus, jūsų telefone turi būti keičiama baterija, nes baterija trunka tik apie 2 metus, ir belaidis įkrovimas, kad nenusidėvėtų įkrovimo prievadas. Dabar lengva