Bola de 3DOF en placa utilizando cerrado motores paso a paso de bucle (12 / 13 paso)

Paso 12: Métodos de Control

Motores paso a paso se funcionan normalmente de una manera absoluta, donde la cantidad de pasos enviados al motor se realiza un seguimiento para determinar el movimiento del motor. Este procedimiento tiene dos cualidades no deseadas. Lo más obvio se pierde pasos. Si el motor encuentra con una carga suficiente para detener el movimiento, la posición real se pierde, como los pasos ordenados ya no coinciden con la ubicación de los motores. El problema menos obvio es que produce y contando pasos motor al utilizar microstepping a altas velocidades. Un motor paso a paso típico tiene 200 pasos para una revolución completa. Esto se traduce en 6400 pasos para una revolución completa si utilizando 32 controladores micropasos. Cuando los motores en marcha a 300 RPM, una potencia de 32000 pasos por segundo se necesitan por motor. Tres motores corrientes daría como resultado casi 200K lógica cambios por segundo. Hacer este nivel de procesamiento en tiempo real en un microcontrolador de 8 bits de 16MHz no deja espacio libre para otras tareas.

La solución es descargar la generación paso a temporizadores nivel hardware y comparar los registros durante el uso de codificadores en los motores para medir directamente el movimiento. Un sistema de lazo cerrado puede ser configurado con el valor de entrada que representa la diferencia entre un motor ángulo y el ángulo medido desde el codificador. La salida del lazo de control entonces establecería RPM del motor. El tren de pulsos necesaria se genera de tres temporizadores de 16 bits hardware con tres registros de comparación. Los temporizadores son configurados sin previo ajuste de escala produciendo una tasa de cuenta de 16 MHz que se reinicia cuando la cuenta es igual a la comparación. Un pin de salida correspondiente se activa reset de contador de tiempo, generando un tren de pulso necesario para mover el motor paso a paso. La frecuencia del tren de pulso se establece por el tamaño del registro compara y determina las RPM del motor. Escalado salida del lazo de control de motor paso a paso ahora puede ser alimentado en el registro de comparación para ajustar motor RPM. Con este método, toda generación de señal motor paso a paso se logra a nivel hardware dejando el microcontrolador libre para otras tareas.

Un lazo de control proporcional derivada (PD) se implementa con el fin de lograr posicionamiento básico bola. Un componente integral fue añadido, pero no necesario. El término proporcional en el bucle de control es simplemente la diferencia entre la ordenada y la bola medido multiplicado por una ganancia proporcional. El término proporcional resultados en suave movimiento del ángulo de la placa, como cambios de ubicación de la bola normalmente resultan en un gran número. Esto no es cierto cuando el primer cálculo de un simple orden derivado dx ≈ [x(i) − x(i−1)] /h como movimiento de la bola entre las mediciones es pequeño con ruido relativamente grande. El comportamiento se puede mejorar aumentando el tiempo entre mediciones, pero entonces el tiempo de respuesta del sistema se convierte en grande. La solución es utilizar más de la historia de bolas para predecir mejor la velocidad de la corriente. Una buena aproximación para el movimiento de bolas es aceleración constante como ángulo de la placa no está cambiando rabiosamente. Una segunda orden exacta de la plantilla usando solamente más allá de las mediciones para predecir el derivado actual se desea. La plantilla debe tener comportamiento de ruido buen rechazo y tiempo de respuesta. Pavel Holoborodko ha publicado la lista de plantillas para una estimación derivado echó a un lado de que fue seleccionada una plantilla de 16 puntos. El derivado resultante es considerablemente más suave que el simple caso manteniendo el tiempo de respuesta de buen sistema.

Componentes proporcionales y derivativos se suman tal que la parte proporcional inclina la placa para acelerar la bola hacia el sistema y el componente derivado inclina la placa para hacer más lento el movimiento de bolas. La magnitud de cada valor se puede establecer mediante el ajuste de los valores de ganancia hasta que el sistema está críticamente amortiguado.

Ángulos de la plataforma que representa la inclinación X e Y deben transformarse en los tres ángulos de motor paso a paso. El eje X y Y se proyectan en los tres ejes motor para determinar las ponderaciones de mando. Este enfoque es sólo una aproximación del comportamiento deseado pero funciona según sea necesario.

Se necesitan tasas de ejecución de código consistente. Esto se logra mediante el uso de una rutina de interrupción que provoca cada 1ms de Timer0. Indicadores de ejecución de código se activan en la rutina de interrupción que permite diferentes porciones del código a ejecutar.

Artículos Relacionados

Controlando un Motor paso a paso con un Arduino

Controlando un Motor paso a paso con un Arduino

Este tutorial le mostrará cómo funciona un motor de paso a paso que fue rescatado de una impresora antigua con un Arduino.Paso 1: ¿Qué es un Motor paso a paso? Un motor paso a paso consta de dos partes principales: un rotor y un estator. El rotor es
Introducción a motores paso a paso

