Red de conocimiento informático - Consumibles informáticos - Cómo utilizar el sensor geomagnético de Honeywell

Cómo utilizar el sensor geomagnético de Honeywell

Sensor geomagnético (HMC5883) En algunos sistemas de movimiento, a veces se requiere un control de dirección preciso. Aunque hay muchas formas de medir la dirección, la más conveniente y versátil es medir el campo magnético de la Tierra.

Utilizando el geomagnetismo como referencia, los datos del ángulo de azimut se pueden obtener midiendo el ángulo entre el sensor y las líneas geomagnéticas, logrando así un control preciso de la dirección. Aquí analizamos los sensores geomagnéticos (también conocidos como brújulas digitales o brújulas electrónicas) y cómo utilizarlos.

Los sensores geomagnéticos de uso común incluyen principalmente la serie MAG de FreeScale y la serie HMC de Honeywell. La siguiente discusión se basará en el sensor geomagnético Honeywell HMC5883 común en el mercado.

HMC5883 es ​​un chip sensor magnético débil, altamente integrado y de montaje superficial con interfaz digital IIC. Contiene el sensor magnetorresistivo de alta resolución más avanzado de la serie HMC118X y viene con el circuito integrado patentado de Honeywell (que incluye amplificador, controlador de desmagnetización automática y calibración de desviación, etc.), con un convertidor analógico a digital de 12 bits para garantizar la precisión de la brújula. Controlarlo entre 1° y 2°. Los sensores magnéticos de Honeywell son los más sensibles y confiables en la industria de sensores de campo bajo. Su rango de medición puede ser desde miligauss hasta 8 gauss.

El voltaje de funcionamiento del HMC5883 está entre 2,16 V y 3,6 V, normalmente 3,3 V. Aunque el voltaje de trabajo es el modo de bajo voltaje, el voltaje del puerto de datos se puede especificar a través del puerto VDDIO, por lo que hay dos formas de interactuar con el microcontrolador, una es el modo de 5 V para el microcontrolador y la otra es el modo de 3,3 V. modo para el microcontrolador.

Para conocer los parámetros eléctricos y las características del HMC5883, consulte su hoja de datos de administración. Aquí solo analizamos cómo aplicar el HMC5883 para obtener datos geomagnéticos. Dado que el control del módulo generalmente se logra escribiendo los registros correspondientes, primero comprendamos la situación del registro de HMC5883. Hay 12 conjuntos de registros dentro del HMC5883, de los cuales 6 se utilizan para almacenar datos de los ejes X, Y y Z, y los 6 restantes son registros de control.

Como todos los dispositivos de bus IIC, HMC5883 también tiene una dirección fija del dispositivo. Según su hoja de datos, la dirección esclava predeterminada de fábrica de HMC5883 es ​​0x3C (dirección de escritura) o 0x3D (dirección de lectura). . Al mismo tiempo, para minimizar la comunicación con el microcontrolador, HMC5883 puede actualizar automáticamente su puntero de dirección sin intervención del host. Hay dos principios para la actualización del puntero. Primero, si la dirección a la que se accede es 12 (es decir, registro de identificación C) o superior, el puntero se actualizará a la dirección 00 (es decir, volverá automáticamente al principio). La dirección a la que se accede llega a 8 (es decir, volverá automáticamente al principio, es decir, el registro LSB de Y), el puntero retrocederá a la dirección 03 (es decir, el registro MSB de X). Los beneficios de esto son obvios, porque las direcciones 03 ~ 08 almacenan valores de medición de datos que deben leerse repetidamente, por lo que el puntero de dirección circula automáticamente aquí durante la lectura, lo que puede reducir una gran cantidad de código para restablecer la dirección y mejorar el acceso. eficiencia. Al igual que otros dispositivos IIC, para mover el puntero de dirección a una dirección de registro específica, primero se debe emitir un comando de escritura a la dirección de registro, seguido de un bit de dirección. Por ejemplo, para hacer que el puntero de dirección apunte al registro 10, la instrucción emitida es 0x3C (dirección de escritura) 0x0A (es decir, dirección 10). El registro de configuración A (dirección 00) se utiliza principalmente para establecer parámetros relevantes como el promedio de muestreo de salida, la velocidad de salida y los bits de configuración de medición. Para aplicaciones regulares, se puede usar su valor predeterminado (promedio de muestreo 8, velocidad de salida 15 Hz, configuración de medición normal). . para cambiarlo. Si realmente desea cambiarlo, puede consultar el manual de datos de la administración para obtener más detalles. El registro de configuración B (dirección 01) se utiliza principalmente para establecer la ganancia. Para aplicaciones normales, su valor predeterminado se puede utilizar sin cambiarlo. Si realmente desea cambiarlo, puede consultar el manual de datos de la administración para obtener más detalles.

El registro de modo (dirección 0 2) se utiliza para seleccionar el modo de trabajo del HMC5883. Tiene tres modos de trabajo a la vez, a saber, modo de medición continua (los dos últimos dígitos son 00) y modo de medición única (los dos últimos dígitos son 01). ). y modo inactivo (los dos últimos bits son 1 0 u 11). El valor predeterminado es el modo de medición única; generalmente es necesario cambiarlo al modo de medición continua. Al cambiar, solo necesita cambiar los dos últimos dígitos del registro a 00. El registro de estado (dirección 0 9) se utiliza principalmente para proporcionar el estado actual del dispositivo. Solo los dos últimos bits son válidos y el último bit es el bit de listo. El dispositivo solo se puede operar después de que se establezca el bit de listo. El penúltimo bit es el bit de bloqueo del registro de salida de datos. Cuando se establece este bit, los datos de medición no se actualizarán hasta que se lean los datos de medición. Generalmente, las aplicaciones convencionales pueden leer con el retraso adecuado sin tener que leer el estado de este registro, a menos que se considere la lectura del estado de este registro cuando la frecuencia de lectura es muy alta. El registro de identificación A (dirección 10) al registro de identificación C (dirección 12) no se utilizan aquí y no se discutirán. Si es necesario, lea la hoja de datos usted mismo. En ese momento, el HMC5883 también tenía otras funciones prácticas, como la capacidad de realizar una autoprueba. Estaba equipado con un módulo de función de autoprueba que utilizaba la banda de compensación del sensor de excitación para generar una intensidad de campo magnético nominal para medir. Autoprueba para demostrar su buen rendimiento. Además, existe una función de calibración del factor de escala, que puede compensar la interferencia causada por el campo magnético circundante para obtener mediciones geomagnéticas precisas. Tomemos un ejemplo para ver la aplicación específica de HMC5883.

Ejemplo: utilice el microcontrolador para leer los datos geomagnéticos del HMC5883, convertirlos en datos de ángulos con dirección sur y mostrarlos a través del LCD16 02. El microcontrolador utiliza ATMega16 y el método de conexión con HMC5883 es ​​de 5V. Los terminales SDA y SCL de HMC5883 están conectados a los terminales TWI (PC1, PC0) de ATMega16 respectivamente. El método de conexión de LCD1602 es el mismo que antes.