AS5600 este un codificator rotativ magnetic precis capabil să măsoare unghiuri cu rezoluție pe 12 biți. Comunică prin I2C sau o ieșire analogică, ceea ce îl face ideal pentru robotică, controlul motorului și aplicațiile de detectare a poziției. Acest tutorial vă va ghida prin conectare și utilizarea AS5600 cu Arduino.
Ce vei avea nevoie
- AS5600 modul de codificator rotativ magnetic
- Arduino Board (de exemplu, Uno, Mega, Nano)
- Tablă de pâine și jumper
- Un computer cu IDE Arduino instalat
Pasul 1: Înțelegerea modulului AS5600
AS5600 acceptă ambele I2c şi Analog ieșiri. În modul I2C, oferă date unghiulare extrem de precise. Modul analogic iese o tensiune proporțională cu unghiul.
Pinout
Ac | Funcţie |
---|---|
VCC | Sursă de alimentare (3.3V/5V) |
GND | Sol |
SDA | Linia de date I2C |
SCL | Linia de ceas I2C |
Afară | Ieșire analogică (opțional) |
Dir | Configurarea direcției |
Mod | Configurarea modului de ieșire |
Nota:
DIR
PIN configurează direcția de rotație șiMODE
PIN selectează între I2C sau moduri de ieșire analogice. Pentru I2C, conectațiMODE
la GND.
Pasul 2: Cablarea AS5600 către Arduino
Modul i2c (implicit)
Conectați AS5600 la Arduino după cum urmează:
Pin AS5600 | Pinul Arduino |
---|---|
VCC | 5V |
GND | GND |
SDA | A4 |
SCL | A5 |
Nota: Pentru alte plăci Arduino, asigurați -vă că utilizați pinii I2C corecți.
Pasul 3: Instalați biblioteca necesară
Pentru a face mai ușor lucrul cu AS5600, instalați biblioteca „AS5600” de la GitHub sau Managerul Bibliotecii Arduino.
Pași pentru instalare:
- Deschideți IDE Arduino.
- Du -te la Schiţa > Include biblioteca > Gestionați bibliotecile.
- Căutați „AS5600” și faceți clic pe Instala.
Pasul 4: Încărcați codul
Iată un exemplu de cod pentru a citi unghiul din AS5600 folosind I2C:
#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
}
Pasul 5: Testați configurarea
- Conectați Arduino la computer prin USB.
- Deschideți IDE Arduino și selectați corect Bord şi Port sub Instrumente meniu.
- Încărcați codul făcând clic pe Încărcați.
- Deschideți monitorul în serie (Instrumente > Monitor în serie) și setați rata de transfer la
9600
. - Rotiți magnetul în fața senzorului AS5600. Unghiul în grade trebuie afișat în timp real.
Opțional: Utilizarea modului de ieșire analogică
- Conectați
OUT
Pinul AS5600 la un pin analog de pe Arduino (de exemplu, A0). - Modificați codul pentru a citi tensiunea analogică:
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);
}
Aplicațiile AS5600
- Sensionarea poziției motorului
- Codificatoare rotative ale butonului
- Măsurarea unghiului articular robotizat
- Sisteme de stabilizare a gimbalului camerei
Depanare
- Fără date: Verificați conexiunile I2C și asigurați -vă că pinii corecți sunt definiți în cod.
- Valori neregulate: Asigurați -vă că magnetul este poziționat corect și aliniat cu senzorul.
-
Fără răspuns în modul analogic: Confirmați
MODE
PIN -ul este configurat corect.
Concluzie
Ați interfațat cu succes codificatorul rotativ magnetic AS5600 cu Arduino pentru a măsura poziția unghiulară. Indiferent dacă utilizați I2C pentru lecturi precise sau modul analog pentru simplitate, acest senzor este un instrument versatil pentru proiectele care necesită măsurare de rotație. Experimentați în continuare integrându -l în proiecte de control motor sau robotică!