Grove - Sensor/Encoder de Posição Rotativa Magnética de 12 bits (AS5600)

O Grove - AS5600 é um sensor de posição rotativa magnética sem contato programável de alta resolução de 12 bits. O Grove - AS5600 pode funcionar como um potenciômetro magnético ou um encoder magnético com excelente confiabilidade e durabilidade.
Comparado com o potenciômetro/encoder tradicional, o Grove - AS5600 tem vantagens significativas: alta precisão, sem contato, sem limitação de ângulo de rotação. Todas essas vantagens o tornam adequado para aplicações de medição de ângulo sem contato, como braço robótico, cabeça de tripé, controle de malha fechada de motor, posicionamento de eixo de máquina-ferramenta.
Características
- Sem contato, sem limitação de ângulo de rotação
- Alta resolução de 12 bits, 4096 posições por volta
- Grove I2C, Saída PWM/Analógica
- Grande flexibilidade na excursão angular: Ângulo máximo programável de 18° até 360°
Especificação
| Parâmetro | Valor |
|---|---|
| Tensão de alimentação | 3.3V / 5V |
| Temperatura ambiente de operação | -40 – 125℃ |
| Corrente de entrada | -100-100mA |
| Flexibilidade | Ângulo máximo programável de 18°-360° |
| Interface | I2C(Endereço I2C Padrão: 0x36) & Não Alterável |
| Saída | Saída Analógica/PWM |
| Resolução de Saída | DAC de 12 bits |
Princípio de Funcionamento
O Grove - AS5600 é baseado no Efeito Hall, o sensor Hall integrado pode detectar mudanças na direção do campo magnético, portanto também não há limite de ângulo de rotação. A informação de direção do campo magnético é amplificada pelo amplificador e, com a ajuda do conversor A/D de 12 bits integrado, o módulo AS5600 pode fornecer 4096 posições por volta. A saída é selecionável, você pode usar a interface I2C para fornecer os dados RAW ou fornecer a onda PWM/onda analógica através do pino OUT. Enquanto isso, o ângulo máximo também é programável, você pode definir o ângulo máximo de 18° a 360°, o que significa que a precisão angular medida é de até 18/4096.

O AS5600 tem certos requisitos para o campo magnético a ser medido. Use um ímã com tamanho semelhante ao do chip. O módulo deve ser medido o mais próximo possível do campo magnético e o centro do sensor AS5600 deve ser alinhado com o centro do campo magnético. A distância vertical é preferencialmente de 0,5 mm a 3 mm.

Visão Geral do Hardware
Plataformas Suportadas
| Arduino | Raspberry Pi | |||
|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() |
Primeiros Passos
Brincar com Arduino
Materiais necessários
| Seeeduino V4.2 | Base Shield | Grove - 12-bit Magnetic Rotary Position Sensor / Encoder (AS5600) |
|---|---|---|
![]() | ![]() | |
| Adquira agora | Adquira agora | Adquira agora |
Além disso, você pode considerar o nosso novo Seeeduino Lotus M0+, que é equivalente à combinação de Seeeduino V4.2 e Baseshield.
Conexão de Hardware
-
Passo 1. Conecte o Grove - 12-bit Magnetic Rotary Position Sensor / Encoder (AS5600) à porta I2C do Base Shield.
-
Passo 2. Conecte o Grove - Base Shield ao Seeeduino.
-
Passo 3 Conecte o Seeeduino ao PC por meio de um cabo USB.

Software
Se esta é a primeira vez que você trabalha com Arduino, recomendamos fortemente que veja Getting Started with Arduino antes de começar.
- Passo 1. Baixe a biblioteca AS5600 do Github.
Consulte How to install library para instalar a biblioteca para Arduino.
- Passo 2. Reinicie a IDE do Arduino. Abra o exemplo readAngle pelo caminho: File → Examples → Seeed_AS5600-master → readAngle. Através deste demo, podemos ler os ângulos de um ímã embaixo do sensor.
O código de exemplo readAngle é o seguinte:
#include <Wire.h>
#include <AS5600.h>
#ifdef ARDUINO_SAMD_VARIANT_COMPLIANCE
#define SERIAL SerialUSB
#define SYS_VOL 3.3
#else
#define SERIAL Serial
#define SYS_VOL 5
#endif
AMS_5600 ams5600;
int ang, lang = 0;
void setup()
{
SERIAL.begin(115200);
Wire.begin();
SERIAL.println(">>>>>>>>>>>>>>>>>>>>>>>>>>> ");
if(ams5600.detectMagnet() == 0 ){
while(1){
if(ams5600.detectMagnet() == 1 ){
SERIAL.print("Current Magnitude: ");
SERIAL.println(ams5600.getMagnitude());
break;
}
else{
SERIAL.println("Can not detect magnet");
}
delay(1000);
}
}
}
/*******************************************************
/* Function: convertRawAngleToDegrees
/* In: angle data from AMS_5600::getRawAngle
/* Out: human readable degrees as float
/* Description: takes the raw angle and calculates
/* float value in degrees.
/*******************************************************/
float convertRawAngleToDegrees(word newAngle)
{
/* Raw data reports 0 - 4095 segments, which is 0.087 of a degree */
float retVal = newAngle * 0.087;
ang = retVal;
return ang;
}
void loop()
{
SERIAL.println(String(convertRawAngleToDegrees(ams5600.getRawAngle()),DEC));
}
-
Passo 3. Carregue o demo. Se você não sabe como carregar o código, verifique How to upload code.
-
Passo 4. Abra o Serial Monitor da IDE do Arduino clicando em Tool-> Serial Monitor. Ou pressione as teclas
ctrl+shift+mao mesmo tempo. Defina a taxa de baud para 115200. -
Passo 5. O resultado deve ser como este quando for detectado um ímã embaixo do sensor:

Um calibrador é usado aqui. O arquivo 2D do Calibrator está listado em Resources, então fique à vontade para baixá-lo e cortá-lo a laser você mesmo!
FAQ
Q1# Como alcançar a precisão máxima?
A1: Certifique-se de que o sensor Grove - 12-bit Magnetic Rotary Position Sensor / Encoder (AS5600) esteja a uma distância/posição fixa em relação ao ímã. Gire o ímã para ir do ângulo 0 até o ângulo 360 na primeira vez para garantir que o posicionamento esteja correto.
A biblioteca AS5600 também fornece uma função de teste completa para operar o sensor.
Visualizador de Esquemático Online
Recursos
- [ZIP] Arquivo esquemático do Grove - 12-bit Magnetic Rotary Position Sensor / Encoder (AS5600)
- [PDF] AS5600 Datasheet
- [DWG] Calibrador do Grove - 12 bit Magnetic Rotary Position Sensor(AS5600)
Suporte Técnico e Discussão de Produto
Obrigado por escolher nossos produtos! Estamos aqui para oferecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.








