Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-23 14:38
Tato příručka nastíní, jak jsem použil Arduino UNO R3, 16x2 LCD displej s I2C a LED pásek, který měl být použit jako měřič otáček motoru a kontrolky řazení v mém dráhovém voze Acura Integra. Je napsán ve smyslu někoho, kdo má nějaké zkušenosti nebo má zkušenosti se softwarem Arduino nebo kódováním obecně, matematickým softwarem MATLAB a vytvářením nebo úpravou elektrických obvodů. V budoucnu to může být zrevidováno, aby bylo srozumitelnější pro někoho, kdo má s těmito tématy malé nebo žádné zkušenosti.
Krok 1: Vyberte si Sigal Wire
Budete potřebovat signál, který odpovídá otáčkám motoru. Je možné přidat systém, který měří otáčky motoru, ale je mnohem praktičtější využít stávající vodič, který přenáší informace o otáčkách motoru. Jediné auto k tomu může mít více zdrojů a může se lišit dokonce rok od roku na jednom modelu vozidla. Kvůli tomuto tutoriálu použiji příklad svého auta, upravenou trať 2000 Acura Integra LS. Na svém motoru (B18B1 s OBD2) jsem našel nepoužité napětí, které je vysoké 12 V a po dokončení plné otáčky klesne na 0 V.
Věci, které pomohou identifikovat potenciální signál otáček motoru:
- Schéma zapojení vašeho vozidla
- Hledání fór pro vaše vozidlo se signály motoru/ECU
- Přátelský mechanik nebo automobilový nadšenec
Krok 2: Rozšíření Wire to Arduino Board
Jakmile vyberete vhodný signál, budete jej muset rozšířit kamkoli, kam desku Arduino umístíte. Rozhodl jsem se umístit svůj do vozidla, kde dříve bylo rádio, a tak jsem navedl nový vodič od motoru, gumovou průchodkou v protipožární stěně a přímo do oblasti rádia. Protože již existuje velké množství návodů na odizolování, pájení a ochranu kabeláže, nebudu tento proces vysvětlovat.
Krok 3: Analýza signálu
Tady se věci mohou komplikovat. Obecné porozumění analýze signálů a ovládacím prvkům vám pomůže na dlouhé cestě, ale dá se zvládnout s malými znalostmi.
S největší pravděpodobností zvolený signální vodič nebude plivat přesnou hodnotu otáček motoru. Bude muset být tvarován a upraven tak, aby poskytoval přesný počet otáček motoru, které chcete. Vzhledem k tomu, že každý jiný vůz a signální vodič se mohou lišit, od tohoto bodu dále vysvětlím, jak jsem na svém Integru použil signál polohy od distributora.
Můj signál je normálně 12V a po dokončení jednoho úplného otočení klesne na 0V. Pokud znáte čas na dokončení jedné úplné rotace nebo jednoho celého cyklu, lze to snadno převést na otáčky/min pomocí některých základních konceptů.
1 / (sekundy na cyklus) = cykly za sekundu nebo Hz
Otáčky za minutu = Hz * 60
Krok 4: Kódujte svou analýzu signálu
Tato metoda vyžaduje získání času potřebného k tomu, aby vstupní signál dokončil jeden celý cyklus. Naštěstí software Arduino IDE má příkaz, který dělá přesně to, PulseIn.
Tento příkaz počká, až signál překročí práh, začne počítat a přestane počítat, jakmile bude práh znovu překročen. Při používání příkazu je třeba poznamenat několik podrobností, proto zde uvedu odkaz na informace o PulseIn:
PulseIn vrátí hodnotu v mikrosekundách a aby byla matematika jednoduchá, měla by být okamžitě převedena na normální sekundy. V návaznosti na matematiku v předchozím kroku lze toto časové období rovnat přímo RPM.
Poznámka: po pokusu a omylu jsem zjistil, že distributor dokončí dvě otáčky pro každé jedno otočení klikového hřídele motoru, takže jsem svou odpověď jednoduše rozdělil na 2.
Krok 5: Identifikace filtru
Pokud budete mít štěstí, váš signál bude bez „šumu“(kolísání) a otáčky motoru budou přesné. V mém případě přicházel od distributora velký hluk, který často dával napětí daleko od toho, co se očekávalo. To se změní na velmi falešné hodnoty skutečných otáček motoru. Tento hluk bude nutné odfiltrovat.
Po nějaké analýze signálu přišel téměř veškerý šum na frekvencích (Hz) mnohem vyšších, než jaké produkoval samotný motor (což platí pro většinu skutečných dynamických systémů). To znamená, že nízkoprůchodový filtr je ideálním kandidátem, který se o to postará.
Nízkoprůchodový filtr umožňuje průchod nízkých frekvencí (požadovaný) a zeslabuje vysoké frekvence (nežádoucí).
Krok 6: Filtrování: Část 1
Navrhování filtru lze provést ručně, použití MATLABu to však výrazně urychlí, pokud máte přístup k softwaru.
Filtr dolní propusti lze přirovnat k přenosové funkci (nebo zlomku) v Laplaceově doméně (frekvenční doméně). Vstupní frekvence se vynásobí tímto zlomkem a výstupem je filtrovaný signál, který obsahuje pouze informace, které chcete použít.
Jedinou proměnnou ve funkci je tau. Tau se rovná 1 / Omega, kde Omega je požadovaná mezní frekvence (musí být v radiánech za sekundu). Mezní frekvence je limit, kde budou frekvence vyšší než odstraněny a frekvence nižší, než budou zachovány.
Nastavil jsem mezní frekvenci na otáčky, kterých můj motor nikdy nedosáhne (990 ot / min nebo 165 Hz). Grafy FFT zhruba ukazují, jaké frekvence nesl můj surový signál a frekvence, které vyšly z filtru.
Krok 7: Filtrování: Část 2
Zde byl MATLAB z důvodu času opět použit. Je definována mezní frekvence a z ní se zobrazí výsledná přenosová funkce. Mějte na paměti, že tato frakce platí pouze pro doménu Laplace a nelze ji přímo použít na časově závislém mikrořadiči, jako je Arduino UNO R3.
Krok 8: Filtrování: Část 3
MATLAB má příkaz, který převede spojitou funkci (frekvenční doménu) na diskrétní funkci (časovou doménu). Výstup tohoto příkazu poskytne rovnici, kterou lze snadno začlenit do kódu Arduino IDE.
Krok 9: Filtrování: Část 4
V náčrtu Arduino zahrňte před nastavením proměnné u a y. Příkaz float jednoduše definuje, jak bude proměnná ukládat data (například maximální hodnota, desetinná čísla atd …) a odkaz na další informace o tom bude k dispozici zde: https://www.arduino.cc/reference/en/language /varia…
Ve smyčce, kde probíhá převod ze surového signálu na otáčky motoru, zahrňte proměnnou u a rovnici y násobku. Existuje několik způsobů, jak toho využít, ale proměnná u by měla být nastavena stejně jako měřený surový vstupní signál a proměnná y bude filtrovaná hodnota.
Doporučuje:
Variabilní regulátor otáček motoru: 8 kroků
Variabilní regulátor otáček motoru: V tomto projektu vám ukážu způsob, jakým jsem vyrobil regulátor otáček motoru & Také předvedu, jak snadné může být sestavení regulátoru otáček motoru pomocí IC 555. Začněme
Jak ovládat bezkartáčový stejnosměrný motor Drone Quadcopter (typ se 3 vodiči) pomocí ovladače otáček motoru HW30A a Arduino UNO: 5 kroků
Jak ovládat bezkartáčový stejnosměrný motor Drone Quadcopter (typ se 3 dráty) pomocí regulátoru otáček motoru HW30A a Arduino UNO: Popis: Regulátor otáček motoru HW30A lze použít s 4–10 NiMH/NiCd nebo 2–3 článkovými LiPo bateriemi. BEC je funkční až se 3 články LiPo. Lze jej použít k řízení rychlosti bezkartáčového stejnosměrného motoru (3 vodiče) s maximem až 12 V DC. Specifický
Jak vyrobit regulátor otáček stejnosměrného motoru: 5 kroků
Jak vyrobit stejnosměrný regulátor otáček motoru: Dobrý den, přátelé, v tomto blogu vyrobím diy stejnosměrný regulátor otáček, který se používá jako LED stmívač světla a stejnosměrný regulátor otáček motoru. Chcete -li tento projekt provést doma, budete potřebovat následující komponenty a obvod níže. Nejlepší řešení
Oceňte svůj projekt: Použijte grafické zobrazení !: 14 kroků
Važte si svého projektu: Použijte grafický displej !: V našem dnešním videu vám ukážu 1,8palcový TFT displej. Jedná se o grafický displej 128 x 160. Je větší než to, co přichází v ESP32 LoRa, a také ukážu jeho použití v tradičním ESP32. Poté nás čeká montáž a nákup
Autonomní řízení otáček motoru pomocí systému zpětné vazby z infračerveného tachometru: 5 kroků (s obrázky)
Autonomní řízení otáček motoru pomocí systému zpětné vazby z tachometru na bázi IR: Vždy je potřeba automatizovat proces, ať už je to jednoduchý/monstrózní. Nápad udělat tento projekt jsem dostal z jednoduché výzvy, se kterou jsem se setkal při hledání metody zalévání/zavlažování našeho malého kousku země. Problém neexistujícího přívodního vedení