Az AS5600 egy pontos mágneses forgó kódoló, amely képes 12 bites felbontással mérni a szögeket. Az I2C vagy az analóg kimeneten keresztül kommunikál, ideálisvá téve a robotika, a motorvezérlés és a helyzetérzékelő alkalmazásokhoz. Ez az oktatóanyag vezeti Önt az AS5600 csatlakoztatásán és az Arduino -val való használatán.
Mire lesz szüksége
- AS5600 mágneses forgó kódoló modul
- Arduino Board (például Uno, Mega, Nano)
- Kenyérlemez és jumper vezetékek
- Egy számítógép, amelyen az Arduino IDE telepített
1. lépés: Az AS5600 modul megértése
Az AS5600 mindkettőt támogatja I2C és Analóg kimenetek. I2C módban nagyon pontos szögleteket szolgáltat. Az analóg üzemmód a szöggel arányos feszültséget ad ki.
Poggyász
Csap | Funkció |
---|---|
VCC | Tápegység (3,3 V/5 V) |
GND | Föld |
SDA | I2C adatsor |
SCL | I2C óravonal |
KI | Analóg kimenet (opcionális) |
Dird | Iránykonfiguráció |
MÓD | Kimeneti mód konfigurációja |
Jegyzet: A
DIR
A PIN konfigurálja a forgási irányt és aMODE
A PIN Select az I2C vagy az analóg kimeneti módok között. Az I2C -hez csatlakoztassaMODE
Gnd -hez.
2. lépés: Az AS5600 vezetékesítése Arduino -ra
I2C mód (alapértelmezett)
Csatlakoztassa az AS5600 -at az Arduino -hoz, az alábbiak szerint:
AS5600 PIN | Arduino Pin |
---|---|
VCC | 5 V -os |
GND | GND |
SDA | A4 |
SCL | A5 |
Jegyzet: Más Arduino táblákhoz győződjön meg arról, hogy a helyes I2C csapokat használja.
3. lépés: Telepítse a szükséges könyvtárat
Annak érdekében, hogy az AS5600 -mal való munka megkönnyítse, telepítse az "AS5600" könyvtárat a GitHub -ból vagy az Arduino könyvtárkezelőből.
A telepítéshez szükséges lépések:
- Nyissa meg az Arduino IDE -t.
- Elindul Vázlat > Tartalmazza a könyvtárat > Könyvtárak kezelése.
- Keressen az "as5600" -ra, és kattintson Beilleszt.
4. lépés: Töltse fel a kódot
Íme egy példa kód, amely az AS5600 -ból származó szöget az i2c használatával olvassa el:
#include <Wire.h>
#include <AS5600.h>
AS5600 encoder;
void setup() {
Serial.begin(9600);
Wire.begin();
if (!encoder.begin()) {
Serial.println("AS5600 not detected. Check connections.");
while (1);
}
Serial.println("AS5600 initialized.");
}
void loop() {
// Read the current angle in degrees
float angle = encoder.getAngle();
Serial.print("Angle: ");
Serial.print(angle);
Serial.println(" degrees");
delay(100); // Update every 100ms
}
5. lépés: Tesztelje a beállítást
- Csatlakoztassa az Arduino -t a számítógépéhez USB -n keresztül.
- Nyissa meg az Arduino IDE -t, és válassza ki a megfelelőt Bizottság és Kikötő a Szerszámok menü.
- Töltse fel a kódot kattintással Feltöltés.
- Nyissa meg a soros monitort (Szerszámok > Soros monitor) és állítsa be az adatátviteli sebességet
9600
. - Forgassa el a mágnest az AS5600 érzékelő előtt. A szögben a szöget valós időben kell megjeleníteni.
Opcionális: Analóg kimeneti mód használata
- Csatlakoztassa a
OUT
Az AS5600 csapja az Arduino analóg tűjére (például A0). - Módosítsa a kódot az analóg feszültség olvasásához:
const int analogPin = A0;
void setup() {
Serial.begin(9600);
pinMode(analogPin, INPUT);
}
void loop() {
int value = analogRead(analogPin); // Read analog voltage
float angle = map(value, 0, 1023, 0, 360); // Convert to degrees
Serial.print("Analog Angle: ");
Serial.print(angle);
Serial.println(" degrees");
delay(100);
}
Az AS5600 alkalmazásai
- Motorhelyzet -érzékelés
- Rotációs gomb kódolók
- Robotízületi szög mérés
- Kamera gimbális stabilizáló rendszerek
Hibaelhárítás
- Nincs adat: Ellenőrizze az I2C kapcsolatokat, és ellenőrizze, hogy a helyes csapok meghatározzák a kódban.
- Rendkívüli értékek: Győződjön meg arról, hogy a mágnes helyesen van elhelyezve, és igazodik az érzékelőhöz.
-
Nincs válasz analóg módban: Erősítse meg a
MODE
A PIN -kód helyesen van konfigurálva.
Következtetés
Sikeresen csatlakoztatta az AS5600 mágneses forgó kódolót az Arduino -val a szög helyzetének mérése érdekében. Függetlenül attól, hogy az I2C -t a pontos leolvasásokhoz vagy az analóg módhoz használja az egyszerűség érdekében, ez az érzékelő sokoldalú eszköz a rotációs mérést igénylő projektekhez. Kísérletezzen tovább azáltal, hogy integrálja a motorvezérlésbe vagy a robotikai projektekbe!