O AS5600 é um codificador rotativo magnético preciso capaz de medir ângulos com resolução de 12 bits. Ele se comunica via i2c ou saída analógica, tornando -o ideal para aplicações de robótica, controle de motor e detecção de posição. Este tutorial o guiará através da conexão e do uso do AS5600 com o Arduino.
O que você precisará
- Módulo de codificador rotativo magnético AS5600
- Board Arduino (por exemplo, Uno, Mega, Nano)
- Fios de pão e jumper
- Um computador com o Arduino IDE instalado
Etapa 1: Compreendendo o módulo AS5600
O AS5600 suporta ambos I2c e Analógico saídas. No modo I2C, ele fornece dados de ângulo altamente precisos. O modo analógico emite uma tensão proporcional ao ângulo.
Pinout
Alfinete | Função |
---|---|
VCC | Fonte de alimentação (3,3V/5V) |
Gnd | Chão |
SDA | I2C Linha de dados |
SCL | I2C Linha do relógio |
FORA | Saída analógica (opcional) |
Dir | Configuração de direção |
MODO | Configuração do modo de saída |
Observação: O
DIR
pin configura a direção de rotação e oMODE
O pino seleciona entre os modos I2C ou de saída analógica. Para i2c, conecteMODE
para gnd.
Etapa 2: Fiação do AS5600 para Arduino
Modo I2C (padrão)
Conecte o AS5600 ao Arduino da seguinte forma:
AS5600 PIN | Pino Arduino |
---|---|
VCC | 5V |
Gnd | Gnd |
SDA | A4 |
SCL | A5 |
Observação: Para outras placas do Arduino, certifique -se de usar os pinos I2C corretos.
Etapa 3: Instale a biblioteca necessária
Para facilitar o trabalho com o AS5600, instale a biblioteca "AS5600" no Github ou no Arduino Bibliotec Manager.
Etapas para instalar:
- Abra o Arduino IDE.
- Vá para Esboço > Inclua biblioteca > Gerenciar bibliotecas.
- Pesquise por "AS5600" e clique Instalar.
Etapa 4: Faça o upload do código
Aqui está um código de exemplo para ler o ângulo do AS5600 usando 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
}
Etapa 5: teste a configuração
- Conecte o Arduino ao seu computador via USB.
- Abra o Arduino IDE e selecione o correto Quadro e Porta sob o Ferramentas menu.
- Faça o upload do código clicando Carregar.
- Abra o monitor serial (Ferramentas > Monitor serial) e definir a taxa de transmissão como
9600
. - Gire o ímã na frente do sensor AS5600. O ângulo em graus deve ser exibido em tempo real.
Opcional: usando o modo de saída analógico
- Conecte o
OUT
Pino do AS5600 a um pino analógico no Arduino (por exemplo, A0). - Modifique o código para ler a tensão analógica:
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);
}
Aplicações do AS5600
- Detecção da posição do motor
- Codificadores do botão rotativo
- Medição do ângulo articular robótico
- Sistemas de estabilização da câmera Gimbal
Solução de problemas
- Sem dados: Verifique as conexões I2C e verifique se os pinos corretos estão definidos no código.
- Valores erráticos: Verifique se o ímã está posicionado corretamente e alinhado com o sensor.
-
Nenhuma resposta no modo analógico: Confirme o
MODE
O pino está configurado corretamente.
Conclusão
Você interfigurou com sucesso o codificador rotativo magnético AS5600 com Arduino para medir a posição angular. Esteja você usando o I2C para leituras precisas ou modo analógico para simplificar, esse sensor é uma ferramenta versátil para projetos que requerem medição rotacional. Experimente mais, integrando -o em projetos de controle de motor ou robótica!