AS5600, açıları 12 bit çözünürlükle ölçebilen hassas bir manyetik döner kodlayıcıdır. I2C veya analog çıkış yoluyla iletişim kurar, bu da robotik, motor kontrol ve konum algılama uygulamaları için idealdir. Bu öğretici, AS5600'ü Arduino ile bağlayarak ve kullanarak size rehberlik edecektir.
Ne İhtiyacınız Olacak
- AS5600 Manyetik Döner Kodlayıcı Modülü
- Arduino Kurulu (örn. UNO, Mega, Nano)
- Breadboard ve jumper telleri
- Arduino IDE kurulu bir bilgisayar
1. Adım: AS5600 modülünü anlamak
AS5600 her ikisini de destekler I2C Ve Analog çıkışlar. I2C modunda, son derece doğru açı verileri sağlar. Analog mod, açıyla orantılı bir voltaj çıkarır.
Pinout
Pin | İşlev |
---|---|
VCC | Güç kaynağı (3.3V/5V) |
Gnd | Zemin |
SDA | I2C veri hattı |
Scl | I2C saat çizgisi |
DIŞARI | Analog çıkış (isteğe bağlı) |
Direk | Yön yapılandırması |
Moda | Çıktı modu yapılandırması |
Not: .
DIR
PIN, dönme yönünü yapılandırır veMODE
PIN I2C veya analog çıkış modları arasında seçim yapar. I2C için bağlanMODE
GND.
Adım 2: AS5600'ün Arduino'ya Bağlanması
I2C modu (varsayılan)
AS5600'ü Arduino'ya aşağıdaki gibi bağlayın:
AS5600 PIN | Arduino pimi |
---|---|
VCC | 5V |
Gnd | Gnd |
SDA | A4 |
Scl | A5 |
Not: Diğer Arduino panoları için doğru I2C pimlerini kullandığınızdan emin olun.
Adım 3: Gerekli kütüphaneyi kurun
AS5600 ile çalışmayı kolaylaştırmak için GitHub'dan "AS5600" kütüphanesini veya Arduino Kütüphane Yöneticisi'ni yükleyin.
Yüklenecek adımlar:
- Arduino IDE'yi açın.
- Gidip gelmek Eskiz > Kütüphane ekleyin > Kütüphaneleri Yönetin.
- "AS5600" arayın ve tıklayın Düzenlemek.
4. Adım: Kodu yükleyin
İşte I2C'yi kullanarak AS5600'den gelen açıyı okumak için bir örnek kod:
#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
}
Adım 5: Kurulumu test edin
- Arduino'yu USB üzerinden bilgisayarınıza bağlayın.
- Arduino IDE'yi açın ve doğru seçin Pano Ve Liman altında Aletler menü.
- Kodu tıklayarak yükleyin Yüklemek.
- Seri monitörü açın (Aletler > Seri monitör) ve baud hızını ayarlayın
9600
. - Mıknatısı AS5600 sensörünün önündeki döndürün. Dereceler cinsinden açı gerçek zamanlı olarak görüntülenmelidir.
İsteğe bağlı: Analog çıkış modunu kullanma
- Bağla
OUT
AS5600'ün pimini Arduino'daki bir analog pime (örn. A0). - Analog voltajı okumak için kodu değiştirin:
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);
}
AS5600 uygulamaları
- Motor Konum Algılama
- Döner düğme kodlayıcıları
- Robotik eklem açısı ölçümü
- Kamera gimbal stabilizasyon sistemleri
Sorun giderme
- Veri yok: I2C bağlantılarını doğrulayın ve doğru pimlerin kodda tanımlandığından emin olun.
- Düzensiz değerler: Mıknatısın doğru şekilde yerleştirildiğinden ve sensörle hizalandığından emin olun.
-
Analog modda yanıt yok: Onaylayın
MODE
PIN doğru yapılandırılır.
Çözüm
Açısal konumu ölçmek için AS5600 manyetik döner kodlayıcıyı Arduino ile başarıyla arayüz ettiniz. İster hassas okumalar için I2C veya basitlik için analog mod kullanıyor olun, bu sensör dönme ölçümü gerektiren projeler için çok yönlü bir araçtır. Motor kontrolü veya robot projelerine entegre ederek daha da deneyin!