INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica
Unidad Azcapotzalco
Circuito 2
Materia: Electrónica
Grupo: 5RV2
Profesor: Alfonso Saucedo Avila
Alumnos:
● González Ortiz Diego
● Huerta Silva Edgar Rodrigo
● Mejia Cruz Luis Adolfo
1. Introducción
El control preciso y seguro de actuadores electromecánicos es uno de los pilares
fundamentales en el desarrollo de sistemas automatizados y de la robótica
industrial. Dentro de estos actuadores, el motor de corriente directa (CD) destaca
por su versatilidad y facilidad para controlar variables como la velocidad y el sentido
de giro. Sin embargo, su integración con sistemas de control digital de alta
densidad, como las Matrices de Puertas Lógicas Programables (FPGA), requiere un
diseño riguroso que contemple tanto la lógica secuencial de operación como la
integridad de los componentes electrónicos.
En este reporte se detalla el diseño, simulación e implementación de un sistema
digital en una FPGA Cyclone IV (modelo EP4CE6E22C8N) para controlar la
inversión de giro y el paro de un motor de CD. El desarrollo del proyecto se divide
en dos áreas críticas:
1. Diseño Lógico con Restricción de Seguridad (Enclavamiento): Mediante la
programación en un lenguaje de descripción de hardware (HDL), se
desarrolla una Máquina de Estados Finitos (FSM). Esta lógica procesa las
señales de tres botones pulsadores (Giro Derecha, Giro Izquierda y Paro)
bajo una restricción estricta de seguridad: si el motor se encuentra activo en
cualquier sentido, el sistema ignorará de forma automática cualquier orden de
cambio de giro o re-activación. El sistema únicamente aceptará una nueva
instrucción de movimiento tras haber pasado por el estado de paro absoluto,
previniendo así cortocircuitos térmicos o daños mecánicos por inversiones
bruscas de polaridad.
2. Objetivo
Diseñar e implementar un sistema de control de giro para un motor de corriente
directa utilizando una FPGA Cyclone IV (EP4CE6E22C8N), integrando una etapa de
aislamiento y potencia, y programando restricciones lógicas de seguridad operativa.
3. Marco Teórico
Para comprender el funcionamiento global del sistema de control implementado, es
necesario analizar los fundamentos tanto de la plataforma de desarrollo digital como
de los componentes periféricos de acoplamiento y potencia.
3.1. Arquitectura de la FPGA Cyclone IV (EP4CE6E22C8N)
Una Matriz de Puertas Lógicas Programables (FPGA, por sus siglas en inglés) es un
dispositivo semiconductor que contiene bloques lógicos configurables (LEs) e
interconexiones programables. La FPGA Intel/Altera Cyclone IV modelo
EP4CE6E22C8N cuenta con aproximadamente 6,272 elementos lógicos, memoria
embebida y lazos de seguimiento de fase (PLL).
Una de las especificaciones críticas en este diseño es que sus pines de
Entrada/Salida (I/O) operan bajo el estándar TTL/CMOS a un voltaje nominal de
3.3V, entregando corrientes máximas de salida que oscilan entre los 4 mA y 25 mA
por pin. Debido a estas limitantes físicas, cualquier intento de conectar una carga de
alta demanda de corriente o de naturaleza inductiva dañaría irreversiblemente las
compuertas internas del silicio.
3.2. Máquinas de Estados Finitos (FSM) y Lógica Secuencial
A diferencia de la lógica combinacional, donde las salidas dependen únicamente del
valor presente de las entradas, la lógica secuencial introduce el concepto de
memoria. Una Máquina de Estados Finitos (FSM) es un modelo de comportamiento
compuesto por un número finito de estados, transiciones entre dichos estados y
acciones.
Para cumplir con la restricción de seguridad del circuito (bloquear cambios de giro
abruptos), se utiliza una FSM de tipo Moore, donde las salidas dependen
exclusivamente del estado actual del sistema. El almacenamiento del estado se
logra mediante biestables (Flip-Flops) sincronizados por una señal de reloj (clock), lo
que permite enclavar de forma segura las señales de control de los botones
pulsadores.
3.4. Inversión de Giro mediante Puente H y Protección Inductiva
Para invertir el sentido de giro de un motor de CD, es imperativo conmutar la
polaridad del voltaje aplicado a sus terminales. El circuito estándar industrial para
este propósito es el Puente H, constituido por cuatro interruptores de potencia
(transistores BJT, MOSFETs o relevadores) dispuestos en una configuración en
forma de "H".
4. Materiales y Equipo
● Tarjeta FPGA Cyclone IV (EP4CE6E22C8N).
● Motor de CD.
● 3 Botones pulsadores (Normalmente Abiertos: Giro Derecha, Giro Izquierda,
Paro).
● Módulo Puente H ( l298n).
● Fuentes de alimentación (una de 3.3V para lógica y otra de 12v
independiente para el motor).
5. Diseño del Sistema
A. Diseño Lógico (La FPGA)
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity PROYECTO4 is
Port (
BP : in STD_LOGIC; --Boton paro de emergencia.
BH : in STD_LOGIC; --Giro Horario
BAH : in STD_LOGIC; --Giro Anti horario
A : out STD_LOGIC; --Salida Horaria
B : out STD_LOGIC; --Salida Anti horarioa
LR : out STD_LOGIC; --Led indicador Horario
LV : out STD_LOGIC --Led indicador Anti horarioa
);
end PROYECTO4;
architecture Behavioral of PROYECTO4 is
signal A_interna : STD_LOGIC := '0';
signal B_interna : STD_LOGIC := '0';
-- Creamos señales internas para "voltear" los botones físicos
signal BP_act : STD_LOGIC;
signal BH_act : STD_LOGIC;
signal BAH_act : STD_LOGIC;
begin
-- 1. Acondicionamiento de entradas (Convertimos de Lógica Negativa a
Positiva)
-- Ahora, cuando presiones el botón, estas señales valdrán '1'
BP_act <= not BP;
BH_act <= not BH;
BAH_act <= not BAH;
-- 2. Tu misma lógica matemática intacta, pero usando las señales
acondicionadas
A_interna <= (BH_act or A_interna) and (not B_interna) and (not BP_act);
B_interna <= (BAH_act or B_interna) and (not A_interna) and (not BP_act);
-- 3. Salida para el puente H
A <= A_interna;
B <= B_interna;
--[Link] indicadores.
LR <= A_interna;
LV <= B_interna;
end Behavioral;
6. Código
7. Implementación Física y Pruebas
● Fotografías del circuito armado (protoboard y FPGA).
Descripción del Funcionamiento Paso a Paso
Paso 1: Estado de Reposo (Inicialización)
● Acción: Se energiza el circuito. No se ha presionado ningún botón.
● Proceso interno en la FPGA: La FSM se posiciona en el Estado de
Reposo (IDLE). Las salidas lógicas asignadas en el archivo de restricciones
de pines se mantienen en un nivel bajo estricto: Out_Der = 0 y Out_Izq = 0.
● Efecto en la potencia y el motor: Al no haber voltaje en las salidas de la
FPGA, los LEDs permanecen apagados. El Puente H recibe IN1 = 0 e IN2 = 0,
manteniendo sus cuatro transistores en corte (abiertos). El motor permanece
completamente detenido.
Paso 2: Activación del Giro a la Derecha (Horario)
● Acción: Al presionar momentáneamente el botón Btn_Der.
● Proceso interno en la FPGA: Al recibir un flanco de subida ('1' lógico) en el
pin de entrada de Btn_Der, la FSM evalúa su estado actual. Como se
encuentra en IDLE, la transición es válida y la máquina cambia al Estado:
Girando Derecha. En este estado, la FPGA conmuta la salida Out_Der =
1mientras mantiene Out_Izq = 0.
● Efecto en la potencia y el motor: 1. El pin Out_Der inyecta corriente al LED
del primer optoacoplador, encendiéndolo.
● 2. El fototransistor del optoacoplador se satura y envía una señal de voltaje
de control a la entrada IN1 del Puente H.
● 3. El Puente H cierra los interruptores cruzados correspondientes. La
corriente fluye de izquierda a derecha a través de las terminales del motor. El
motor arranca y gira en sentido horario.
Paso 3: Bloqueo por Restricción de Seguridad (Intento de inversión
brusca)
● Acción: Con el motor aún girando a la derecha, el operador presiona el botón
de Btn_Izq (o vuelve a presionar Btn_Der).
● Proceso interno en la FPGA: La lógica de la FSM se encuentra "enclavada"
en el Estado: Girando Derecha. De acuerdo con el código programado, las
transiciones de salida de este estado ignoran por completo las entradas de
Btn_Der y Btn_Izq. La única entrada que el reloj del sistema (clk) monitorea
para romper el lazo es Btn_Paro.
● Efecto en la potencia y el motor: Las salidas de la FPGA no sufren ninguna
alteración (Out_Der sigue en '1' y Out_Izq en '0'). El motor continúa girando
a la derecha sin inmutarse. Esto previene un cortocircuito en el Puente H
(que ocurriría si se activaran IN1 e IN2 al mismo tiempo) y protege
mecánicamente el eje de un frenado brusco.
Paso 4: Activación del Botón de Paro
● Acción: Al presionar el botón Paro.
● Proceso interno en la FPGA: La FSM detecta el '1' lógico en la entrada
Btn_Paro. Al ser la única condición de salida válida para el estado actual, la
máquina rompe el enclavamiento y transita de regreso al Estado de Reposo
(IDLE). Inmediatamente, la salida Out_Der cae a '0'.
● Efecto en la potencia y el motor: El optoacoplador se desactiva, cortando la
señal en IN1 del Puente H. Los transistores se abren y el motor deja de
recibir energía.
● Acción de protección: En la fracción de segundo en que el motor se apaga,
la energía magnética almacenada en sus bobinas genera un pico de voltaje
inverso. Los diodos flyback entran en conducción directa, canalizando de
forma segura esa corriente residual hacia la fuente de alimentación, evitando
que queme los transistores del Puente H. El motor se detiene por
completo.
Paso 5: Activación del Giro a la Izquierda (Antihorario)
● Acción: Con el motor ya detenido, el operador presiona el botón Btn_Izq.
● Proceso interno en la FPGA: Al estar la FSM nuevamente en IDLE, el
sistema se encuentra receptivo. La pulsación cambia el sistema al Estado:
Girando Izquierda, activando la salida Out_Izq = 1 y manteniendo Out_Der =
0.
● Efecto en la potencia y el motor: Se activa el segundo optoacoplador,
enviando la señal a la entrada IN2 del Puente H. Los transistores opuestos a
los del Paso 2 se cierran, invirtiendo la polaridad del voltaje aplicado al motor.
El motor arranca y gira en sentido antihorario.
Cualquier intento de presionar Btn_Der en este punto volverá a ser bloqueado por la
FSM (repitiendo la lógica del Paso 3), cerrando así el ciclo seguro de operación
industrial.
8. Conclusiones
● Sobre el diseño lógico y seguridad:. Al condicionar la transición de estados
únicamente a través de un estado intermedio de "Paro", se eliminó por
completo el riesgo de activar ambas ramas del Puente H de forma
simultánea. En un entorno industrial real, esta validación lógica previene
cortocircuitos en la línea de potencia y fallas mecánicas.