Az elektronika és a robotika világa tele van nagyszerű apró találmányokkal, amelyek lehetővé teszik számunkra, hogy mindenféle mozgást irányítsunk és figyeljünk. Az egyik legsokoldalúbb és leghasznosabb elem kétségtelenül a forgójeladó, amely mind optikai, mind mágneses formában létezik. Ezek az eszközök nélkülözhetetlenné váltak az Arduino, az automatizálás és a motorvezérlési projektekben. Ha valaha is elgondolkodtál azon, hogy pontosan mi is az a forgójeladó, biztosan kíváncsi leszel. Optikai vagy mágneses forgójeladó: mi az, és példák: KY-040 és AS5600, Jó helyen jársz.
Ebben a cikkben mélyrehatóan bemutatjuk a forgójeladók működését, alkalmazásait és gyakorlati példáit, különös tekintettel két nagyon népszerű modulra: a KY-040 és AS5600Megtanulod, hogyan lehet különbséget tenni az optikai és a mágneses jeladók között, megismerheted fizikai és elektromos jellemzőiket, hogyan csatlakoztathatod és programozhatod őket Arduinóban, és milyen előnyöket kínálnak az egyes érzékelők a projektedtől függően. Tippeket is adunk a szenzorok kiválasztásához és használatához a saját projektjeidben, mindezt világos és lebilincselő módon elmagyarázva, anélkül, hogy kihagynánk a lényeges részleteket.
Mi az a forgójeladó?
Un forgójeladó Ez egy olyan érzékelő, amelyet arra terveztek, hogy mérje a szöghelyzet, sebesség és forgásirány egy forgó tengely vagy elem mozgását. Ez az eszköz a forgó mozgást elektromos jelekké alakítja (jellemzően digitális impulzusokká vagy analóg jelekké), amelyeket aztán egy mikrovezérlő, például egy Arduino, egy Raspberry Pi vagy akár egy ipari vezérlő is értelmezhet.
Ezek az érzékelők elengedhetetlenek azokban az alkalmazásokban, ahol ismerni kell egy tengely pontos pozícióját, vagy azt, hogy hány fordulatot tett meg. Gyakran megtalálhatók nyomtatókban, szervomotorokban, robotokban, numerikus vezérlőrendszerekben és természetesen barkácsprojektekben, a menüinterfészektől a sebességszabályozó rendszerekig.
Forgójeladó típusok: optikai vs. mágneses
A forgójeladók főként a következőkre oszthatók: látszerészek y mágneses, bár vannak más, kevésbé gyakori változatok is, például a kapacitívak.
Optikai forgójeladó
Az optikai kódoló, mint például a KY-040Egy jelölt vagy lyukakkal ellátott korongon és egy optikai adó/vevő rendszeren (fotodióda vagy LED) működik. Ahogy a tengely forog, a jelölések által keltett megszakítások elektromos impulzusokat generálnak, amelyeket a mikrovezérlő meg tud számlálni, így meghatározva a szögelmozdulást. Belső felépítése jellemzően egy statikus részből (a korongból) és egy forgó részből (a mért elemhez rögzített tengelyből) áll.
Ez a fajta útmérő kiemelkedik nagy pontosságával és gyors válaszidejével. Nagyon hasznosak olyan alkalmazásokban, ahol a mechanikai robusztusság és a könnyű digitális leolvasás kulcsfontosságú, például felhasználói felületekben, hangerőszabályzókban, forgómenükben és oktatási robotokban.
Mágneses forgójeladó
Másrészt a mágneses jeladó egy mágneses mezőre érzékeny érzékelőt használ (általában egy Hall-érzékelőt vagy egy speciális chipet, mint például a AS5600), amely a tengelyhez kapcsolt mágnes szöghelyzetét érzékeli. Ezek a jeladók nagyobb felbontást biztosítanak a belső analóg-digitális átalakításnak köszönhetően, és kevésbé érzékenyek a szennyeződésre vagy a porra, mivel nem optikai alkatrészeket igényelnek. Továbbá jellemzően digitális (I2C vagy PWM) és/vagy analóg kimeneteket kínálnak, így könnyen integrálhatók különböző elektronikus rendszerekbe.
Inkrementális és abszolút jeladók: főbb különbségek
A kódolók világa tovább oszlik járulékos y abszolút.
- Növekményes kódoló: Impulzusok formájában jelet ad minden alkalommal, amikor a tengely egy bizonyos hányadrészt elfordul. A fordulatonkénti impulzusok száma a kialakítástól és a modelltől függ. Az aktuális pozíció meghatározásához a rendszernek egy referenciapontból kell számolnia és megjegyeznie ezeket az impulzusokat.
- Abszolút kódoló: Közvetlenül megadja a tengely aktuális szöghelyzetét, még akkor is, ha az a rendszer kikapcsolt állapotában elmozdult. Általában speciális kódolással rendelkezik a tárcsán, vagy egy nagy felbontású mágneses érzékelővel.
Ebben a cikkben az inkrementális kódolókra (mint például a KY-040) és egy abszolút mágneses kódolóra (AS5600) fogunk összpontosítani, mivel ezek a leggyakoribbak és a legkönnyebben integrálhatók Arduino projektekbe.
Inkrementális forgójeladó általános működése
sok inkrementális jeladók (mint például a KY-040) két kimeneti csatornából, az A csatornából és a B csatornából állnak, amelyek egymással 90°-os fáziseltérésben digitális impulzusokat generálnak. A csatornák változásának sorrendjének összehasonlításával megállapítható a forgásirány (az óramutató járásával megegyező vagy azzal ellentétes irányban), a megtett lépések (pozíciók) számlálása mellett.
Az előállított jelet "kvadratúrának" nevezik, és különböző pontosságokat tesz lehetővé:
- Egyetlen pontosság: Csak egy él rögzítése egy csatornában.
- Dupla pontosság: Mindkét oldal rögzítése egyetlen csatornában.
- Négyszeres pontosság: Mindkét csatorna mindkét oldalának rögzítése.
KY-040 forgójeladó: Jellemzők, csatlakozások és használat Arduinoval
El KY-040 Ez az egyik legszélesebb körben használt inkrementális forgójeladó a gyártók világában. Kompakt, megfizethető és könnyen beszerezhető modul, amelyet kifejezetten Arduino táblákhoz és más mikrovezérlőkhöz való közvetlen csatlakoztatásra terveztek.
A KY-040 főbb műszaki jellemzői:
- Típus: Optikai inkrementális
- Tápfeszültség: 5V
- Fogyasztás: 10 mA
- Ciklusok fordulatonként: 30
- Impulzusok fordulatonként: 20
- méret: 20 x 30 x 30 mm
- súlya: 10 gramm
- Integrált nyomógomb: A tengelyt befelé lehet nyomni, mintha egy gomb lenne, ami nagyon hasznos extra funkciókat biztosít a menükben vagy a felhasználói felületeken.
Pin kiosztás:
- CLK: A csatorna (impulzus kimenet)
- DT: B csatorna (impulzus kimenet)
- SW: Integrált nyomógomb
- +5 V-os tápegység
- GND: Föld
Hogyan csatlakoztatom a KY-040-et az Arduino-hoz?
A kapcsolat közvetlen és egyszerű:
KY-040 csapszeg | Arduino Pin |
---|---|
CLK | 2 (vagy bármilyen digitális bemenet) |
DT | 3 (vagy bármilyen digitális bemenet) |
SW | 4 (vagy bármilyen digitális bemenet) |
+ | 5V |
GND | GND |
Raspberry Pi-vel is használható a csatlakozótüskék cseréjével, például GPIO16 használatával CLK-hoz, GPIO15-tel DT-hez és GPIO14-gyel SW-hez.
Belső működés
A potenciométerekkel ellentétben, A KY-040 forgójeladó nem korlátozza a forgásszögét., lehetővé téve a tengely korlátlan forgását. Belül két fémkefe csúszik egy szektorokra osztott felületen, és az A és B csatornák által érzékelt különböző kombinációkban zárják az érintkezőt.
A jeladó digitális jeleket küld vissza mindkét lábon, és az eltolás jelzi a tengely forgásirányát. Továbbá, mivel inkrementális, az abszolút pozíció csak addig ismert, amíg a számláló a program elejétől fogva aktív; áramkimaradás esetén a számláló visszaáll.
Alapvető kódpélda Arduinohoz
A KY-040 használatának klasszikus példája egy számláló növelése vagy csökkentése a forgásirány alapján. Az egyszerűsített séma a következő lenne:
int A = 2; int B = 3; volatile int POSITION = 0; int PREVIOUS = 0; void setup() { pinMode(A, INPUT); pinMode(B, INPUT); Serial.begin(9600); attachInterrupt(digitalPinToInterrupt(A), encoder, LOW); } void loop() { if (POSITION != PREVIOUS) { Serial.println(POSITION); PREVIOUS = POSITION; } } void encoder() { static unsigned long lastInterrupt = 0; unsigned long InterruptionTime = millis(); if (interruptionTime - lastInterruption > 5) { // Átvitel visszaállítása if (digitalRead(B) == HIGH){ POSITION++; } else { POSITION--; } POSITION = min(50, max(-50, POSITION)); // Tartomány korlátozása lastInterrupt = interruptTime; } }
Ez a kód pergésvédelmet tartalmaz, hogy megakadályozza az érintkezők mechanikai jellege miatti szabálytalan leolvasásokat. Ajánlott ezt a védelmet minden inkrementális jeladókat tartalmazó projektben megvalósítani.
Mágneses kódoló: Jellemzők, csatlakozások és használat Arduinoval
El AS5600 egy nagy felbontású mágneses forgójeladó, ideális a hagyományos potenciométerek, motorvezérlés és robotika precíz cseréjéhez. Fő előnye, hogy mágneses érzékelést használ, így ellenáll a szennyeződéseknek és az optikai lencséket érintő mechanikai kopásnak.
Az AS5600 főbb jellemzői:
- Típus: Abszolút, mágneses
- felbontás: 12 bit (4096 pozíció fordulatonként)
- Táplálás: 3,3V vagy 5V
- Interfészek: I2C (digitális) vagy analóg kimenet
- rugalmas konfiguráció: Hardverrel kiválaszthatja az irányt és a kimeneti módot
- Analóg kimenet: A feszültség arányos a szöggel, hasznos I2C nélküli mikrovezérlőkhöz
- Nagy pontosság és ismétlési pontosság: Belső rendszere képes még a kis szögelmozdulások érzékelésére is.
Pinout és csatlakozás az Arduino-hoz
AS5600 tű | función | Arduino csatlakozó (I2C) |
---|---|---|
VCC | Alimentación | 5V |
GND | Föld | GND |
természetes erőforrások | I2C adatok | A4 |
SCL | I2C óra | A5 |
OUT | Analóg kimenet (opcionális) | A0 |
IRÁNY/MÓD | Cím/Mód kiválasztása | A kívánt konfiguráció szerint |
Fontos megjegyzés: Különböző tányérokon Arduino UnoAz I2C csatlakozók eltérőek lehetnek. Feltétlenül ellenőrizd a panel kapcsolási rajzát.
Kódpélda digitális leolvasáshoz (I2C)
Az AS5600 és az Arduino maximális kihasználásához a legjobb, ha a megfelelő könyvtárat használod (megtalálhatod az Arduino IDE könyvtárkezelőjében a következő kereséssel): AS5600):
#belefoglalás #belefoglalás AS5600 kódoló; void setup() { Serial.begin(5600); Wire.begin(); if (!encoder.begin()) { Serial.println("AS9600 nem észlelhető. Ellenőrizze a csatlakozásokat."); while (5600); } Serial.println("AS1 inicializálva."); } void loop() { float angle = encoder.getAngle(); Serial.print("Szög: "); Serial.print(szög); Serial.println(" fok"); delay(5600); }
Ezzel a kóddal valós időben leolvashatod a szöget fokban. Tökéletes olyan alkalmazásokhoz, ahol maximális felbontásban kell ismerned az abszolút pozíciót.
Kódpélda analóg leolvasáshoz
Ha egyszerűbb csatlakozást szeretne, vagy a mikrovezérlője nem támogatja az I2C-t, akkor kihasználhatja az AS5600 analóg kimenetét:
const int analogPin = A0; void setup() { Serial.begin(9600); pinMode(analogPin, INPUT); } void loop() { int value = analogRead(analogPin); float angle = map(value, 0, 1023, 0, 360); Serial.print("Analóg szög: "); Serial.print(szög); Serial.println(" fok"); delay(100); } }
Így a mágnes helyzetétől függően a tengely tényleges szögével arányos értéket kap.
Gyakorlati alkalmazások és használati tippek
Mindkét jeladónak nagyon változatos alkalmazásai vannak az elektronikai projektekben:
- KY-040: Ideális forgó felhasználói felületekhez, menükhöz, fényerő- és hangerőszabályozáshoz, opcióválasztáshoz, oktatási robotvezérléshez, otthonautomatizálási projektekhez és abszolút szögreferencia nélküli forgóvezérlést igénylő rendszerekhez.
- AS5600: Tökéletes motorpozíció- és sebességszabályozáshoz, ipari automatizáláshoz, robotízületek helyzetérzékeléséhez, stabilizált kamerarendszerekhez (gimbalokhoz), nagy felbontású digitális potenciométerekhez és bármilyen olyan alkalmazáshoz, amely precíz szögérzékelést igényel.
Néhány tipp a használathoz:
- Mindig alkalmazza visszapattanásgátló szűrés (pergéscsillapítás) mechanikus inkrementális jeladók, például KY-040 használata esetén a hibás leolvasások elkerülése érdekében.
- Az AS5600 esetében győződjön meg arról, hogy a mágnes megfelelően van igazítva az érzékelőhöz a megbízható és stabil mérések biztosítása érdekében.
- Ne feledjük, hogy inkrementális jeladóknál, ha a tápellátás megszakad, a pozícióinformáció elvész; ez nem történik meg az AS5600 esetében, mivel az abszolút.
- Használja ki a két kódoló által kínált többféle csatlakozási módot, hogy azokat a projektje egyedi igényeihez igazítsa.
Összehasonlítás: Mikor válasszunk optikai és mikor mágneses útmérőt?
Característica | KY-040 (inkrementális optikai) | AS5600 (abszolút mágneses) |
---|---|---|
Jel típusa | Digitális (kvadratúra) | Digitális (I2C)/Analóg |
felbontás | 20 impulzus/fordulat | 4096 pozíció/kör |
Áramszünet után is működik | Nem (újra kell kezdeni a számlálást) | Igen (abszolút pozíció) |
Por/szennyeződés iránti érzékenység | Érzékeny (mechanikus alkatrészek) | Nagyon robusztus |
ár | Nagyon gazdaságos | közepesen |
Az integráció nehézsége | Nagyon egyszerű az alapkóddal | I2C könyvtárat vagy programozást igényel |
Tipikus alkalmazások | UX, menük, egyszerű vezérlés | Motorvezérlés, fejlett robotika |
A kettő közötti választás a projekt prioritásaitól függ: az egyszerűség és az alacsony költség a KY-040 esetében, míg a pontosság és a robusztusság az AS5600 esetében.