Warning: SessionHandler::read(): open(/homepages/1/d634258139/htdocs/5hertz/system/storage/session/sess_5d4c0ccf71f0c6cdad38573dcfc156ac, O_RDWR) failed: Disk quota exceeded (122) in /homepages/1/d634258139/htdocs/5hertz/system/library/session/native.php on line 17

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /homepages/1/d634258139/htdocs/5hertz/system/library/session/native.php:17) in /homepages/1/d634258139/htdocs/5hertz/system/library/session.php on line 30

Warning: Cannot modify header information - headers already sent by (output started at /homepages/1/d634258139/htdocs/5hertz/system/library/session/native.php:17) in /homepages/1/d634258139/htdocs/5hertz/system/library/session.php on line 50

Warning: Cannot modify header information - headers already sent by (output started at /homepages/1/d634258139/htdocs/5hertz/system/library/session/native.php:17) in /homepages/1/d634258139/htdocs/5hertz/catalog/controller/startup/startup.php on line 96

Warning: fopen(/homepages/1/d634258139/htdocs/5hertz/system/storage/cache/cache.currency.1586099499): failed to open stream: Disk quota exceeded in /homepages/1/d634258139/htdocs/5hertz/system/library/cache/file.php on line 49

Warning: flock() expects parameter 1 to be resource, boolean given in /homepages/1/d634258139/htdocs/5hertz/system/library/cache/file.php on line 51

Warning: fwrite() expects parameter 1 to be resource, boolean given in /homepages/1/d634258139/htdocs/5hertz/system/library/cache/file.php on line 53

Warning: fflush() expects parameter 1 to be resource, boolean given in /homepages/1/d634258139/htdocs/5hertz/system/library/cache/file.php on line 55

Warning: flock() expects parameter 1 to be resource, boolean given in /homepages/1/d634258139/htdocs/5hertz/system/library/cache/file.php on line 57

Warning: fclose() expects parameter 1 to be resource, boolean given in /homepages/1/d634258139/htdocs/5hertz/system/library/cache/file.php on line 59

Warning: Cannot modify header information - headers already sent by (output started at /homepages/1/d634258139/htdocs/5hertz/system/library/session/native.php:17) in /homepages/1/d634258139/htdocs/5hertz/catalog/controller/startup/startup.php on line 156
Introducción al giroscopio

Introducción al giroscopio

  • Introducción al giroscopio
Contenido:
1. Introducción.
1.1 ¿Cómo funciona un girómetro?.
1.2 ¿Cómo funciona el giroscopio MEMS para detectar la velocidad angular?.
2. Como conectarse a un giroscopio.
2.1 Interfaz de comunicaciones.
2.2 Potencia.
3. Como seleccionar un giroscopio.
3.1 Alcance.
3.2 Sensibilidad.
3.3 Offset.
3.4 Tabla comparativa de algunos girómetros.
4. Como conectar un girómetro (giroscopio) al arduino.
4.1 Programación.

1. Introducción

Los giroscopios, o girómetros, son dispositivos que miden o mantienen el movimiento de rotación. MEMS (sistemas microelectromecánicos) giroscopios son pequeños sensores, de bajo costo para medir la velocidad angular. Las unidades de velocidad angular se miden en grados por segundo (° / s) o revoluciones por segundo (RPS). La velocidad angular es simplemente una medida de la velocidad de rotación.
 

Giroscopios similares al anterior, se pueden utilizar para determinar la orientación y se encuentran en la mayoría de los sistemas de navegación autónomos. Por ejemplo, si desea equilibrar un robot, un giroscopio puede ser usado para medir la rotación de la posición de equilibrio y enviar correcciones a un motor.
 

1.1  ¿Cómo funciona un girómetro?.

Cuando un objeto gira alrededor de un eje obtiene algo llamado velocidad angular. Una rueda que gira puede ser medida en revoluciones por segundo (RPS ) o grados por segundo (° / s ) .
 

Tenga en cuenta que el eje z del giroscopio a abajo se alinea con el eje de rotación en la rueda.
 

Si conecta el sensor a la rueda que se muestra más arriba , se puede medir la velocidad angular del eje z del giróscopo. Los otros dos ejes no son capaces de medir esa velocidad.

 Imagínese si la rueda gira una vez por segundo . Se tendría una velocidad angular de 360 grados por segundo . La dirección de giro de la rueda también es importante, si es en sentido horario alrededor del eje , o va hacia la izquierda.

 Un giroscopio MEMS de 3 ejes , similar a la que se muestra arriba en la imagen (ITG-3200),  puede medir la rotación en torno a tres ejes : X, Y , y Z . Algunos giroscopios vienen en variedades de eje simple y doble, pero el giroscopio de tres ejes en un solo chip son cada vez más pequeño, menos costoso y más popular.

Los giroscopios  se utilizan a menudo en los objetos que no están girando muy rápido del todo. Las aeronaves (con suerte) no giran. En  se lugar giran unos pocos grados en cada eje . Mediante la detección de estos pequeños cambios los  giroscopios ayudan a estabilizar el vuelo de la aeronave. Además, tenga en cuenta que la aceleración o la velocidad lineal de la aeronave no afecta a la medición del giróscopo. Los giroscopios sólo miden la velocidad angular.
 