Introducción a motores paso a paso

Si alguna vez has tenido el placer de desmontar una impresora más viejo para salvar componentes electrónicos (recomiendo esta actividad de fin de semana si no lo has hecho antes!) usted puede haber llegado a través de una serie de misterio cilíndrico
Reloj de engranajes con accionamiento de Motor paso a paso de madera

Reloj de engranajes con accionamiento de Motor paso a paso de madera

Sin embargo otro reloj con engranajes de madera. Este diseño fue inspirado por Instructable de DickB1 (se muestra a continuación en la parte inferior).Sin embargo, en lugar de manejar el reloj con un péndulo magnético pulsado, usé un motor de pasos p
Bomba con Motor paso a paso DIY

Bomba con Motor paso a paso DIY

En este proyecto, usamos materiales comunes como hojas de acrílico, tornillos y tuercas para construir un DIY Open Source bomba de la jeringuilla. La bomba de la jeringuilla está conectada y controlada a través de una placa de microcontrolador Arduin
Reutilización de un Motor paso a paso

Reutilización de un Motor paso a paso

Este instructable le mostrará cómo reutilizar un viejo motor paso a paso que encontré en el almacén de basura para la enseñanza increíble en Gardina CA. Este recurso para educadores de casas industriales elenco-offs que se podrían utilizar en el aula
Cómo controlar un motor paso a paso con un FPGA

Cómo controlar un motor paso a paso con un FPGA

Este instructivo le guiará por el proceso y algunos conocimientos sobre cómo conseguir un motor paso a paso trabajando en una FPGA. Específicamente un Motor de pasos a Nema, Digilent Basys 3 y Digilent PmodSTEP.Actualmente soy profunda en el proceso
Frambuesa Pi Hat CNC controlado por Motor paso a paso de CD-ROM

Frambuesa Pi Hat CNC controlado por Motor paso a paso de CD-ROM

Objetivo: aprender lo sencillo que es usar el sombrero de CNC de frambuesa Pi del Protoneer probando hacia fuera en un motor de pasos de CD-ROM.Por qué: muchos de nosotros sueñan con hacer nuestro ranurador del CNC / grabador pero conseguir empantana
3D impreso Motor paso a paso

3D impreso Motor paso a paso

Recientemente encontré este instructable de un 3D impreso DC Motor y pensé que podría considerar un pasomás lejos; Literalmente. Me diseñó este motor paso a paso con Electroimanes de ocho, seis imanes de neodimio, con un 3d impreso del rotor y la car
Plotter DIY con motores paso a paso

Plotter DIY con motores paso a paso

Un plotter XY es una máquina que puede controlar un instrumento de trazado (como una pluma o una herramienta de corte como una cuchilla o un láser) sobre dos ejes de manera exacta y precisa. Máquinas de Control numérico (CNC) de la computadora son pl
Hardware de Arduino PWM para motor paso a paso

Hardware de Arduino PWM para motor paso a paso

con nuestro nuevo proyecto, JustAddSharks, estamos muy interesados en apoyar el desarrollo de software libre de control de Cortadoras Láser. Estamos más que felices para la gente modificar nuestras Cortadoras Láser, reemplazar el sistema de control c
Motor paso a paso + Arduino + seguidor Solar (EV)

Motor paso a paso + Arduino + seguidor Solar (EV)

Este instructable es la traducción de otro que fue escrita originalmente en español, así que pido perdón si tengo muchos errores gramaticales, si así fuera me encantaría me sugieren para editarlo. Sólo lo hago porque me gusta compartir mis proyectos.
Tierra Globo giratorio con Arduino o frambuesa Pi controlado por Motor paso a paso

Tierra Globo giratorio con Arduino o frambuesa Pi controlado por Motor paso a paso

Este instructivo describe cómo actualizar su globo a una versión motorizada. Parece increíblemente mejor en el estante que está girando lentamente, y cualquier manifestación con sus hijos (para explicar el ciclo día/noche o las estaciones) ganará int
Manejar un Motor paso a paso con un Arduino y un controlador Stepstick/chip A4988

Manejar un Motor paso a paso con un Arduino y un controlador Stepstick/chip A4988

Hay varias maneras de hacer que un Motor paso a paso funciona, y la mejor manera depende de la aplicación, el motor y la electrónica disponible. Para el funcionamiento de un motor paso a paso desde un Arduino, estas son las principales maneras de ir1
Attiny2313 robot con Bluetooth HC06 y motores paso a paso

Attiny2313 robot con Bluetooth HC06 y motores paso a paso

Aquí he querido presentar un bosquejo de la robusteza del vehículo. El corazón del robot es el microcontrolador ATtiny2313. Coche robot son los 2 motores paso a paso. La inspiración para la construcción de mi robot fueron otros proyectos. En la mayor