Skip to main content

Grove - Sensor de Posición Rotativa Magnético de 12 bits / Codificador (AS5600)

El Grove - AS5600 es un sensor de posición rotativa magnético sin contacto programable de 12 bits de alta resolución. El Grove - AS5600 puede funcionar como un potenciómetro magnético o un codificador magnético con excelente confiabilidad y durabilidad.

Comparado con el potenciómetro/codificador tradicional, el Grove - AS5600 tiene ventajas significativas: alta precisión, sin contacto, sin limitación de ángulo de rotación. Todas esas ventajas lo hacen adecuado para aplicaciones de medición de ángulo sin contacto, como el brazo robótico, cabezal de trípode, control de lazo cerrado de motor, posicionamiento de eje de máquina herramienta.

Característica

  • Sin contacto, sin limitación de ángulo de rotación
  • Alta resolución de 12 bits, 4096 posiciones por vuelta
  • Grove I2C, Salida PWM/Analógica
  • Gran flexibilidad en excursión angular: Ángulo máximo programable desde 18° hasta 360°

Especificación

ParámetroValor
Voltaje de alimentación3.3V / 5V
Temperatura ambiente de operación-40 – 125℃
Corriente de entrada-100-100mA
FlexibilidadÁngulo máximo programable desde 18°-360°
InterfazI2C(Dirección I2C por defecto: 0x36) y No Cambiable
SalidaSalida analógica/PWM
Resolución de salidaDAC de 12 bits

Principio de Funcionamiento

Grove - AS5600 se basa en el Efecto Hall, el sensor Hall integrado puede detectar cambios en la dirección del campo magnético, por lo tanto tampoco hay límite en el ángulo de rotación. La información de dirección del campo magnético es amplificada por el amplificador, con la ayuda del A/D de 12 bits integrado, el módulo AS5600 puede generar 4096 posiciones por vuelta. La salida es seleccionable, puedes usar la interfaz I2C para generar los datos RAW o generar la onda PWM/onda analógica a través del pin OUT. Mientras tanto, el ángulo máximo también es programable, puedes establecer el ángulo máximo desde 18° hasta 360°, lo que significa que la precisión angular medida es de hasta 18/4096.

note

El AS5600 tiene ciertos requisitos para el campo magnético a medir. Por favor usa un imán de tamaño similar al chip. El módulo debe medirse lo más cerca posible del campo magnético y el centro del sensor AS5600 debe estar alineado con el centro del campo magnético. La distancia vertical es preferiblemente de 0.5 mm a 3 mm.

Descripción General del Hardware

Plataformas Compatibles

ArduinoRaspberry Pi

Comenzando

Jugar con Arduino

Materiales requeridos

Seeeduino V4.2Base ShieldGrove - Sensor/Codificador de Posición Rotativa Magnética de 12 bits (AS5600)
enter image description hereenter image description hereenter image description here
Obtener UNO AhoraObtener UNO AhoraObtener UNO Ahora

Además, puedes considerar nuestro nuevo Seeeduino Lotus M0+, que es equivalente a la combinación de Seeeduino V4.2 y Baseshield.

Conexión de Hardware

  • Paso 1. Conecta el Grove - Sensor/Codificador de Posición Rotativa Magnética de 12 bits (AS5600) al puerto I2C del Base Shield.

  • Paso 2. Conecta el Grove - Base Shield al Seeeduino.

  • Paso 3 Conecta el Seeeduino a la PC mediante un cable USB.

Software

caution

Si esta es la primera vez que trabajas con Arduino, te recomendamos encarecidamente que veas Comenzando con Arduino antes de empezar.

  • Paso 1. Descarga la librería AS5600 desde Github.
note

Consulta Cómo instalar librería para instalar librería para Arduino.

  • Paso 2. Reinicia el IDE de Arduino. Abre el ejemplo readAngle a través de la ruta: FileExamplesSeeed_AS5600-masterreadAngle. A través de esta demostración, podemos leer los ángulos de un imán debajo del sensor.

El código del ejemplo readAngle es el siguiente:

#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));
}
  • Paso 3. Sube la demostración. Si no sabes cómo subir el código, por favor revisa Cómo subir código.

  • Paso 4. Abre el Monitor Serie del IDE de Arduino haciendo clic en Herramienta-> Monitor Serie. O presiona las teclas ctrl+shift+m al mismo tiempo. Establece la velocidad de baudios a 115200.

  • Paso 5. El resultado debería ser así cuando detecte un imán debajo del sensor:

note

Aquí se usa un calibrador. El archivo 2D del Calibrador está listado en Recursos, ¡así que siéntete libre de descargarlo y cortarlo con láser tú mismo!

FAQ

P1# ¿Cómo lograr la máxima precisión?

R1: Asegúrate de que el sensor Grove - 12-bit Magnetic Rotary Position Sensor / Encoder (AS5600) esté a una distancia/posición fija del imán. Rota el imán para ir desde el ángulo 0 hasta el ángulo 360 la primera vez para asegurar que el posicionamiento sea correcto.

La librería AS5600 también proporciona una función de prueba completa para operar el sensor.

Visor de Esquemático en Línea

Recursos

Soporte Técnico y Discusión de Productos

¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para atender diferentes preferencias y necesidades.

Loading Comments...