Tartalomjegyzék:
- Lépés: Válasszon Sigal vezetéket
- 2. lépés: Húzza ki a vezetéket az Arduino táblára
- 3. lépés: Jellelemzés
- 4. lépés: kódolja a szignál -elemzést
- 5. lépés: Szűrő azonosítása
- 6. lépés: Szűrés: 1. rész
- 7. lépés: Szűrés: 2. rész
- 8. lépés: Szűrés: 3. rész
- 9. lépés: Szűrés: 4. rész
Videó: Az Arduino használatával jelenítse meg a motor fordulatszámát: 10 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Ez az útmutató felvázolja, hogyan használtam egy Arduino UNO R3 -at, egy 16x2 -es LCD -kijelzőt I2C -vel és egy LED -szalagot, amelyet motor fordulatszámmérőként és sebességváltó lámpaként használtam az Acura Integra nyomkövető autómban. Olyan személyre van írva, akinek van némi tapasztalata vagy kitettsége az Arduino szoftverben vagy általában a kódolásban, a MATLAB matematikai szoftverben, és elektromos áramköröket hoz létre vagy módosít. A jövőben ezt felülvizsgálhatjuk, hogy könnyebben érthető legyen azok számára, akik kevés vagy semmilyen tapasztalattal nem rendelkeznek ezekben a témákban.
Lépés: Válasszon Sigal vezetéket
Olyan jelet kell kapnia, amely megfelel a motor fordulatszámának. Lehetőség van olyan rendszer hozzáadására, amely méri a motor fordulatszámát, de sokkal praktikusabb meglévő vezetéket csatlakoztatni, amely a motor fordulatszámára vonatkozó információkat hordozza. Egy autónak több forrása is lehet erre, és ez akár évről évre vadul is változhat egyetlen járműmodell esetében. Ennek az oktatóanyagnak a kedvéért az autóm példáját fogom használni, egy 2000 -es Acura Integra LS vágányt. A motoromon (B18B1 OBD2 -vel) azt találtam, hogy egy kihasználatlan feszültség kimarad, ami 12 V magas, és 0 V -ra csökken a teljes fordulat befejezése után.
Dolgok, amelyek segítenek azonosítani a potenciális motorfordulatszám -jelet:
- A jármű bekötési rajza
- Fórumok keresése a járműhöz motor/ECU jelekkel
- Barátságos szerelő vagy autórajongó
2. lépés: Húzza ki a vezetéket az Arduino táblára
Miután kiválasztotta a megfelelő jelet, ki kell terjesztenie azt arra a helyre, ahová az Arduino táblát helyezi. Úgy döntöttem, hogy az enyémet a járműbe helyezem, ahol korábban a rádió volt, ezért az új vezetéket a motorból, a tűzfalban lévő gumi tömítésen keresztül, és közvetlenül a rádió területére vittem. Mivel már rengeteg útmutató található a csupaszításról, forrasztásról és a vezetékek védelméről, nem fogom megmagyarázni ezt a folyamatot.
3. lépés: Jellelemzés
Itt bonyolulttá válhatnak a dolgok. A jelfeldolgozás és a vezérlőelemek általános ismerete sokat segíthet, de kevés tudással kivitelezhető.
A jelzőhuzal valószínűleg nem a motor fordulatszámának pontos értékét köpi ki. Úgy kell alakítani és módosítani, hogy pontosan a kívánt motorfordulatszámot adja meg. Tekintettel arra, hogy minden egyes választott autó és jelvezeték eltérő lehet, ettől a ponttól fogva elmagyarázom, hogyan használtam az Integrám forgalmazójának helyzetjelét.
Jelzésem általában 12V, és egy teljes körforgás befejezésekor 0V -ra csökken. Ha ismeri az időt egy teljes körforgás vagy egy teljes ciklus befejezéséhez, akkor ezt néhány alapvető fogalom segítségével könnyen fordíthatjuk fordulatszám/perc sebességre.
1 / (másodperc ciklusonként) = ciklus másodpercenként, vagy Hz
Fordulatszám percenként = Hz * 60
4. lépés: kódolja a szignál -elemzést
Ez a módszer megköveteli, hogy megkapjuk a bemenő jel teljes ciklusának befejezéséhez szükséges időt. Szerencsére az Arduino IDE szoftver rendelkezik egy paranccsal, amely pontosan ezt teszi, a PulseIn.
Ez a parancs megvárja, amíg egy jel átlépi a küszöböt, elkezdi a számlálást, és leállítja a számlálást, amikor a küszöböt újra átlépi. Van néhány részlet, amelyet figyelembe kell venni a parancs használatakor, ezért a PulseIn információira mutató linket itt adok meg:
A PulseIn mikroszekundumban ad vissza egy értéket, és hogy a matematika egyszerű legyen, ezt azonnal normál másodpercre kell konvertálni. Az előző lépés matematikáját követően ez az időtartam egyenlővé tehető az RPM -mel.
Megjegyzés: próba és hiba után rájöttem, hogy az elosztó két fordulatot hajt végre a motor főtengelyének minden egyes fordulata után, ezért egyszerűen elosztottam a válaszomat 2 -vel.
5. lépés: Szűrő azonosítása
Ha szerencséje van, a jelzésben nem lesz „zaj” (ingadozás), és a motor fordulatszáma pontos lesz. Az én esetemben sok zaj hallatszott az elosztótól, ami gyakran messze nem adott feszültséget a várttól. Ez a hajtómű tényleges fordulatszámának nagyon hamis leolvasásává válik. Ezt a zajt ki kell szűrni.
Némi jelmérlegelés után szinte az összes zaj sokkal magasabb frekvencián (Hz) érkezett, mint maga a motor, (ami igaz a legtöbb valódi dinamikus rendszerre). Ez azt jelenti, hogy az aluláteresztő szűrő ideális jelölt erre.
Az aluláteresztő szűrő lehetővé teszi az alacsony frekvenciák (kívánt) áthaladását, és tompítja a magas frekvenciákat (nem kívánt).
6. lépés: Szűrés: 1. rész
A szűrő tervezése kézzel is elvégezhető, azonban a MATLAB használata jelentősen felgyorsítja ezt, ha hozzáfér a szoftverhez.
Az aluláteresztő szűrő a Laplace tartomány (frekvenciatartomány) átviteli függvényével (vagy törtével) egyenlő. A bemeneti frekvenciát megszorozzuk ezzel a törtszámmal, és a kimenet egy szűrt jel, amely csak a használni kívánt információt tartalmazza.
A függvény egyetlen változója a tau. Tau egyenlő 1 / Omega -val, ahol az Omega a kívánt határfrekvencia (radiánban kell megadni másodpercenként). A határfrekvencia az a határ, ahol a magasabb frekvenciákat eltávolítják, és a náluk alacsonyabb frekvenciákat megtartják.
A vágási frekvenciát a motor által soha el nem érhető fordulatszámmal állítom be (990 RPM vagy 165 Hz). Az FFT grafikonok nagyjából azt mutatják, hogy a nyers jelzésem milyen frekvenciákat hordoz, és a szűrőből származó frekvenciákat.
7. lépés: Szűrés: 2. rész
Itt a MATLAB -ot újra használták az idő kedvéért. A határfrekvencia definiálva van, és ebből az eredményül kapott átviteli funkció jelenik meg. Ne feledje, hogy ez a tört csak a Laplace tartományra vonatkozik, és nem használható közvetlenül olyan időalapú mikrovezérlőn, mint az Arduino UNO R3.
8. lépés: Szűrés: 3. rész
A MATLAB rendelkezik egy paranccsal, amely egy folytonos függvényt (frekvenciatartományt) diszkrét függvénnyé (időtartomány) alakít át. Ennek a parancsnak a kimenete egy egyenletet biztosít, amely könnyen beépíthető az Arduino IDE kódba.
9. lépés: Szűrés: 4. rész
Az Arduino vázlatában adja meg az u és y változókat a beállítás előtt. A float parancs egyszerűen meghatározza, hogy a változó hogyan tárolja az adatokat (például maximális érték, tizedesjegyek stb.), És az erről szóló további információk linkje itt található: https://www.arduino.cc/reference/en/language /varia…
A hurokban, ahol a nyers jelből a motor fordulatszámává történő átalakítása zajlik, vegye be az u változót és az y többszörös egyenletet. Ennek több módja is van, de az u változót egyenlőnek kell beállítani a nyers bemeneti jellel, és az y változó lesz a szűrt érték.
Ajánlott:
Húzza és ambienten jelenítse meg az adatokat bármely webhelyről Wifi -n keresztül (északi fényjelző) a NodeMcu segítségével: 6 lépés
Húzza és ambienten jelenítse meg az adatokat bármely webhelyről Wifi -n keresztül (északi fényjelző) a NodeMcu segítségével: Motivációm: SOK utasítást láttam a NodeMCU (az ESP8266 modulra épülő) IoT (tárgyak internete) projektek létrehozásához/ használatához . Ezen oktatóanyagok közül azonban csak nagyon kevés rendelkezett minden részlettel/ kóddal/ diagrammal egy nagyon kezdő szakember számára
Hosszabbítsa meg laptopja életét! Tisztítsa meg a port a hűtőbordájából: 3 lépés
Hosszabbítsa meg laptopja életét! Tisztítsuk meg a Dust ki a hűtőborda .: Egy nagyon alapvető áttekintést, hogyan tisztítani a port a Toshiba laptop hűtőborda. Annyi volt benne! Nem hiszem el, hogy ezt a gyakorlatot nem ajánlják és nem ösztönzik a gyártók. Ha a por elzárja a levegő be- és kimenetét, és
Az Arduino vezérli az egyenáramú motor fordulatszámát és irányát egy potenciométer segítségével: 6 lépés
Arduino DC egyenáramú motor fordulatszáma és iránya egy potenciométer használatával: Ebben az oktatóanyagban megtanuljuk, hogyan kell használni az L298N DC MOTOR CONTROL meghajtót és egy potenciométert az egyenáramú motor fordulatszámának és irányának szabályozásához. Nézzen meg egy bemutató videót
Hogyan állítsuk be a Samsung Galaxy S7 Android 8.0 operációs rendszerrel, hogy csak egy alkalmazás képernyőjét jelenítse meg !!: 5 lépés
A Samsung Galaxy S7 beállítása az Android 8.0 verzióval, hogy csak egy képernyő jelenjen meg !!: Ez az utasítás megmutatja, hogyan kell beállítani a samsung galaxy s7 -et úgy, hogy csak egy alkalmazás képernyőjét jelenítse meg. Ez nagyszerű, ha babája/gyermeke van aki szeret játszani a telefonjával, vagy szeretné biztosítani, hogy a telefonja csak akkor maradjon egy alkalmazásban, ha valaki más
Érintse meg a kapcsolóáramkört a MOSFET tranzisztor használatával: 5 lépés (képekkel)
Érintőkapcsoló áramkör a MOSFET tranzisztor használatával: Hogyan készítsünk érintőkapcsoló áramkört a MOsfet tranzisztor használatával bármilyen elektronikus projekthez Nagyon egyszerű projekt és hasznos minden olyan áramkör számára, amely ilyen elektronikus érintőkapcsolót igényel