Paso 4: Poner juntos
Para nuestro producto final, nosotros simplemente puré de los dos conceptos de motor lecturas de control y acelerómetro para formar un servo. Usted puede ver el código resultante aquí.
Por supuesto, la solución no es tan simple. Nos encontramos con un montón de problemas en la etapa de combinación, la mayoría de los cuales fueron sin resolver. Nuestra configuración inicialmente consistió en sólo uno de los dos ejes; hemos luchado mucho tiempo para conseguir el motor para encender incluso en presencia de acelerómetro, aunque hemos tenido un tiempo relativamente sencillo para llegar los dos a trabajar por separado. Encontramos la solución a ser dos 2.2 resistencias de pull-up de k entre los puertos I2C A4/A5 en el Arduino y + 5V. Curiosamente, otros valores de resistencia, que no sea de 3.3 k, no permitió la para que poder alcanzar el motor. Resistencias pull-up tienden a insertarse en analógico leer puertos para estabilizar la señal y evitar que el Arduino de congelación, pero generalmente son una medida de seguridad en lugar de una estricta necesidad. No importa como tal, cuál es el valor de la resistencia de pull-up (dentro de razón), contrariamente a lo que encontramos. Nuestra conclusión: claramente las resistencias de pull-up están compensando por algo, pero todavía no está seguros exactamente por qué.
Por alguna razón cada vez que hemos añadido externo de energía que acabó con cerca de 7 o 8 voltios en el 1 eje (aunque "decidimos" 1 eje finalmente) y 3 a 4 voltios con ambos ejes (0.30 amperios parecen ser el límite) a los puentes de H el acelerómetro datos fueron out de wack y era inútil. Esto en vuelta causado los motores para congelar para arriba puesto que finalmente se bloquea el Arduino.
Hurgando con un osciloscopio descubrimos algunas cosas. Básicamente cuando conecte la fuente de alimentación externa del circuito dibuja sobre 0,8 amperios y hay ruido introducido casi en todas partes--y muchos de ellos. "Tierra" fue fluctuando entre -2 y + 3 voltios!!! Es lógico que el acelerómetro no tiene idea de qué hacer con eso. Esta parece ser la raíz de todos nuestros problemas y habíamos solucionado esto nosotros podemos haber tenido un producto de trabajo.
Cuando se utilizan motores sin escobillas, están creando un campo magnético cambiante a través de bobinas de alambre. Esto induce una FEM en las bobinas según la ley de Faraday. Creemos que este "emf trasero" puede ser la causa del ruido que estamos viendo.
Una segunda suposición es simplemente nuestra configuración desordenado. Utilizamos cables bastante correr demasiado y de los puentes de H y y del acelerómetro. Cables largos y altos voltajes son excelentes en escoger encima de señales electromagnéticas e introducir ruido en el circuito.
Al final parecía que con la 2,2 k tire hacia arriba de los resistores, solucionó el problema para un eje. Tuvimos un buen servo con tono justo que funcionó indefinidamente y que incluso podría manejar 15V, dándole un montón de esfuerzo de torsión. Nota aquí que estábamos tratando de servo a un apagado cero ángulo para probar la acción del servo y asegurarse de que no era justo gravedad haciendo todo el trabajo. Funciones de cardán normal toman ventaja de la gravedad para ayudar en la estabilización, por lo que el centro de masa es crucial.
El control del motor era todavía un poco nervioso y siempre funcionó en una velocidad constante. Pensamos que podríamos solucionar esto haciendo dos cosas, en primer lugar crear una matriz de la onda de seno con mucha mayor resolución. Entonces a implementar un PID biblioteca podemos cambiar qué tan rápido reacciona el motor basado en cómo lejos del punto es. Cuando su realmente lejos se moverá a través de la onda senoidal rápidamente dando por resultado su movimiento rápido y cuando se acerca el punto de ajuste se frenar y estabilizar. Esto en teoría retirar de la mover de un tirón que experimentamos cuando el motor alcanza el punto y crear acción de cardán más rápido, más suave.
Aquí le damos la acción final de 2 ejes. Tenía bajo voltaje y baja corriente teníamos todos el esfuerzo de torsión que necesitábamos. Una vez más fue creado para estar un poco inclinado.
Aquí hay tomas de prueba del GoPro, no exactamente que perfecto constante material que estábamos esperando. El horrible ruido viene de los motores sin escobillas. No estamos seguros si son normalmente este fuertes, pero de todos modos quién necesita audio.