AS5600 jest precyzyjnym magnetycznym enkoderem obrotowym zdolnym do pomiaru kątów z rozdzielczością 12-bitową. Komunikuje się za pośrednictwem I2C lub wyjścia analogowego, dzięki czemu jest idealny do robotyki, kontroli silnika i aplikacji wykrywania pozycji. Ten samouczek poprowadzi Cię przez połączenie i korzystanie z AS5600 z Arduino.
Czego będziesz potrzebować
- AS5600 Magnetyczny moduł enkodera obrotowego
- Arduino Board (np. UNO, Mega, Nano)
- Druty chleba i skoczków
- Komputer z zainstalowanym Arduino IDE
Krok 1: Zrozumienie modułu AS5600
AS5600 obsługuje oba I2C I Analog wyjścia. W trybie I2C zapewnia bardzo dokładne dane kąta. Tryb analogowy wyświetla napięcie proporcjonalne do kąta.
Pinout
Szpilka | Funkcjonować |
---|---|
VCC | Zasilacz (3,3 V/5 V) |
GND | Grunt |
SDA | I2C Linia danych |
Scl | Linia zegara I2C |
NA ZEWNĄTRZ | Wyjście analogowe (opcjonalnie) |
Reż | Konfiguracja kierunku |
TRYB | Konfiguracja trybu wyjściowego |
Notatka: .
DIR
pin konfiguruje kierunek obrotu iMODE
PIN wybiera między i2c lub analogowymi trybami wyjściowymi. W przypadku I2C, połączMODE
do GND.
Krok 2: Okablowanie AS5600 do Arduino
Tryb I2C (domyślnie)
Podłącz AS5600 z Arduino w następujący sposób:
AS5600 PIN | PIN Arduino |
---|---|
VCC | 5v |
GND | GND |
SDA | A4 |
Scl | A5 |
Notatka: W przypadku innych płyt Arduino upewnij się, że używasz odpowiednich pinów I2C.
Krok 3: Zainstaluj wymaganą bibliotekę
Aby ułatwić pracę z AS5600, zainstaluj bibliotekę „AS5600” z Github lub Arduino Library Manager.
Kroki do zainstalowania:
- Otwórz Arduino IDE.
- Idź do Naszkicować > Uwzględnij bibliotekę > Zarządzaj bibliotekami.
- Wyszukaj „AS5600” i kliknij Zainstalować.
Krok 4: Prześlij kod
Oto przykładowy kod do odczytania kąta z AS5600 za pomocą 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
}
Krok 5: Przetestuj konfigurację
- Podłącz Arduino do komputera za pomocą USB.
- Otwórz Arduino IDE i wybierz poprawne Tablica I Port pod Narzędzia menu.
- Prześlij kod, klikając Wgrywać.
- Otwórz monitor szeregowy (Narzędzia > Monitor szeregowy) i ustaw wskaźnik transmisji na
9600
. - Obróć magnes przed czujnikiem AS5600. Kąt w stopniach powinien być wyświetlany w czasie rzeczywistym.
Opcjonalnie: przy użyciu analogowego trybu wyjściowego
- Podłącz
OUT
Pin z AS5600 do analogowego szpilki na Arduino (np. A0). - Zmodyfikuj kod, aby odczytać napięcie analogowe:
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);
}
Zastosowania AS5600
- Wyczuwanie pozycji silnika
- Kodery pokrętła obrotowe
- Pomiar roboty kątu stawu
- Systemy stabilizacji gimbali kamery
Rozwiązywanie problemów
- Brak danych: Sprawdź połączenia I2C i upewnij się, że prawidłowe piny są zdefiniowane w kodzie.
- Wartości nieregularne: Upewnij się, że magnes jest prawidłowo ustawiony i wyrównany z czujnikiem.
-
Brak odpowiedzi w trybie analogowym: Potwierdź
MODE
Pin jest skonfigurowany poprawnie.
Wniosek
Z powodzeniem połączyłeś magnetyczny enkoder obrotowy AS5600 z Arduino w celu pomiaru pozycji kątowej. Niezależnie od tego, czy używasz I2C do precyzyjnych odczytów, czy trybu analogowego dla prostoty, ten czujnik jest wszechstronnym narzędziem do projektów wymagających pomiaru obrotowego. Eksperymentuj dalej, integrując go z projektami kontroli motorycznej lub robotyki!