L'AS5600 est un codeur rotatif magnétique précis capable de mesurer les angles avec une résolution 12 bits. Il communique via I2C ou la sortie analogique, ce qui le rend idéal pour les applications de robotique, de contrôle du moteur et de détection de position. Ce tutoriel vous guidera à travers la connexion et l'utilisation de l'AS5600 avec Arduino.
Ce dont vous aurez besoin
- Module d'encodeur rotatif magnétique AS5600
- Board Arduino (par exemple, Uno, Mega, Nano)
- Fils de planche à pain et de cavalier
- Un ordinateur avec l'ide Arduino installé
Étape 1: Comprendre le module AS5600
L'AS5600 prend en charge les deux I2C et Analogique sorties. En mode I2C, il fournit des données d'angle très précises. Le mode analogique sort une tension proportionnelle à l'angle.
Brochage
Épingle | Fonction |
---|---|
VCC | Alimentation (3,3 V / 5V) |
GND | Sol |
SDA | Ligne de données I2C |
SCL | Ligne d'horloge i2c |
DEHORS | Sortie analogique (facultative) |
Diron | Configuration de direction |
MODE | Configuration du mode de sortie |
Note: Le
DIR
PIN configure la direction de rotation et leMODE
PIN sélectionne les modes de sortie I2C ou analogiques. Pour i2c, connectez-vousMODE
à GND.
Étape 2: Câblage de l'AS5600 à Arduino
Mode I2C (par défaut)
Connectez l'AS5600 à l'Arduino comme suit:
AS5600 PIN | Épingle arduino |
---|---|
VCC | 5V |
GND | GND |
SDA | A4 |
SCL | A5 |
Note: Pour d'autres cartes Arduino, assurez-vous d'utiliser les broches I2C correctes.
Étape 3: Installez la bibliothèque requise
Pour faciliter le travail avec l'AS5600, installez la bibliothèque "AS5600" à partir de GitHub ou du gestionnaire de bibliothèque Arduino.
Étapes à installer:
- Ouvrez l'ide Arduino.
- Aller à Esquisser > Inclure la bibliothèque > Gérer les bibliothèques.
- Recherchez "AS5600" et cliquez Installer.
Étape 4: Téléchargez le code
Voici un exemple de code pour lire l'angle de l'AS5600 en utilisant 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
}
Étape 5: tester la configuration
- Connectez l'Arduino à votre ordinateur via USB.
- Ouvrez l'ide Arduino et sélectionnez le bon Conseil et Port sous Outils menu.
- Téléchargez le code en cliquant Télécharger.
- Ouvrez le moniteur en série (Outils > Moniteur en série) et régler le taux de bauds sur
9600
. - Faites tourner l'aimant devant le capteur AS5600. L'angle en degrés doit être affiché en temps réel.
Facultatif: Utilisation du mode de sortie analogique
- Connectez le
OUT
PIN de l'AS5600 à une broche analogique sur l'Arduino (par exemple, A0). - Modifiez le code pour lire la tension analogique:
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);
}
Applications de l'AS5600
- Détection de position du moteur
- Encodeurs de bouton rotatif
- Mesure de l'angle de l'articulation robotique
- Systèmes de stabilisation du cardan de la caméra
Dépannage
- Aucune donnée: Vérifiez les connexions I2C et assurez-vous que les broches correctes sont définies dans le code.
- Valeurs erratiques: Assurez-vous que l'aimant est correctement positionné et aligné avec le capteur.
-
Aucune réponse en mode analogique: Confirmer le
MODE
La broche est configurée correctement.
Conclusion
Vous avez réussi à interfacer le codeur rotatif magnétique AS5600 avec Arduino pour mesurer la position angulaire. Que vous utilisiez I2C pour des lectures précises ou en mode analogique pour la simplicité, ce capteur est un outil polyvalent pour les projets nécessitant une mesure de rotation. Expérimentez plus loin en l'intégrant dans des projets de contrôle moteur ou de robotique!