Paano gamitin ang AS5600 magnetic rotary encoder na may arduino

How to Use the AS5600 Magnetic Rotary Encoder with Arduino

Ang AS5600 ay isang tumpak na magnetic rotary encoder na may kakayahang masukat ang mga anggulo na may 12-bit na resolusyon. Nakikipag -usap ito sa pamamagitan ng I2C o analog output, na ginagawang perpekto para sa mga robotics, control ng motor, at mga aplikasyon ng sensing ng posisyon. Ang tutorial na ito ay gagabay sa iyo sa pamamagitan ng pagkonekta at paggamit ng AS5600 kasama si Arduino.


Ano ang kakailanganin mo

  1. AS5600 Module ng Magnetic Rotary Encoder
  2. Arduino Board (hal., Uno, Mega, Nano)
  3. Mga wire ng tinapay at jumper
  4. Isang computer na may naka -install na Arduino IDE

Hakbang 1: Pag -unawa sa module ng AS5600

Sinusuportahan ng AS5600 ang pareho I2C at Analog Mga output. Sa mode na I2C, nagbibigay ito ng lubos na tumpak na data ng anggulo. Ang mode ng analog ay naglalabas ng isang boltahe na proporsyonal sa anggulo.

Pinout

Pin Function
VCC Power Supply (3.3V/5V)
Gnd Lupa
SDA I2C Data Line
SCL I2C linya ng orasan
Palabas Analog output (opsyonal)
Dir Pag -configure ng direksyon
Mode Pagsasaayos ng mode ng output

Tandaan: Ang DIR Pinakumpirma ng pin ang direksyon ng pag -ikot, at ang MODE Pinipili ng PIN ang pagitan ng I2C o mga mode ng analog output. Para sa i2c, kumonekta MODE sa gnd.


Hakbang 2: Ang mga kable ng AS5600 kay Arduino

I2C mode (default)

Ikonekta ang AS5600 sa Arduino tulad ng sumusunod:

AS5600 Pin Arduino Pin
VCC 5v
Gnd Gnd
SDA A4
SCL A5

Tandaan: Para sa iba pang mga board ng Arduino, tiyakin na gumagamit ka ng tamang i2c pin.


Hakbang 3: I -install ang kinakailangang library

Upang gawing mas madali ang pagtatrabaho sa AS5600, i -install ang library ng "AS5600" mula sa GitHub o ang Arduino Library Manager.

Mga hakbang upang mai -install:

  1. Buksan ang Arduino IDE.
  2. Pumunta sa Sketch > Isama ang library > Pamahalaan ang mga aklatan.
  3. Maghanap para sa "AS5600" at mag -click I -install.

Hakbang 4: Mag -upload ng code

Narito ang isang halimbawa ng code upang mabasa ang anggulo mula sa AS5600 gamit ang 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
}

Hakbang 5: Subukan ang pag -setup

  1. Ikonekta ang Arduino sa iyong computer sa pamamagitan ng USB.
  2. Buksan ang Arduino IDE at piliin ang tama Lupon at Port sa ilalim ng Mga tool menu.
  3. I -upload ang code sa pamamagitan ng pag -click Mag -upload.
  4. Buksan ang serial monitor (Mga tool > Serial monitor) at itakda ang rate ng baud sa 9600.
  5. Paikutin ang magnet sa harap ng sensor ng AS5600. Ang anggulo sa degree ay dapat ipakita sa totoong oras.

Opsyonal: Paggamit ng analog output mode

  1. Ikonekta ang OUT Pin ng AS5600 sa isang analog pin sa Arduino (hal., A0).
  2. Baguhin ang code upang mabasa ang analog boltahe:
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);
}

Mga aplikasyon ng AS5600

  1. Sensing sa posisyon ng motor
  2. Rotary knob encoder
  3. Pagsukat ng Robotic Joint Angle
  4. Camera gimbal stabilization system

Pag -aayos

  • Walang data: Patunayan ang mga koneksyon sa I2C at tiyakin na ang tamang mga pin ay tinukoy sa code.
  • Mga maling halaga: Tiyakin na ang magnet ay tama na nakaposisyon at nakahanay sa sensor.
  • Walang tugon sa mode ng analog: Kumpirmahin ang MODE Ang pin ay na -configure nang tama.

Konklusyon

Matagumpay mong na -interface ang AS5600 magnetic rotary encoder kasama si Arduino upang masukat ang anggular na posisyon. Gumagamit ka man ng I2C para sa tumpak na pagbabasa o mode ng analog para sa pagiging simple, ang sensor na ito ay isang maraming nalalaman tool para sa mga proyekto na nangangailangan ng pagsukat ng pag -ikot. Eksperimento pa sa pamamagitan ng pagsasama nito sa mga proyekto ng Motor Control o Robotics!

Mag -iwan ng komento

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.