AS5600 adalah enkoder putar magnetik yang tepat yang mampu mengukur sudut dengan resolusi 12-bit. Ini berkomunikasi melalui I2C atau output analog, membuatnya ideal untuk robotika, kontrol motor, dan aplikasi penginderaan posisi. Tutorial ini akan memandu Anda melalui menghubungkan dan menggunakan AS5600 dengan Arduino.
Apa yang Anda Butuhkan
- As5600 Modul Encoder Rotary Magnetic
- Dewan Arduino (mis., Uno, mega, nano)
- Papan tempat memotong papan dan kabel jumper
- Komputer dengan IDE Arduino diinstal
Langkah 1: Memahami modul AS5600
AS5600 mendukung keduanya I2c Dan Analog output. Dalam mode I2C, ini menyediakan data sudut yang sangat akurat. Mode analog mengeluarkan tegangan sebanding dengan sudut.
Pinout
Pin | Fungsi |
---|---|
Vcc | Catu daya (3.3V/5V) |
Gnd | Tanah |
SDA | Jalur data I2C |
Scl | I2C Clock Line |
KELUAR | Output analog (opsional) |
Dir | Konfigurasi Arah |
MODE | Konfigurasi Mode Output |
Catatan: Itu
DIR
Pin mengkonfigurasi arah rotasi, danMODE
PIN memilih antara I2C atau mode output analog. Untuk I2C, sambungkanMODE
ke gnd.
Langkah 2: Kabel AS5600 ke Arduino
Mode I2C (default)
Hubungkan AS5600 ke Arduino sebagai berikut:
Pin AS5600 | Pin Arduino |
---|---|
Vcc | 5v |
Gnd | Gnd |
SDA | A4 |
Scl | A5 |
Catatan: Untuk papan Arduino lainnya, pastikan Anda menggunakan pin I2C yang benar.
Langkah 3: Instal perpustakaan yang diperlukan
Untuk membuat bekerja dengan AS5600 lebih mudah, instal perpustakaan "AS5600" dari GitHub atau Manajer Perpustakaan Arduino.
Langkah untuk menginstal:
- Buka Ide Arduino.
- Pergi ke Sketsa > Sertakan perpustakaan > Kelola Perpustakaan.
- Cari "AS5600" dan klik Memasang.
Langkah 4: Unggah kode
Berikut adalah kode contoh untuk membaca sudut dari AS5600 menggunakan 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
}
Langkah 5: Uji pengaturan
- Hubungkan Arduino ke komputer Anda melalui USB.
- Buka IDE Arduino dan pilih yang benar Papan Dan Pelabuhan di bawah Peralatan menu.
- Unggah kode dengan mengklik Mengunggah.
- Buka monitor serial (Peralatan > Monitor serial) dan atur baud rate ke
9600
. - Putar magnet di depan sensor AS5600. Sudut dalam derajat harus ditampilkan secara real time.
Opsional: Menggunakan mode output analog
- Hubungkan
OUT
Pin AS5600 ke pin analog di Arduino (mis., A0). - Ubah kode untuk membaca tegangan analog:
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);
}
Aplikasi AS5600
- Penginderaan posisi motor
- Encoders Kenop Rotary
- Pengukuran sudut sendi robot
- Sistem Stabilisasi Gimbal Kamera
Pemecahan masalah
- Tidak ada data: Verifikasi koneksi I2C dan pastikan pin yang benar ditentukan dalam kode.
- Nilai yang tidak menentu: Pastikan magnet diposisikan dengan benar dan selaras dengan sensor.
-
Tidak ada respons dalam mode analog: Konfirmasi
MODE
Pin dikonfigurasi dengan benar.
Kesimpulan
Anda telah berhasil menghubungkan encoder rotary magnetik AS5600 dengan Arduino untuk mengukur posisi sudut. Baik Anda menggunakan I2C untuk pembacaan yang tepat atau mode analog untuk kesederhanaan, sensor ini adalah alat serbaguna untuk proyek yang membutuhkan pengukuran rotasi. Eksperimen lebih lanjut dengan mengintegrasikannya ke dalam kontrol motor atau proyek robotika!