1.2 ¿Cómo funciona el giroscopio MEMS para detectar la velocidad angular?.


Funcionamiento interno de un sensor giroscópico MEMS.

El sensor MEMS dentro de un giroscopio es muy pequeño ( entre 1 a 100 micrómetros , el tamaño de un cabello humano ). Cuando se hace girar el giroscopio, una pequeña masa de resonancia se desplaza con los cambios de velocidad angular. Este movimiento se convierte en señales eléctricas de muy bajas corrientes que se pueden amplificar para ser leídas por un microcontrolador.
 

2. Cómo conectarse a un giroscopio.

Las conexiones de hardware principales para usar un giroscopio son una interfaz de comunicación y el poder . Como siempre, consulte la hoja de datos del sensor para la totalidad de la información sobre las especificaciones y ejemplos de conexiones.
 

2.1 Interfaz de comunicaciones.

Giroscopios pueden tener ya sea una interfaz de comunicación digital o analógica.

Giroscopio con una interfaz digital por lo general usan el SPI o protocolos de comunicación I2C. El uso de estas interfaces permite una conexión fácil a un microcontrolador. Una de las limitaciones de una interfaz digital es la velocidad de muestreo máxima. El  I2C tiene una frecuencia de muestreo máximo de 400 Hz. El SPI, por otro lado, puede tener una frecuencia de muestreo mucho más alta .

Giroscopios con una interfaz analógica representan la velocidad de rotación con un voltaje variable, por lo general entre tierra y la tensión de alimentación. Un ADC en un microcontrolador puede ser utilizado para leer la señal. Giroscopios analógicos pueden ser menos costoso y, a veces más preciso, dependiendo de cómo se está leyendo la señal analógica.
 

2.2 Potencia.

Giroscopios MEMS son generalmente dispositivos de baja potencia. la corriente que consumen están en mA y, a veces en el rango de µA. La tensión de alimentación para giroscopios es generalmente 5V o menos. Giroscopios digitales pueden tener voltajes lógicos seleccionables o funcionar a la tensión de alimentación. Para cualquier interfaz digital, recuerde conectar 5V a líneas de 5V y 3.3V a líneas de 3.3V. También,  giroscopios con interfaces digitales pueden tener modos de alimentación y de sueño tan bajos que les permiten ser utilizados en aplicaciones que funcionan con batería. A veces esto es una ventaja sobre un giroscopio analógico.
 

3. Cómo seleccionar un giroscopio.

Hay muchas especificaciones a tener en cuenta al seleccionar un giroscopio. Aquí están algunos de los más importantes los:
 

3.1 Alcance.

El rango de medición, o rango de escala completa, es la velocidad angular máxima que el giroscopio puede leer.
 

3.2 Sensibilidad.

La sensibilidad se mide en mV por grado por segundo ( mV / ° / s ) . No deje que la dimensión extraña de este valor te asuste . Se determina la cantidad de los cambios de voltaje para una velocidad angular dada. Por ejemplo , si se especifica un giroscopio con una sensibilidad de 30 mV / ° / s y se ve un cambio de 300 mV en la salida, esto quiere decir que el  giroscopio rota a 10 º / s .

Una buena regla para recordar : si la sensibilidad aumenta, el margen disminuye. Por ejemplo, mire la hoja de datos del giróscopo LPY503 o cualquier giroscopio con un rango seleccionable :
Tenga en cuenta que con un rango mayor, la sensibilidad disminuye y se obtiene menos resolución.
 

3.3 Off set.

Al igual que con cualquier sensor, los valores que son medidos contendrán cierta cantidad de error o corrimiento. Usted puede ver el corrimiento midiendo la salida cuando el giroscopio se encuentre estático. Aunque se podría pensar que se vería  0°/s, siempre se verá un ligero error distinto de cero en la salida. Estos errores son a veces llamados desplazamiento de la polarización. La temperatura del sensor afecta en gran medida el error. Para ayudar a minimizar el origen de este error, la mayoría de los giroscopios han incorporado un sensor de temperatura. Por lo tanto , usted es capaz de leer la temperatura del sensor y corregir cualquier temperatura o cambios dependientes. Con el fin de corregir estos errores, el giróscopo debe ser calibrado. Esto se hace generalmente al mantener el giroscopio quieto y reduciendo  a cero de todas las lecturas en el código.

3.4 Tabla comparativa de algunos de los girómetros más usados.

Nota: estos dispositivos estarán próximamente en tienda.
 
