Paso 5: Subir un dibujo muestra a Arduino
Con IDE una muestra Sketch invertido robot está subido a arduino.
- Si usted no puede encontrar MsTimer2 biblioteca en IDE, instalarlo desde website(*)
(* Otro esquema más simple , ver2.0, ha estado disponible desde agosto de 2014. Necesita no MsTimer2.)
[Nota 3]
Para realizar un equilibrio invertido péndulo sí mismo, par del motor se controla dinámicamente. Este método de control se expresa como plano fórmula con 4 variables relacionadas con el estado del péndulo.
"esfuerzo de torsión del motor = k1 * ángulo del péndulo
+ k2 * velocidad angular del péndulo
+ k3 * velocidad del extremo inferior del péndulo
+ k4 * desplazamiento del extremo inferior del péndulo desde un punto de referencia "
K1, k2, k3 y k4 son coeficientes estáticos con valores apropiados. En un bosquejo muestra en archivo pdf a continuación, una larga ecuación en línea 72 expresa esta fórmula. Para hacer el equilibrio invertido robot sí mismo, tenemos que seleccionar valores para estos 4 coeficientes respectivamente y saber el valor correcto de cada una de estas 4 variables en tiempo real.
Un sensor de giro da el segundo valor de la variable, velocidad angular del péndulo, dinámicamente como una tensión en su pin de salida. Y arduino el primer valor de la variable, ángulo del péndulo, al mismo tiempo integrando la segunda variable.
Por otro lado, el tercero o el cuarto valor de la variable no puede medirse por el sensor de giro. Para que otro tipo de sensor o medidor puede usarse para obtener en tiempo real. Pero nuestro robot invertida no tiene ningún dispositivo de más de un módulo de giro. Así se convierte en un rompecabezas para estimar estos valores de 2 variables dinámicamente. En un bosquejo muestra en archivo pdf a continuación, puede usarse 2 ecuaciones enmascaradas en las líneas 76 y 77 para estimarlos. Aquí quedan enmascarados para no estropear la solución de este rompecabezas.
[Nota 4]
Si se utiliza algún otro giro-módulo que se mencionan en el paso 1 , sería cambiados 2 constantes en las líneas 10 y 11 en el bosquejo de la muestra en el archivo pdf. Estas constantes expresan k1 y k2 respectivamente en la fórmula anterior. Por ejemplo si un ENC-03R, sensor de giro en el módulo de listados, se usa sin amp op, voltaje a arduino se convierte en 1/10 veces. Entonces las constantes en las líneas 10 y 11 en el bosquejo deben ser cambio diez veces escalar respectivamente.
[un muestra bosquejo (programa) para robot invertida]
Copiar el texto entero de "invertedRobot.pdf" o "invertedRobot_v20_noTimer.pdf" a continuación, péguelo en IDE y subirlo a arduino.
(* 1) Con algunos parámetros de la lengua en el sitio, un icono del pdf del archivo no se muestra a continuación (en el final de la línea de este paso). A continuación debe tipo " en la barra de direcciones de tu navegador o consulte una versión japonesa de este Instructable.
(* 2). Guarde el archivo pdf en tu PC y abrirlo con el lector de pdf apropiado. O conseguir un programa dañado al abrir en navegador web.
(* 3). If "; 72"no se muestra al final de una ecuación en la línea 72, sustituto de toda una ecuación de más abajo para él.
powerScale = (kAngle * thetaI / 200) + (kOmega * omegaI / 78) + (kSpeed * vE5 / 1000) + (kDistance * xE5 / 1000); 72
(* 4). Pegar la copia para IDE o editor, erratas como "/ /" como "/ /" (un espacio del obstáculo insertado) puede suceder entonces corregirlos.
(* 5). Un módulo de giro análoga usado aquí está influenciado por la temperatura. Si tu robot sí mismo no puede equilibrar bien en verano, valores constantes (45, 85, 57) en líneas de 10 a 12 en el bosquejo original de la muestra "yonvertedRobot.pdf" debe ser cambiado como «52, 53 y 95» (agregado encendido 20 de agosto de 2014).
(* 6). Un bosquejo alternativo más simple "invertedRobot_v20_noTimer.pdf" ha sido añadido como ver.2.0 en 20 de agosto de 2014. Aunque no contiene biblioteca de contador de tiempo, MsTimer2, para el manejo de la interrupción, podría hacer robot saldo mejor.
(* 7). Copyright (C) 2014 ArduinoDeXXX todos los derechos reservados.