Como Utilizar Motores Paso A Paso Con FPGA
December 5, 2023 | Author: Anonymous | Category: N/A
Short Description
Download Como Utilizar Motores Paso A Paso Con FPGA...
Description
Introducción
Un motor paso a paso es un motor eléctrico que crea rotación a partir de la corriente eléctrica conducida al motor. Físicamente, los motores paso a paso pueden ser grandes, pero a menudo son lo suficientemente pequeños como para ser impulsados por una corriente del orden de miliamperios. Los pulsos de corriente se aplican al motor, y esto genera una rotación discreta del eje del motor. Esto es diferente a un motor DC que exhibe rotación continua. Aunque es posible conducir un motor paso a paso de manera que tenga una rotación casi continua, hacerlo requiere más precisión de la forma de onda de entrada que impulsa el motor paso a paso.
El eje o husillo de un motor paso a paso gira incrementos de paso indiscretos cuando se le aplican impulsos de comando eléctrico en la secuencia adecuada. La secuencia de los pulsos aplicados está directamente relacionada con la dirección de rotación de los ejes del motor. La velocidad de rotación de los ejes del motor está directamente relacionada con la frecuencia de los pulsos de entrada y la longitud de rotación de los pulsos de entrada aplicados. Una de las ventajas más significativas de un motor paso a paso es su capacidad para ser controlado con precisión en un sistema de circuito abierto. El control de bucle abierto significa que no se necesita información de retroalimentación sobre la posición. Este tipo de control elimina la necesidad de dispositivos caros de detección y retroalimentación, como codificadores ópticos. Su posición se conoce simplemente haciendo un seguimiento de los pulsos de los pasos de entrada. El motor paso a paso se utiliza en una amplia aplicación para el control de velocidad y posición. Para evitar faltar pasos, el sistema basado en FPGA tiene una buena interfaz, por lo que podemos conectar más de un motor paso a paso para una aplicación posterior.
Diseño y metodología del motor paso a paso
El motor paso a paso mostrado en la figura 1 tiene 4 bobinas (llamadas A, B, C y D), desfasada levemente una de otra.
Figura 1. Conexión interna de motor paso a paso
Como utilizar las FPGA para mover motores Cuando se alimentan diferentes bobinas de fase, el motor se moverá una cantidad muy pequeña, y si cambia lo suficientemente rápido, se puede lograr una rotación suave. Este diseño utiliza pasos completos, donde los pares de bobinas (A + B, B + C, C + D o D + A) siempre están alimentados, que es la forma más sencilla de usar el motor. El siguiente paso en este proceso fue descubrir cómo interconectar el FPGA con el motor paso a paso. Los pines de salida de la Spartan no pueden suministrar suficiente corriente para el motor paso a paso, así que es necesario utilizar motor driver: el PmodSTEP, que, para todos los efectos, es un amplificador de potencia con un conector de motor paso a paso.
Figura2. Pmod STEP: Stepper Motor Driver
Al diseñar e implementar el motor paso a paso utilizando FPGA, se utiliza una placa de circuito Nexys2 basada en un dispositivo Xilinx Spartan 3E Field Programmable Gate Array (FPGA) con código VHDL, que es el controlador como se muestra en la Figura 4, que consta de la placa FPGA, el controlador y el Stepper Motor En este diseño, las entradas a la ubicación de los pines FPGA y Pmod como se muestra en la Figura 4 en la placa se clasifican a continuación;
NET "clk50M" LOC = B8 El pin clk50M se conecta a un reloj de 50 MHz en la placa de desarrollo FPGA. Es esta señal de reloj la que coordina todas las actividades en el FPGA. El período de esta señal debe especificarse, de modo que las herramientas puedan asegurarse de que todas las funciones lógicas del diseño funcionen correctamente a esta velocidad (ya que el diseño está limitado por la velocidad de conmutación de la lógica del FPGA y la velocidad a la que las señales se propagan a través del chip). Tenga en cuenta que el pin clk50m está conectado a B8 en el FPGA NET "sw_dir" LOC = "H18"; NET "sw_enable" LOC = "G18"; NET "sw_speed" LOC = "K18";
Figura 3. Implementación de motor paso a paso usando una FPGA nexys 2
Las señales "sw_" están conectadas a los interruptores que sirven igualmente como entrada al FPGA. "Sw_dir" LOC = "H18"; Este es el interruptor de entrada que coordina la dirección del motor, ya sea para girar hacia la izquierda cuando la señal es alta "1" o para girar hacia la izquierda cuando la señal es baja "0". Tenga en cuenta que el pin sw_dir está conectado a H18 en el FPGA. "sw_enable" LOC = "G18"; Este es el interruptor de entrada que habilita o alimenta el motor para iniciar la operación cuando la señal es alta "1" o deshabilita o detiene la operación del motor cuando la señal es baja "0". Tenga en cuenta que el pin sw_enable está conectado a G18 en el FPGA. "sw_speed" LOC = "K18"; Este es el interruptor de entrada que coordina o ajusta la velocidad del motor aumentando la velocidad como se especifica en el código / programa VHDL cuando la señal es alta "1" o reduce la velocidad cuando la señal es baja "0". Tenga en cuenta que el pin sw_speed está conectado a K18 en el FPGA. Además, las salidas del FPGA según lo diseñado se listan a continuación.
NET "phase_a" LOC = "L15"; NET "phase_b" LOC = "K12"; NET "phase_c" LOC = "L17"; NET "phase_d" LOC = "M15"; NET "position" LOC = "J14"; NET "position" LOC = "J15"; NET "position" LOC = "K15"; NET "position" LOC = "K14"; NET "position" LOC = "E17"; NET "position" LOC = "P15"; NET "position" LOC = "F4"; NET "position" LOC = "R4"
En la placa FPGA, las señales de "fase_" están conectadas al conector PMOD, las señales de "posición" están conectadas a los LED.
"phase_a" LOC = "L15"; "phase_b" LOC = "K12"; "phase_c" LOC = "L17";
"phase_d" LOC = "M15". Estas phase_a a phase_d son las salidas del FPGA a través de la interfaz JA del PMOD y se conectan al motor paso a paso a través del controlador del motor como se muestra en la Figura 3. Es decir; Phase_a está conectado a L15, Phase_b está conectado a K12, Phase_c está conectado a L17 y Phase_d está conectado a M15. Además, las señales de "posición" están conectadas a los LED de la placa con sus ubicaciones de pin correspondientes.
Figura 4. Localización de los pines PMOD en el FPGA
NET "position" LOC = "J14"; NET "position" LOC = "J15"; NET "position" LOC = "K15"; NET "position" LOC = "K14"; NET "position" LOC = "E17"; NET "position" LOC = "P15"; NET "position" LOC = "F4"; NET "position" LOC = "R4".
Implementación del motor paso a paso en una FPGA usando VHDL La Figura 5 muestra el diagrama de flujo de diseño VHDL durante esta implementación de Motor paso a paso. El diagrama de flujo comienza con la compilación general de hardware, como la placa FGPA Spartan 3E, la placa del controlador Pmod, el motor paso a paso, la compilación del código VHDL como se muestra en la Figura y (este es el código VHDL real que se desarrolló para programar la placa FPGA siguiendo el proceso de Gate Synthesis and Co-Simulation que luego generó el bit que puede ser descargado en la placa.) Durante la implementación, la función de la placa del controlador Pmod, como se muestra en la Figura 3, es transferir la cantidad mínima de energía necesaria para encender el motor paso a paso con la ayuda de un cable de puente conectado entre la placa FPGA y el motor paso a paso.
Figura 5. Diagrama de flujo de código VHDL
Figura 6. Codigo VHDL
View more...
Comments