Diseño de sistema de control de motor para manejo de robot.

- Dec 06, 2018-

2 diseño del software del sistema

Arquitectura 2.1μC / OS-II

μC / OS-II es un núcleo de sistema operativo multitarea en tiempo real, recargable, ROM portátil, implantable y portátil con alta eficiencia de ejecución, espacio reducido, buen rendimiento y escalabilidad en tiempo real. Características, el núcleo más pequeño se puede compilar a 2KB. μC / OS-II está escrito en C y en lenguaje ensamblador. La mayor parte del código está escrito en C. Solo algunos de los códigos estrechamente relacionados con el procesador están escritos en lenguaje ensamblador. μC / OS-II solo incluye funciones básicas como programación de tareas, administración de tareas, administración del tiempo, administración de memoria, comunicación entre tareas y sincronización.

Asignación de tareas bajo el sistema 2.2μC / OS-II

Después de trasladar con éxito el sistema μC / OS-II al STM32F107, la programación basada en μC / OS-II se realiza dividiendo una aplicación grande en tareas relativamente independientes. Se define la prioridad de cada tarea y el kernel μC / OS-II programa y administra estas tareas.

La idea del diseño del software es proporcionar la velocidad del motor y la posición de la dirección del mecanismo de dirección a través del puerto serie de acuerdo con el funcionamiento real del robot. La velocidad del motor se compara con el valor establecido del codificador incremental y el control de bucle cerrado se implementa mediante el algoritmo PID de velocidad. La posición del mecanismo de dirección es principalmente que el codificador de valor absoluto devuelve la posición actual, y la velocidad del mecanismo de dirección se ajusta de acuerdo con el requisito de tiempo de acción. Las funciones que debe realizar el software del sistema de control de motores de este robot de manejo son las siguientes:

◆ La máquina superior proporciona la velocidad del motor, el ángulo de dirección y el tiempo de acción;

◆ Requiere un ajuste continuo de la velocidad del motor y un buen rendimiento estático y dinámico. La velocidad no es contada por el algoritmo PI.

◆ Requiere que el mecanismo de dirección alcance el ángulo especificado rápidamente, y la retroalimentación de posición se usa como ajuste de la velocidad dada del mecanismo de dirección;

◆ Tiene una cierta función de protección de fallas. Cuando el motor está bloqueado, la corriente es demasiado grande y el mecanismo de dirección toca el interruptor de límite, se requiere detener el módulo de transmisión.

Para que se implementen las funciones anteriores, el diseño de la aplicación se puede dividir en las siguientes tareas:

1 Comience la tarea. Inicialice el sistema, cree un estado de motor inicial, luego elimínese y comience a dormir.

2 tareas de protección de motor y dirección. Se utiliza para responder a una interrupción externa cuando se activa el interruptor de sobrecorriente o límite. Cuando se ingresa el estado de interrupción, se envía el semáforo de la tarea. El programa de tareas detecta que el semáforo es válido y responde a la tarea y detiene la salida. La prioridad de la tarea se establece en el nivel 0.

3 tareas del equipo host dado. Se utiliza para que la máquina superior controle el motor y el mecanismo de dirección, y la prioridad de la tarea se establece en el nivel 1. Cuando se genera el registro de entrada de datos de la computadora central, se generará una interrupción, que enviará el byte recibido al almacena y libera el semáforo de la tarea dada de la computadora host; cuando se detecte el semáforo, la tarea comenzará a ejecutarse y se ejecutará el byte correspondiente. La información se analiza en la información correspondiente de la velocidad del motor y la posición del mecanismo de dirección para asignar valores a las variables correspondientes.

4 tareas de control de velocidad del motor. Para la regulación de velocidad en circuito cerrado del motor, la prioridad de la tarea se establece en el nivel 2.

5 tareas de control del mecanismo de dirección. Se utiliza para controlar el mecanismo de dirección para alcanzar la posición especificada dentro del tiempo especificado, y la prioridad de la tarea se establece en el nivel 3.

2.3 Comience la tarea

En el programa principal, antes de llamar a otras tareas de μC / OS-II, primero llame a la función de inicialización del sistema OSInit () para inicializar todas las variables y estructuras de datos de μC / OS-II; al mismo tiempo, establezca la tarea inactiva OS_TaskIdle (), esta tarea siempre está en el estado listo; llame a la función OSTaskCreate () para establecer la tarea de inicio; llame a OSStart (), transfiera el control al núcleo μC / OS-II, comience a ejecutar la multitarea.

La tarea de inicio se crea en el programa principal, que tiene tres funciones principales:

1 para la inicialización del sistema (módulo de salida PWM, puerto serie, módulo ADC, función de interrupción del nivel de entrada, temporizador).

2 Establezca la cantidad de señal utilizada por el sistema.

3 establecer otras tareas del sistema.

Finalmente, llame a OSTaskDel (OS_PRIO_SELF) para borrarse y comenzar la tarea a dormir. El flujo de tareas del programa principal se muestra en la Figura 4.

2.4 tarea de control de velocidad del motor

Cada vez que el codificador incremental genera una interrupción externa, se emite el semáforo de la tarea en el estado de interrupción. El programa de tareas detecta que el semáforo es válido y responde a la tarea. La tarea realiza el control de circuito cerrado al medir la velocidad actual del motor y la comparación de velocidad dada. El flujo de tareas de control de velocidad del motor se muestra en la Figura 5.

2.5 tarea de control del mecanismo de dirección

El servocontrol genera un tiempo de referencia mediante un temporizador, envía un semáforo a cada hora fija y la tarea se ejecutará una vez. La tarea de control de servo compara la posición medida por el codificador absoluto con la posición dada y ajusta la velocidad del servo de acuerdo con el tiempo restante. El flujo de tareas de servocontrol se muestra en la Figura 6.

Interfaz electromecánica de 3 sistemas

El mecanismo de dirección del robot consiste en un reductor de 30: 1 conectado al motor de CC. El codificador de posición absoluta está conectado al mecanismo de dirección y envía la señal de ángulo del mecanismo de dirección al tablero de control de la unidad. Los dos ejes de la rueda delantera del robot están conectados por una barra de transmisión. Uno de los ejes está conectado al engranaje de la dirección mediante una correa de transmisión, de modo que cuando el engranaje de la dirección gira, la correa de transmisión acciona la varilla de transmisión para asegurar que las dos ruedas delanteras puedan girar sincrónicamente. El motor de tracción trasera es un motor de CC, que está directamente conectado al encoder incremental. Después de que la relación de reducción se reduce con un reductor de 25: 1, la rueda trasera es accionada por el diferencial mecánico. Las señales del codificador incremental también se envían a la placa de control del variador. La estructura del sistema electromecánico se muestra en la Figura 7.

Conclusión

En este documento, se realiza el diseño del hardware del controlador de servo y motor del robot de manejo. El sistema operativo en tiempo real μC / OS-II se integró con éxito en el STM32F107, y se completó la velocidad del experimento de bucle cerrado del motor y el mecanismo de dirección. Utilizando las características del rendimiento en múltiples tareas en tiempo real del controlador central Cortex-M3 y el sistema μC / OS-II, proporciona una base de software y hardware para la captura de video de la imagen del robot y el seguimiento posterior. Si se mejora el algoritmo PI existente y la velocidad y la corriente del control de circuito cerrado doble se pueden realizar, las características del motor del robot serán mejores y la perspectiva de la aplicación del robot de manejo será más amplia.



Artículo anterior:Diseño del sistema de regulación de velocidad continua del motor de CC con microordenador de un solo chip pic Siguiente artículo:Rompecabezas de actualización