Dispositivo Ejes Rango Interfaz Requerimientos de energía Características
IDG1215 2 (X,Y) ±67°/s Analógica 3V100µA -Incluye amplificador y filtro paso bajo.
LPR503AL 2 (X,Y) ±30°/s±120°/s Analógica 2.7V a 3.6 V 6.8 mA - Filtro paso bajo.
- SEFL-TEST.
- Power down.
LPR5150AL 2 (X,Y) ±1500°/s±6000°/s Analógica 2.7V a 3.6 V 6.8 mA - Filtro paso bajo.
- SEFL-TEST.
- Power down.
ITG3200 3  (X,Y,Z) ±2000°/s Digital I2C-16 bits  2.1V a 3.6V 6.5 mA - Filtro paso bajo programable.
- Sensor de temperatura.
MPU-6050 3 acelerómetro (X,Y,Z)

 

3 girómetro

(X,Y,Z)

±250, ±500, ±1000, and ±2000°/sec±2g, ±4g, ±8g and

 

±16g

 

Digital I2C 2.375V-3.46VG-3.6 mAA- 500µA - Filtro paso bajo programable.
- Detección de orientación.
- Interrupciones programables.
- Detección de caída libre.
- SEL-TEST.
- Detección de golpe.
LPY503ALGiros1 2  (X,Z) ±30°/s±120°/s Analógica 2.7 V a 3.6 V6.8mA - Filtro paso bajo.
- SEFL-TEST.
- Power down.
MPU-3050 3  (X,Y,Z) ±250, ±500,±1000, and ±2000°/sec Digital I2C 2.1V a 3.6V 6.1 mA - Interrupciones programable soporta características tales como el reconocimiento de gestos, paneo, detección  de cero movimiento, detección de golpe y sacudida.
- Filtro paso bajo programable.
- Funcionalidad podómetro.
MPU-6000 3 acelerómetro (X,Y,Z)

 

3 girómetro

(X,Y,Z)

±250, ±500, ±1000,

 

and ±2000°/sec±2g,

±4g, ±8g and

±16g

 

Digital I2C 2.375V-3.46VG-3.6 mAA- 500µA - Filtro paso bajo programable.
- Detección de orientación.
- Interrupciones programables.
- Detección de caída libre.
- SEL-TEST.
- Detección de golpe.
MAX-21000 3  (X,Y,Z) ±31.25/±62.50/±125/

 

±250/±500/±1k/±2k  °/s

Digital I2C,SPI 1.71V a 3.6V 5.4 mA -Filtro paso bajo programable.(Interrupciones programable)
BMG160 3  (X,Y,Z) ±125°/s a ±2000°/s DigitalI2C, SPI 2.4V a 3.6V 5mA - Filtro paso bajo.
- Sensor de temperatura.
 

4. Cómo conectar su girómetro (giroscopio) al arduino.

Del mismo modo que pasa con los acelerómetros, los girómetros analógicos son más fáciles de usar que sus homólogos digitales así que, ¿Porqué no empezamos  por ver cómo usar el sensor analógico?.

Usaremos el sensor LPY503AL sus características se puede apreciar en la tabla comparativa vista más arriba.

De acuerdo con el  fabricante para : +30°/sec –> 4xOUTX, 4xOUTZ = 1.23V + SoA*30 = 2.23V en variables quedaría algo así:
 
gyroZeroVoltage + gyroSensitivity * ?= gyroRate
 
Ocupamos despejar ?  (que está en °/s ) de la ecuación, y queda:
 

Hacemos las conexiones correspondientes como se muestra  continuación.
 

Ya que tengamos todo correctamente conectado veamos el código.
 

4.1  Programación.

(DESCARGA AQUI)
  • Definimos las los parámetros del sensor basándonos en la fórmula de arriba (sólo usamos unos de los ejes, si su giroscopio es de mas ejes se la dejamos de tarea).
int gyroPin = 2;               //El girómetro es conectado al pin A2.
float gyroVoltage = 3.3;         //El funciona a 3.3V.
float gyroZeroVoltage = 1.23;   //El cero del sensor es 1.23V.
float gyroSensitivity = .0333;  //La sensibilidad es 33.3mV/°/s.
float rotationThreshold = 2;   //Mínimo °/s para posible ruido presente.
float gyroVel = 0;
void setup() {          //esta linea baja el voltaje de referencia de las entradas. analógicas
analogReference(EXTERNAL);
Serial.begin (9600);
}
  • Desarrollamos la fórmula para calcular la velocidad angular.
Esta linea convierte el valor de 0-1023 a 0-3.3V
void loop() {
float gyroRate = (analogRead(gyroPin) * gyroVoltage) / 1023;
Serial.print(gyroRate);
Serial.print(“       “);

Esta linea encuentra el offset entre el voltaje en reposo y el voltaje en rotación.
gyroRate -= gyroZeroVoltage;

Esta linea divide el offset entre la sensibilidad.
gyroRate /= gyroSensitivity;

La salida se ignora si la velocidad es muy pequeña psiblemente ruido.
if (gyroRate >= rotationThreshold || gyroRate <= -rotationThreshold) {
gyroVel = gyroRate;

Serial.print(gyroVel);
Serial.println(“       “);
}
else {
Serial.println(“       “); }
delay(10);
}
 
5Hertz Electrónica
Facilitadores de componentes electrónicos. Ponemos a su disposición más de 5 millones de productos.

Redes Sociales

Boletín de noticias