Hur man använder AS5600 Magnetic Rotary Encoder med Arduino

How to Use the AS5600 Magnetic Rotary Encoder with Arduino

AS5600 är en exakt magnetisk rotationskodare som kan mäta vinklar med 12-bitars upplösning. Den kommunicerar via I2C eller analog utgång, vilket gör den idealisk för robotik, motorstyrning och positionsavkänningsapplikationer. Denna handledning kommer att vägleda dig genom att ansluta och använda AS5600 med Arduino.


Vad du behöver

  1. AS5600 Magnetic Rotary Encoder Module
  2. Arduino Board (t.ex. Uno, Mega, Nano)
  3. Breadboard och jumpertrådar
  4. En dator med Arduino Ide installerad

Steg 1: Förstå AS5600 -modulen

AS5600 stöder båda I2c och Analog utgångar. I I2C -läge ger det mycket exakta vinkeldata. Det analoga läget matar ut en spänning proportionell mot vinkeln.

Pinout

Stift Fungera
Vcc Strömförsörjning (3.3V/5V)
Gard Jord
SDA I2C -datalinjen
SCL I2c klocklinje
UT Analog utgång (valfritt)
Dir Riktningskonfiguration
LÄGE Utgångsläge -konfiguration

Notera: De DIR stift konfigurerar rotationsriktningen och MODE Pin väljer mellan I2C eller analoga utgångslägen. För i2c, anslut MODE till GND.


Steg 2: Kopplar AS5600 till Arduino

I2c -läge (standard)

Anslut AS5600 till Arduino enligt följande:

AS5600 -stift Arduinosnål
Vcc 5V
Gard Gard
SDA A4
SCL A5

Notera: För andra Arduino -kort, se till att du använder rätt I2C -stift.


Steg 3: Installera det nödvändiga biblioteket

För att underlätta arbetet med AS5600, installera biblioteket "AS5600" från GitHub eller Arduino Library Manager.

Steg för att installera:

  1. Öppna Arduino IDE.
  2. Gå till Skiss > Inkludera bibliotek > Hantera bibliotek.
  3. Sök efter "AS5600" och klicka på Installera.

Steg 4: Ladda upp koden

Här är ett exempelkod för att läsa vinkeln från AS5600 med 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
}

Steg 5: Testa installationen

  1. Anslut Arduino till din dator via USB.
  2. Öppna Arduino IDE och välj rätt Styrelse och Hamn under Verktyg meny.
  3. Ladda upp koden genom att klicka Ladda upp.
  4. Öppna seriell monitor (Verktyg > Serieövervakare) och ställ in baudhastigheten till 9600.
  5. Vrid magneten framför AS5600 -sensorn. Vinkeln i grader bör visas i realtid.

Valfritt: Använda analog utgångsläge

  1. Ansluta OUT Stiftet av AS5600 till en analog stift på Arduino (t.ex. A0).
  2. Ändra koden för att läsa den analoga spänningen:
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);
}

Applikationer av AS5600

  1. Avkänning
  2. Rotary Knob -kodare
  3. Mätning av robotfogvinkel
  4. Kamera gimbalstabiliseringssystem

Felsökning

  • Inga data: Kontrollera I2C -anslutningarna och se till att de korrekta stiften definieras i koden.
  • Ojämna värden: Se till att magneten är korrekt placerad och anpassad till sensorn.
  • Inget svar i analogt läge: Bekräfta MODE PIN är konfigurerat korrekt.

Slutsats

Du har framgångsrikt anslutit AS5600 magnetisk roterande kodare med Arduino för att mäta vinkelläge. Oavsett om du använder I2C för exakta avläsningar eller analogt läge för enkelhet, är denna sensor ett mångsidigt verktyg för projekt som kräver rotationsmätning. Experimentera vidare genom att integrera det i motorstyrning eller robotprojekt!

Lämna en kommentar

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.