Tienes razón J1M, pero precísamente lo que estamos haciendo con poner el peso arriba, es subir lo más posible el centro de gravedad. De todas formas, para comprender mejor cual es nuestro fin, lo mejor es que hagas la prueba de la escoba.
Respecto al sensor ...
En casa tengo un programa con el comando 'pulsin' que hace 10 mediciones y luego las divide por 10, y tiene menos tembleque, pero sigue pasando lo que tu dices, que estándo en reposo, hay variaciones fortuitas. De todas formas, a 40Mhz, nos podemos permitir el lujo de medir 10 veces el pulso y sacar la media.
El giroscopio, lo único que hace es detectar cambios bruscos de giro, inclinacion en este caso.
Esto si que lo he probado. Con un 12F629 hice un sencillo programa que lo único que hace es generar una señal fija o patron, como la que genera el receptor de RC.
while(true)
{
output_high(PIN_A0);
delay_us(150);
output_low(PIN_A0);
delay_us(19850);
}
Conectando el servo a este generador patrón se mantiene quieto, cosa evidente.
Si conecto el giróscopo a esta señal, y un servo al giróscopo mientras no lo mueva, el servo permanece quieto, pero si lo giro brúscamente, el servo hace el contragiro para compensar. Si hago este giro muuuy suavemente, el servo ni se inmuta.
No olvides que estos chismes son para estabilizar la cola de los helicopteros manipulando el paso del rotor de cola, y se ponen principalmente para absorber movimientos exagerados del Stick de acelerador y sobre todo, para absorber golpes de viento laterales.
A ver si puedo ñapear un video con la cámara de fotos ...
Este tema del tentenpié es tremendamente complicado. Por eso te decía que una base mecánica con pocas holguras y bien equilibrada es fundamental. El caso es que "aparéntemente" el giróscopo solo debería hacer falta para que úna vez que ya se mueva, se detécten tropiezos o cambios repentinos de inclinación, como por ejemplo, que reciba un toquecillo. Lo que pasa es que estoy empezándo a dudar de si reálmente también hace falta para mantenerlo parado en equilibrio.