Control proporcional en arduino

Control proporcional en arduino

Control proporcional en arduino

Arduino pid autotune

Así que estoy haciendo una pequeña prueba con tratar de configurar el control proporcional con un potenciómetro y un motor paso a paso 3000 (que es altamente engranado, por lo que tiene 3000 pasos), por lo que si el bote se mueve 50 grados, a paso lo hará también.

Todo el hardware está funcionando y he hecho un poco de suavizado básico para los datos de la olla, sin embargo, mi motor paso a paso es todavía jittering alrededor de un poco. Así que cuando el bote es todavía y las patadas de filtrado en todo está bien, pero los movimientos finos de una diferencia es muy pequeña que causa el jittering.

Así que mi pregunta es, ¿alguien tiene alguna información sobre las técnicas de programación que pueden ayudar a combatir este jittering. Podría añadir un umbral para que si el movimiento diferente entre el paso y el bote es menos de algo así como 1 grado (recuerde que hay 3000 pasos por lo que la resolución es ~ 0,12 grados), entonces no se moverá, pero en mis ojos que sólo disminuye la resolución y tal vez incluso aumenta jittering, así que esperaba que alguien tenía algunas ideas para un enfoque más avanzado que eso.

Arduino pid pwm

En los sistemas de control, un controlador corrige la salida de un sistema particular a una entrada deseada en presencia de errores y perturbaciones. El tipo más popular de controlador es el PID que es un acrónimo de Proporcional, Integral y Derivativo. En este tutorial de control PID de Arduino, te mostraré cómo puedes emplear un controlador de este tipo en tu proyecto.

Como se ha mencionado, PID es la abreviatura de proporcional, integral y derivativo. El nombre proviene de los métodos de cómo tal controlador se ocupa de las perturbaciones en el sistema. Sin embargo, este tipo de controlador es sólo en los sistemas de retroalimentación. Sugiero la lectura de un material específicamente escrito para este tema, pero haré mi mejor esfuerzo para explicarlo aquí tan simple como pueda.

Usted quiere mantener la temperatura en el horno a un cierto punto de ajuste.    Un sensor instalado en el horno determina la temperatura en cada momento. Este sensor, en este caso, proporciona la retroalimentación como referencia sobre el aumento o disminución de la temperatura requerida. La diferencia entre el valor del sensor de retroalimentación y un punto de ajuste de temperatura es el error.

Control de posición del motor arduino pid

Hacer esto con una buena respuesta de cambio de paso y estabilidad es más difícil de lo que se podría pensar. Decidí implementar un controlador proporcional e integral relativamente simple para realizar esta tarea, ya que he utilizado esta forma de control antes, pero quería documentarlo aquí con más detalle.

PID significa control proporcional, integral y derivativo. Los marineros lo aplicaban cuando capitaneaban los barcos. No sólo necesitaban corregir la situación actual, sino también tener en cuenta la situación pasada y compensar la tasa de cambio. Esto se convirtió en un método matemático de aproximación a los sistemas de control. Como siempre, el artículo de la wikipedia sobre esto es un gran punto de partida.

En la práctica, la ganancia derivada no siempre se utiliza, ya que puede complicar la solución y crear inestabilidad. Como quería mantenerlo simple e implementarlo fácilmente en un micro controlador, decidí no implementar el componente derivativo.

El código final era muy simple, y fue diseñado como un controlador de límite de voltaje, por lo tanto uso Vact = el voltaje real medido y Vsetpoint = el punto de ajuste de voltaje. Las ganancias Kp y Ki se discuten en la siguiente sección.

Arduino pid controlador de temperatura relé

Necesito un poco de orientación. Tengo un proyecto accionado por motores paso a paso, deben ser controlados a través de la retroalimentación de los potenciómetros ubicados en las articulaciones principales. Me han recomendado utilizar un control sólo proporcional para alterar la velocidad del stepper, debido a la estructura de los brazos integral y derivativo probablemente no será necesario. El movimiento del stepper debe detenerse cuando la retroalimentación del potenciómetro sea igual al punto de ajuste.

Para un motor unipolar la generación de un paso es un poco más compleja que si usted estuviera usando un motor bipolar con una tarjeta de controlador de motor paso a paso especializado. Lo más sencillo es probablemente utilizar la librería AccelStepper que se encargará de todas las complejidades.

Comienza con los ejemplos en el sitio web de AccelStepper. Cuando usted está familiarizado con la forma de controlar su motor paso a paso para hacer cosas simples que probablemente será capaz de averiguar cómo implementar su proyecto.

ActualValue1 es probablemente un nombre engañoso y te está confundiendo. Lo que realmente contiene esa variable es el número de pin al que tienes conectado el pote. El número de pin, no el valor leído del pote.

Acerca del autor

admin

Ver todos los artículos