Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. Objetivo
Revisar y analizar los requerimientos del proyecto es crítico el control del brazo robótico para movimientos
de rápida estabilización y frenado suave. Por ello, se desea implementar un control PID para una rápida
estabilización aplicada a los motores de un brazo robótico EOD con un feedback basado en un encoder
rotatorio de bajo costo y posicionamiento del brazo robótico de 5 grados de libertad, en función del estado del
arte y reuniones con la Unidad de Desactivación de Explosivos de Arequipa.
2. Resumen
La tecnología robótica se desarrolla rápidamente. Un tipo de robot comúnmente utilizado a escala industrial es
un manipulador robótico o un brazo robótico. En este informe, se diseña y construye un prototipo de brazo
robótico 5-DOF usando Solidworks. Las juntas son accionadas por un motor de CC de imanes permanentes
acoplado con codificadores.
Este articulo presenta una siguiente versión mejorada del control de un brazo robotico EOD JVC-0.2 el cual
posee motores Whiper de bajo costo, en la cual se va implementar un prototipo del control de posicionamiento
con encoder del primer eslabón del brazo robótico EOD JVC-0.2 y que posea rápida estabilización y una
precisión de +/- x grados. Se utilizo un encoder rotatorio magnético AS5600 acoplado al eje de salida del
motor instalado para medir la posición y velocidad del eslabón y se aplico un control proporcional de lazo
cerrado para seguir una posición deseada y lograr una mejor respuesta del motor. Los resultados de las
pruebas con el prototipo demuestran un mejor control con rápida estabilización y precisión dada para
aplicaciones EOD.
3. Introducción
A nivel mundial se tiene registrados los ataques con dispositivos explosivos improvisados (IED) que son
utilizados para actos criminales, vandalismo y terrorismo debido a que posee la facilidad de adquirirse en
muchas formas y causar enorme daño y pérdida de vidas [1]. El robot de desactivación de artefactos
explosivos (EOD, por sus siglas en inglés) es un robot móvil, que se utiliza como alternativa para el agente
UDEX, con el fin de llevar a cabo la inspección, toma del artefacto con la pinza, y desactivación del material
explosivo sin explotar durante las operaciones de EOD para minimizar el riesgo de vida humana [2]. Según
las pruebas en el robot MK2 se observó que presenta una alta demanda mental en la manipulación del
artefacto explosivo por ello se plantea implementar un control optimo del brazo robótico [2]. El brazo robótico
es posible operarlo de forma manual o semiautónoma a través de joysticks [3], para ayudar al agente UDEX
en manipular el brazo robótico en operaciones EOD.
Por otro lado, el brazo robótico JVC-0.2 actualmente ha sido diseñado para ser utilizado en entornos de
peligro de explosivos, salvaguardando la seguridad los agentes de la unidad de desactivación de
explosivos (UDEX-AQP). Sin embargo, presenta limitaciones en su sistema de control. Este brazo robótico
CONTROL Y ENCODER UNSA Pa´gina 1
Contrato PE501079565-2022-PROCIENCIA
está equipado con motores Whiper de bajo costo y utiliza una ley de control básica en lazo abierto sin encoder,
lo que resulta en una baja estabilidad y precisión en el posicionamiento. Estas deficiencias son críticas en
situaciones EOD, donde la manipulación precisa de artefactos explosivos es de vital importancia para
garantizar la seguridad del personal. Por lo tanto, existe una clara necesidad de desarrollar un control de
posicionamiento mejorado para el motor DC del brazo robótico JVC-0.2.
Las técnicas clásicas de control de motores han sido ampliamente utilizadas durante décadas, siendo el control
PID (Proporcional, Integral, Derivativo) uno de los métodos más comunes, con el ajuste de tres parámetros de
sintonización que puede manejar tanto las respuestas transitorias como las de estado estacionario. El diseño y
ajuste de un controlador PID parece ser conceptualmente intuitivo, pero puede ser difícil implementarlo en la
práctica, si se deben lograr objetivos múltiples (y a menudo contradictorios), como transitorios cortos y alta
estabilidad [4]. En otro artículo se implementó un control PID modificado utilizando un controlador difuso
adaptativo. El FLC adaptativo produce valores de corrección para los parámetros de sintonización del
controlador PID convencional. Se demostró un rendimiento superior en el PID modificado para el seguimiento
de la velocidad de referencia y la perturbación de la carga [5]. En este otro artículo se implementó un sistema
SISO y se empleó un controlador PI. Los resultados demostraron la eficacia del control [6]. En este otro
artículo describe la optimización del control PID de un motor brushed DC (BDCM) y utilizando un encoder
rotatorio magnético de bajo costo. Optimizó las lecturas instantáneas de velocidad angular del enconder
rotatorio magnético de bajo costo mediante un procedimiento de calibración y corrección de esas lecturas [7].
En este otro artículo muestra cómo la plataforma de código abierto Arduino UNO se puede utilizar para el
control de posición de motores de BDCM con encoder, utilizando una ley PID programada [8]. En este otro
artículo, se analiza el efecto del uso del filtro de promedio móvil con el controlador PID para controlar la
velocidad del motor BDCM con un sensor de velocidad ruidoso [9].
Evidentemente estas otras investigaciones han implementado controladores PID modificados para mejorar la
respuesta a la velocidad deseada y robustez a las perturbaciones, también filtrando las lecturas del encoder
rotatorio magnético. Pero para la aplicación EOD, y bajo los lineamientos del proyecto se requiere el control
de posicionamiento del motor Brused DC (BDCM) con encoder rotatorio magnético, utilizando el PID
convencional con un filtro de media móvil para lograr una rápida estabilización, frenado suave y precisión de
+/- grados.
4. Equipamiento y configuración
El AS5600 es un sensor de posición giratorio magnético fácil de programar con una salida analógica o PWM
de 12 bits de alta resolución. Este sistema sin contacto mide el ángulo absoluto de un imán en el eje
diametralmente magnetizado. Este AS5600 está diseñado para aplicaciones de potenciómetro sin contacto y su
diseño robusto elimina la influencia de cualquier campo magnético disperso externo homogéneo. La interfaz
I²C estándar de la industria admite la programación de usuario simple de parámetros no volátiles sin necesidad
de un programador dedicado. De forma predeterminada, la salida representa un rango de 0 a 360 grados.
También es posible definir un rango menor a la salida programando un ángulo cero (posición inicial) y un
ángulo máximo (posición final). El AS5600 también está equipado con una función inteligente de modo de
bajo consumo para reducir automáticamente el consumo de energía. Un pin de entrada (DIR) selecciona la
polaridad de la salida con respecto a la dirección de rotación. Si DIR está conectado a tierra, el valor de salida
aumenta con la rotación en el sentido de las agujas del reloj. Si DIR está conectado a VDD, el valor de salida
aumenta con la rotación en sentido contrario a las agujas del reloj.
El AS5600 es compatible con el protocolo esclavo I²C Fast-mode Plus de 2 hilos en modo de dispositivo, de
conformidad con la especificación UM10204 de NXP Semiconductors (antes Philips Semiconductors). Un
dispositivo que envía datos al bus es un transmisor y un dispositivo que recibe datos es un receptor. El
dispositivo que controla el mensaje se llama maestro. Los dispositivos que son controlados por el maestro se
llaman esclavos. Un dispositivo maestro genera el reloj serial (SCL), controla el acceso al bus y genera las
condiciones de ARRANQUE y PARADA que controlan el bus. El AS5600 siempre funciona como esclavo en
el bus I²C. Las conexiones al bus se realizan a través de las líneas de E/S de drenaje abierto SDA y la entrada
SCL. El estiramiento del reloj no está incluido. La MCU anfitriona (maestra) inicia las transferencias de datos.
La dirección esclava de 7 bits del AS5600 es 0x36 (0110110 en binario).
Modos soportados:
Random/Sequential read
Standard-mode
Fast-mode
Fast–mode Plus
La señal SDA es la línea de datos bidireccional. La señal SCL es el reloj generado por el bus maestro I²C para
sincronizar los datos de muestreo de SDA. La frecuencia SCL máxima es de 1 MHz. Los datos se muestrean
en el flanco ascendente de SCL.
El registro RAW ANGLE contiene el ángulo sin escalar ni modificar. El valor de salida escalado y filtrado
está disponible en el registro ANGLE. El registro STATUS proporciona bits que indican el estado actual del
AS5600.
B. MOTOR WHIPER
Par de torsión: El motor Wiper de 30 Nm se caracteriza por su capacidad de generar un par de torsión
máximo de 30 Nm. Este nivel de fuerza es crucial para el funcionamiento efectivo de las escobillas
del limpiaparabrisas, permitiéndoles eliminar de manera eficiente la lluvia, la nieve y la suciedad.
Tamaño y peso: El motor Wiper de 30 Nm se destaca por su diseño compacto y su peso relativamente
ligero. Estas características permiten una instalación conveniente en el mecanismo del
limpiaparabrisas sin ocupar demasiado espacio ni añadir una carga excesiva al vehículo.
Durabilidad y resistencia: Este motor ha sido diseñado para soportar las condiciones adversas a las
que está expuesto en el entorno automotriz. Es resistente al agua, al polvo y a las vibraciones,
garantizando su funcionalidad óptima en diversas condiciones climáticas y de conducción. Su
robustez contribuye a una vida útil prolongada.
CONTROL Y ENCODER UNSA Pa´gina 4
Contrato PE501079565-2022-PROCIENCIA
La curva característica de velocidad vs. torque del motor Wiper de 30 Nm muestra que a medida que aumenta
la carga o resistencia, la velocidad de rotación del motor disminuye mientras que el par de torsión generado
aumenta. Es importante destacar que cada motor Wiper de 30 Nm puede tener ligeras variaciones en su curva
característica de velocidad vs. torque, dependiendo de su diseño específico y de las características del sistema
en el que se encuentra instalado. Sin embargo, el patrón general de aumento de torque a medida que
disminuye la velocidad se mantiene constante en este tipo de motores.
C. ESP32
Procesador dual-core: El ESP32 cuenta con dos núcleos de procesamiento, lo que permite ejecutar
múltiples tareas de manera eficiente y simultánea. Los núcleos pueden trabajar a velocidades de hasta
240 MHz.
Conectividad inalámbrica: El ESP32 es compatible con Wi-Fi 802.11 b/g/n, lo que permite la
conexión a redes inalámbricas. También cuenta con Bluetooth integrado, incluyendo soporte para
Bluetooth de baja energía (BLE).
Memoria: El ESP32 tiene una memoria flash integrada para almacenamiento de programas y datos,
con capacidades que van desde 4 MB hasta 16 MB. También cuenta con una memoria RAM
disponible para la ejecución de programas y almacenamiento temporal de datos.
Bajo consumo de energía: El ESP32 está diseñado para ser eficiente en términos de consumo de
energía, lo que lo hace adecuado para aplicaciones alimentadas por baterías o que requieren una
gestión eficiente de la energía.
Tamaño compacto y bajo costo: El ESP32 se presenta en un paquete compacto, lo que facilita su
integración en proyectos con espacio limitado. Además, su costo asequible lo hace popular para
aplicaciones de bajo presupuesto.
D. BTS7960
El BTS7960 es un controlador de puente H utilizado para controlar motores de corriente continua (DC) en
aplicaciones como robótica, vehículos eléctricos y automatización industrial. A continuación, se describen sus
características principales:
Capacidad de corriente: El BTS7960 puede manejar corrientes de hasta 43 amperios continuos (en
funcionamiento normal) y picos de corriente de hasta 46 amperios. Esto lo hace adecuado para
controlar motores de corriente continua de alta potencia.
Voltaje de operación: El controlador es compatible con una amplia gama de voltajes de alimentación,
típicamente entre 5V y 27V, lo que permite su integración en diferentes sistemas y aplicaciones.
Señales de control: El BTS7960 se controla mediante señales de control de nivel lógico, como PWM
(modulación por ancho de pulso) para controlar la velocidad del motor y señales lógicas para
determinar la dirección de rotación.
Disipador de calor integrado: El controlador BTS7960 está equipado con un disipador de calor
integrado para ayudar a disipar el calor generado durante el funcionamiento del motor. Esto
contribuye a mantener una temperatura de funcionamiento adecuada y prolongar la vida útil del
controlador.
Conexiones y dimensiones: El BTS7960 cuenta con terminales de conexión para los cables de
alimentación y los cables de control del motor. Además, tiene un diseño compacto que facilita su
integración en diferentes proyectos y sistemas.
En resumen, el BTS7960 es un controlador de puente H robusto y versátil, capaz de manejar altas corrientes y
compatible con una amplia gama de voltajes de alimentación. Con su capacidad bidireccional de control de
motores, protecciones integradas y disipador de calor, es una opción popular para el control de motores de
corriente continua en aplicaciones de alta potencia y exigencias industriales.
Masa Distancia Torque max Subida/
Modo Peak Pasos Freno
(Kgr) (m) (N.m) bajada
1,76 / Half
0,75 0,24 3,2 A Default 0,82 A 3A
retención current
1,42 / Half
0,66 0,22 3,2 A Default null null
movimiento current
En el calculo del torque nominal de un motor para cumplir con la necesidad de 191.002 NM, se tiene lo
siguiente:
HOMBRO MOTOR2:
Torque = 192 Nm
Reducción = 100 : 1
Mediante la interfaz del ESP32 y la PC se posiciona el motor mediante un set point dado, este tiene un
rango de 0 a 360 grados sexagesimales.
Realizando las mediciones del encoder AS5600 de la posición instantánea del motor se tiene la
siguiente gráfica:
La cinemática directa, la cinemática inversa y las trayectorias deseadas son conceptos fundamentales en robótica
y describen diferentes aspectos del movimiento y control de robots. A continuación, se explica cada uno de estos
conceptos:
Cinemática inversa: La cinemática inversa se refiere al cálculo de los ángulos de las articulaciones de
un robot para alcanzar una posición y orientación específicas en el espacio. Es el proceso inverso a la
cinemática directa. La cinemática inversa es particularmente útil en tareas de programación y control de
robots, ya que permite determinar los ángulos requeridos para lograr una posición y orientación
deseada del extremo del robot. Esto es especialmente importante en aplicaciones en las que se necesita
un control preciso, como ensamblaje, manipulación o seguimiento de trayectorias específicas.
Trayectorias deseadas: Una trayectoria deseada es una ruta o recorrido que un robot debe seguir para
alcanzar una posición final deseada. Puede ser una línea recta, un arco, una curva o cualquier otro tipo
de recorrido definido en el espacio. Las trayectorias deseadas se utilizan para planificar y controlar el
movimiento de un robot a lo largo de una ruta específica. Pueden ser definidas manualmente por un
programador o generadas automáticamente por algoritmos de planificación de trayectorias. El control
de trayectorias implica el uso de la cinemática directa e inversa para determinar los ángulos de las
CONTROL Y ENCODER UNSA Pa´gina
10
Contrato PE501079565-2022-PROCIENCIA
articulaciones del robot en cada punto de la trayectoria, asegurando así un seguimiento preciso y suave
de la misma.
Para posicionar un brazo, es necesario saber su cinemática directa e inversa. La cinemática directa mide la
posición en la que se encuentra el brazo, por otro lado, la cinemática inversa genera la señal de control para
posicionar el brazo.
Eslabó Өi di ai αi
n
1 q1 d1 a1 pi/2
2 q2 0 a2 0
3 q3 d3 a3 0
4 q4 0 0 pi/2
5 q5 d5 0 0
8. Resultados
La siguiente gráfica muestra la respuesta del control proporcional del motor WIPER:
9. Conclusion
Según el avance alcanzado, se logró realizar el control de posicionamiento del motor WIPER y el
posicionamiento del brazo robótico de 5 grados de libertad desde su cinemática.
Anexos
[4] Kiam Heong Ang, G. Chong and Yun Li, "PID control system analysis, design, and technology," in IEEE
Transactions on Control Systems Technology, vol. 13, no. 4, pp. 559-576, July 2005, doi:
10.1109/TCST.2005.847331.
[5] K. Sharma and D. K. Palwalia, "A modified PID control with adaptive fuzzy controller applied to DC
motor," 2017 International Conference on Information, Communication, Instrumentation and Control
(ICICIC), Indore, India, 2017, pp. 1-6, doi: 10.1109/ICOMICON.2017.8279151.
[6] F. Sado, S. N. Sidek and H. M. Yusuf, "Independent Joint Control of a 3-DOF Robotic System Using PI
Controller," 2014 International Conference on Computer and Communication Engineering, Kuala Lumpur,
Malaysia, 2014, pp. 115-118, doi: 10.1109/ICCCE.2014.43.
[7] Bitriá, R.; Palacín, J. Optimal PID Control of a Brushed DC Motor with an Embedded Low-Cost Magnetic
Quadrature Encoder for Improved Step Overshoot and Undershoot Responses in a Mobile Robot Application.
Sensors 2022, 22, 7817. https://doi.org/10.3390/s22207817.
[8] F. Aguilar-Acevedo and V. Granados Alejo, "Using open-source platform for trajectory control of DC
motors," 2013 IEEE International Autumn Meeting on Power Electronics and Computing (ROPEC), Morelia,
Mexico, 2013, pp. 1-5, doi: 10.1109/ROPEC.2013.6702760.
[9] Mubdir, Bilal. (2021). Effect of Moving Average Filter with PID Controller Using HIL Technique. MINAR
International Journal of Applied Sciences and Technology. 3. 111-122. 10.47832/2717-8234.3-3.14.