Vol. 3# Número 1# Año 2023# Revista Impacto# ISSN 2789-861X Pág. 27 de 38
Artículo publicado en acceso abierto
bajo la Licencia CC BY 4.0.
Artículo de investigación
Control de servomotor con el microcontrolador empotrado
MicroBlaze MCS
Federico Fernández
Facultad Politécnica, Universidad Nacional de Asunción, San Lorenzo, Paraguay.
Autor de correspondencia: Federico Fernández; fefernandez@pol.una.py
Recibido: 29/06/2023 Aceptado: 12/10/2023
Resumen
Los sistemas automáticos que utilizan servomotores deben contar con un mecanismo que
garantice su funcionamiento en cuanto a precisión y fiabilidad. Uno de ellos es la modulación
de ancho de pulso o Pulse Width Modulation (PWM), que modifica el ancho del pulso de una
señal digital a fin de controlar la energía suministrada a un servomotor. Este mecanismo se
ha realizado con diferentes tecnologías como controladores lógicos programables (PLC),
microprocesadores, circuitos integrados, etc. Con la aparición de los Field Programable Gate
Array (FPGA) ha surgido la posibilidad que, a diferencia de las otras tecnologías, se pueda
diseñar un microcontrolador empotrado a medida, con la posibilidad de reconfigurar el diseño
original, a fin de adaptarse a eventuales modificaciones en el tamaño del proceso mediante la
reprogramación del hardware de la FPGA. El propósito de este trabajo es presentar un
microcontrolador empotrado PWM basado en MicroBlaze MCS para controlar un servomotor
mediante la modificación del ciclo de trabajo, y por tanto del Duty Cycle, de una señal periódica
a una frecuencia fija siendo los resultados satisfactorios, pudiendo el mismo ser ampliado a
más servomotores.
Palabras clave: PWM, FPGA, MicroBlaze MCS.
Abstract
Automatic systems that use servomotors must have a mechanism that guarantees their
operation in terms of precision and reliability. One of them is Pulse Width Modulation (PWM),
which modifies the pulse width of a digital signal in order to control the power supplied to a
servo motor. This mechanism is typically made using technologies such as programmable
logic controllers (PLC), microprocessors, integrated circuits, etc. With the appearance of the
Field Programmable Gate Array (FPGA), there is the possibility to integrate such systems into
a custom FPGA-based embedded microcontroller that allows reconfiguring the original design
to adapt to eventual changes in the size of the process. The purpose of this work is to present
an embedded PWM microcontroller based on a MicroBlaze MCS microcontroller to control a
Fernández, F. Control de servomotor con el microcontrolador Empotrado MicroBlaze MCS.
Vol. 3# Número 1# Año 2023# Revista Impacto# ISSN 2789-861X Pág. 28 de 38
servomotor by modifying the Duty Cycle of a periodic signal at a fixed frequency. The results
of this work are satisfactory, allowing the control of several servomotors.
Keywords: PWM, FPGA, MicroBlaze MCS.
1. Introducción
El control de motores ha sido objeto de la utilización de numerosas técnicas para su
implementación, debido a su uso extensivo en todos los campos en donde se necesite el
control de un proceso secuencial. Una de las más utilizadas para controlar la energía
suministrada a una carga a fin de modificar su funcionamiento, ha sido la modulación de ancho
de pulso o Pulse Width Modulation (PWM). Este sistema de control, utiliza la variación del
ciclo de trabajo o Duty Cycle. El ciclo de trabajo de una señal periódica es el ancho de su
parte positiva, con respecto al periodo de la señal. El mismo esta expresado en porcentaje
por lo que un Duty Cycle de 10% indica 10 de 100 a nivel alto.
Figura 1. Diferentes valores de Duty Cycle (2). Duty Cycle = t/T en donde t es el tiempo que
la señal está en su nivel alto y T es el periodo de la señal o sea el tiempo que tarda en repetirse
a sí misma.
En la figura 1 se pueden observar diferentes valores de Duty Cycle, 0%, 25%, 50%, 75% y
100%. Cuanto mayor sea el porcentaje, mayor energía será suministrada a la carga para su
aplicación en el control de motores, señales luminosas, señales de audio etc., siendo su uso
muy común en aplicaciones industriales, automovilísticas, espaciales, aeronáuticas, etc. (1,4).
Fernández, F. Control de servomotor con el microcontrolador Empotrado MicroBlaze MCS.
Vol. 3# Número 1# Año 2023# Revista Impacto# ISSN 2789-861X Pág. 29 de 38
Se han utilizado diferentes tecnologías para implementar un controlador PWM que van desde
transistores, circuitos integrados, temporizadores, microcontroladores, controladores lógicos
programables, etc. (5,8).Todas funcionan aceptablemente, pero en este caso se utiliza un
controlador PWM basado en FPGA (Field Programmable Gate Array) aprovechando la
facilidad que brinda esta tecnología para utilizar un microcontrolador empotrado MicroBlaze
MCS (MicroBlaze Micro Controller System), reduciendo el tiempo de diseño del mismo ya que
es una librería IP disponible dentro de las herramientas suministradas por el fabricante AMD.
Se han realizado controladores con diferentes diseños, como el uso de lenguajes como
Verilog o VHDL que presentan bastante complejidad o utilizando las librerías IP que reducen
el tiempo de desarrollo y disminuyen la complejidad del diseño, contando en ambos casos con
las ventajas que tienen las FPGAs de funcionar como un instrumento de control con sus
características de paralelismo y reconfiguración. (9,10).
Dentro de las familias de las FPGA de AMD, se destaca una herramienta llamado MicroBlaze
que es un microprocesador de propósito general que se forma a partir de la utilización de los
recursos ubicados dentro de la FPGA. MicroBlaze es un procesador descrito en VHDL y
mediante este lenguaje se describe la arquitectura que compone el procesador dentro de la
FPGA. Su arquitectura interna es de tipo Harvard de 32 o 64 bits. Con el MicroBlaze se
suministran muchos periféricos, con lo cual se puede formar un microprocesador completo a
medida como: controlador de memoria (SRAM, Flash), Controlador de memoria SDRAM,
UART lite, Temporizador/ contador, Interfaz SPI, controlador de interrupción, GPIO (entradas-
salidas genéricas), Convertidores Delta-Sigma A/D y D/A y DMA. Los datos y el programa se
almacenan en una memoria local, la depuración la facilita el módulo de depuración MicroBlaze
(MDM).
Ahora bien, como la aplicación es de uso industrial por lo general se utilizan
microcontroladores ya que su diseño interno es más simple y ejecuta las órdenes con más
velocidad. Por ello AMD tiene una versión más simplificada del MicroBlaze que puede ser
utilizado como un microcontrolador siendo este el MicroBlaze MCS (11,20). Incluye un
conjunto estándar de periféricos, que proporcionan funcionalidad básica como un controlador
de interrupción, UART, temporizadores y entradas y salidas de uso general. MicroBlaze MCS
se presenta como un sistema preconfigurado que incluye el procesador de software RISC de
32 bits en modo de canalización de 3 etapas, acceso a la memoria local, un módulo I/O
acoplado y un conjunto estándar de periféricos de microcontrolador. A través de una interfaz
gráfica se puede configurar MicroBlaze MCS para un rendimiento óptimo, en el menor espacio
y tiempo de diseño posible. Como es un procesador empotrado, el mismo es creado a partir
de los componentes de la FPGA pudiendo crearse varios microcontroladores que pueden
trabajar de manera independiente o conjuntamente, dependiendo del número de
Fernández, F. Control de servomotor con el microcontrolador Empotrado MicroBlaze MCS.
Vol. 3# Número 1# Año 2023# Revista Impacto# ISSN 2789-861X Pág. 30 de 38
microcontroladores que se quiere utilizar y del modelo de FPGA utilizado en su diseño. Para
el diseño hardware del proyecto que incluye el MicroBlaze MCS, los periféricos y restricciones
se utiliza el Vivado IDE, mientras que para la programación en lenguaje C, para darle
funcionalidad al diseño hardware, se utiliza en entorno SDK. El Software Development Kit
(SDK) es un entorno de desarrollo integrado (IDE) para el uso en aplicaciones de software
dirigidas a procesadores integrados AMD. SDK funciona con diseños de hardware creados
con Vivado Design Suite. Como cualquier sistema de control que afecta a un motor, siempre
está presente una interface entre la etapa de control y la etapa de potencia, en este caso se
utiliza un driver Pmod Con3 de Digilent (12), que puede manejar hasta cuatro servos
simultáneamente. Finalmente, la carga es un servo motor GWS servo (13) que se puede
utilizar en varias aplicaciones. En este punto se debe plantear porque se ha optado por utilizar
como controlador una FPGA y no un microcontrolador de propósito general o MCU. Algunas
ventajas importantes de las FPGAs son su programación hardware, alto poder de
procesamiento, es ideal para aplicaciones complejas y algo muy importante tiene capacidad
de procesamiento paralelo, mientras que las ventajas de los microcontroladores son su
compatibilidad con muchos lenguajes de programación, disponibilidad de herramientas de
código abierto, fáciles de usar y asequibles. Otra ventaja de utilizar las FPGAs es que su
aplicación en lugares de riesgo potencial, para el hardware del sistema como centrales
nucleares o dispositivos espaciales, en donde existe la posibilidad de que un componente del
diseño pueda ser afectado por el impacto de una partícula de alta energía que puede provocar
errores transitorios o irreversibles (16,17,18). Mediante la utilización de la reconfiguración
parcial dinámica es posible volver a reconfigurar el área afectada y volver a integrarlo dentro
del proceso en ejecución sin la necesidad de detener el funcionamiento de todo el sistema y
la posibilidad de hacerlo a distancia (17, 18, 19). En este punto se debe puntualizar que la
posibilidad de realizar la reconfiguración parcial dinámica es una ventaja que solo brindan las
FPGAs a diferencia de otras tecnologías, por lo que la propuesta se presenta con esa ventaja
sobre otras tecnologías de control utilizando PWM.
2. Materiales y Métodos
El sistema diseñado consta de una placa Nexys 4 de Digilent que utiliza un FPGA Artix 7 de
AMD. El controlador del motor es un Pmod CON3 que entrega 50 a 300 pulgadas de torque,
utilizados en drones, automóviles a escala controlados por radio y proyectos de mecatrónica.
El diseño hardware fue realizado con Vivado 2019.1 y la funcionalidad del mismo fue realizada
en lenguaje C mediante el entorno de desarrollo Software Development Kit (SDK) 2019.1
ambos también de AMD. Las señales generadas son monitorizadas mediante Analog
Discovery 2 que es un procesador de señales con múltiples funcionalidades.
Fernández, F. Control de servomotor con el microcontrolador Empotrado MicroBlaze MCS.
Vol. 3# Número 1# Año 2023# Revista Impacto# ISSN 2789-861X Pág. 31 de 38
La programación Hardware se realiza utilizando herramientas IP (intellectual property)
suministrados con el entorno de Vivado 2019.1 para la etapa de diseño y configuración del
microcontrolador MicroBlaze MCS, siendo Verilog el lenguaje elegido para el diseño de las
interfaces del microcontrolador. La señal de control sale de la placa de desarrollo a través de
cualquiera de las interfaces de salida Jx, de la placa de desarrollo y va directamente a la
interface de la carga a controlar en este caso un servomotor GWS Servo.
A fin de verificar el funcionamiento del diseño se monitoriza la señal PWM externamente
mediante el analizador lógico Analog Discovery 2 de Digilent. En la Figura 2 se observan todos
los componentes del proyecto.
Figura 2. Componentes del proyecto
En la figura 3 se observa el diseño modular del proyecto.
Figura 3. Diseño modular
La funcionalidad del hardware diseñado se da mediante el uso del editor de lenguaje C incluido
en el SDK.
Fernández, F. Control de servomotor con el microcontrolador Empotrado MicroBlaze MCS.
Vol. 3# Número 1# Año 2023# Revista Impacto# ISSN 2789-861X Pág. 32 de 38
3. Resultados y Discusión
En todos los casos se presenta como resultado las capturas de pantalla del Analog Discovery
2 configurado en modo osciloscopio ya que este instrumento tiene diferentes funcionalidades.
Vemos en la Figura 4 que la duración del periodo que es de 2,57 microsegundos que será
una constante ya que se irá modificando el ciclo de trabajo para determinar la energía que
entrega el controlador. El ciclo de trabajo es de 544,9 nanosegundos equivalentes a 0.544
microsegundos, siendo su Duty Cycle de 21 %, es decir, la transferencia de energía es baja.
Figura 4. Duty Cycle de 18%
Fernández, F. Control de servomotor con el microcontrolador Empotrado MicroBlaze MCS.
Vol. 3# Número 1# Año 2023# Revista Impacto# ISSN 2789-861X Pág. 33 de 38
En la Figura 5 se observa una entrega de energía mayor con un ciclo de trabajo de 1,003
microsegundos con un Duty Cycle del 38,9 %.
Figura 5. Duty Cycle de 38,9%
Fernández, F. Control de servomotor con el microcontrolador Empotrado MicroBlaze MCS.
Vol. 3# Número 1# Año 2023# Revista Impacto# ISSN 2789-861X Pág. 34 de 38
En la Figura 6 se observa una entrega mayor con un ciclo de trabajo de 1,524 microsegundos
y un Duty Cycle del 59%.
Figura 6. DutyCycle de 62%
Fernández, F. Control de servomotor con el microcontrolador Empotrado MicroBlaze MCS.
Vol. 3# Número 1# Año 2023# Revista Impacto# ISSN 2789-861X Pág. 35 de 38
Finalmente, en la Figura 7 se observa un ciclo de trabajo de entrega mayor con un ciclo de
trabajo de 2,018 microsegundos y un Duty Cycle del 79,2%.
Figura 7. DutyCycle de 79,2%
En este trabajo por simplicidad se ha desarrollado una sola salida para controlar un
servomotor, pero el mero de los mismos se puede aumentar según necesidad hasta 24
servomotores lo que da una idea de las amplias posibilidades que presenta este proyecto.
Este número de salidas se debe a la posibilidad que brinda la placa Nexys 4 de poder conectar
hasta 24 pines de E/S gracias a sus terminales Pmods. Con ello es posible realizar el control
de numerosos servomotores, ya sea con el mismo o diferentes Duty Cycles según las
Fernández, F. Control de servomotor con el microcontrolador Empotrado MicroBlaze MCS.
Vol. 3# Número 1# Año 2023# Revista Impacto# ISSN 2789-861X Pág. 36 de 38
necesidades de control que tienen los diferentes motores, siendo una herramienta útil para su
utilización en sistemas complejos de control secuencial.
4. Conclusiones
Los resultados obtenidos son satisfactorios. La novedad u originalidad de la propuesta es de
utilizar el microcontrolador empotrado MicroBlaze MCS, que a diferencia del microprocesador
de propósito general MicroBlaze, consume menos recursos de la FPGA y por tanto consume
menos energía, factor no menos importante en procesos industriales. Además, al utilizar
menos recursos disponibles, se puede implementar un mayor número de microcontroladores
dentro de la misma placa con lo que se gana en paralelismo y multiprocesamiento
aumentando el potencial del sistema desarrollado.
Conflicto de interés: El autor declara que no existe ningún conflicto de interés con respecto
a la publicación de este artículo.
Bibliografía
1. REY, Marcia Simone. La escasez de Agua en el mundo y la importancia del Acuífero
Guaraní para Sudamérica: Relación abundancia- escasez Online. 2007.
[Accessed 29 September 2022]. Available from: www.caei.com.ar
2. TZANAKAKIS, Vasileios A., PARANYCHIANAKIS, Nikolaos V. and ANGELAKIS, Andreas
N. Water supply and water scarcity. Water. 2020. Vol. 12, no. 9. DOI 10.3390/w12092347.
3. GONZÁLEZ, María Carmenza, SANDARRIAGA, Gabriel de Jesús and JARAMILLO, Omar.
Estimación de la demanda de agua. In: Estudio nacional del agua 2010. 2010. p. 421.
ISBN 9789588067322.
4. MOLLE, François and MOLLINGA, Peter. Water poverty indicators: Conceptual problems
and policy issues. Water Policy. 2003. Vol. 5, no. 56, p. 529544.
DOI 10.2166/wp.2003.0034.
5. MINISTERIO DE AMBIENTE, Vivienda y Desarrollo Territorial. Resolución 865:
Metodología para el cálculo del índice de escasez para aguas superficiales Online. Bogotá,
Colombia, 2004. Available from:
https://www.corpamag.gov.co/archivos/normatividad/Resolucion865_20040722.htm
6. ECOSISTEMA URBANO. Plan Encarnación Más - Plan de Desarrollo Sustentable y Plan
de Ordenamiento Territorial de la ciudad de Encarnación, Paraguay. Diagnóstico y Objetivos
- Parte 3 - Morfología Urbana. 2016.
Fernández, F. Control de servomotor con el microcontrolador Empotrado MicroBlaze MCS.
Vol. 3# Número 1# Año 2023# Revista Impacto# ISSN 2789-861X Pág. 37 de 38
7. ECOSISTEMA URBANO. Plan Encarnación Más - Plan de Desarrollo Sustentable y Plan
de Ordenamiento Territorial de la ciudad de Encarnación, Paraguay. Diagnóstico y Objetivos
- Parte 2 - Medioambiente y Territorio. 2016.
8. OEA. METODOLOGÍA PARA EL CÁLCULO DEL ÍNDICE DE ESCASEZ DE AGUA
SUPERFICIAL. Lima, 2004.
9. COSTA, Carlos, DOMÍNGUEZ, Efraín, RIVERA, Hebert and VANEGAS, Raquel. El índice
de escasez de agua ¿un indicador de crisis o una alerta para orientar la gestión del recurso
hídrico? Revista de ingeniería. 2005. Vol. 22.
10. PROGRAMA DE LAS NACIONES UNIDAS PARA EL DESARROLLO. Usos y
gobernabilidad del agua en el Paraguay. 2006.
11. MUSÁLEM, Karim. Assessing integrated watershed management and spatial groundwater
vulnerability to pollution in priority watersheds of the Yacyreta dam in Paraguay. Online.
Dissertation for the Degree of Doctor of Philosophy. Turrialba: University of Wales (Bangor
University) and Tropical Agricultural Research and Higher Education Center (CATIE), 2010.
Available from: https://www.researchgate.net/publication/263444873
12. DGEEC. Censo nacional de población y viviendas. Resultados preliminares. 2012.
13. ECOSISTEMA URBANO. Plan Encarnación Más - Plan de Desarrollo Sustentable y Plan
de Ordenamiento Territorial de la ciudad de Encarnación, Paraguay. Diagnóstico y Objetivos
- Parte 6 - Sociedad. 2016.
14. SERVÍN, María Rosa and ORTIZ, Amado. Vulnerabilidad a la contaminación de aguas
subterráneas en sistemas de abastecimiento comunitario de Encarnación - Paraguay. Ciencia
Latina Revista Científica Multidisciplinar. December 2021. Vol. 5, no. 6, p. 1348613507.
DOI 10.37811/cl_rcm.v5i6.1338.
15. MUÑOZ, Cristina Solana. Nota N
o
648/2022 del 25 de agosto de 2022. Asunción, 2022.
16. INE. Instituto Nacional de Estadística. Itapúa Proyecciones de población por sexo y edad,
2023. Online. [Accessed 19 June 2023]. Available from:
https://www.ine.gov.py/Publicaciones/Proyeciones%20por%20Departamento%202023/07_It
apua_2023.pdf
17. MUNICIPALIDAD DE ENCARNACIÓN. Patentes municipales. Encarnación, 2015.
18. GLOBAL CONSULTORES. Gestión integrada de las cuencas de los arroyos Mbói Cae y
Quiteria. 2008.
19. FAO. BOLETÍN 56. Evapotranspiración del cultivo. Guías para la determinación de los
requerimientos de agua de los cultivos. Online. Roma: FAO, 2006.
[Accessed 30 November 2022]. Available from: https://www.fao.org/3/x0490s/x0490s.pdf
20. NATIONAL ACADEMY OF SCIENCES. Effect of Environment on Nutrient Requirements
of Domestic Animals. 1981. ISBN 0309533740.
Fernández, F. Control de servomotor con el microcontrolador Empotrado MicroBlaze MCS.
Vol. 3# Número 1# Año 2023# Revista Impacto# ISSN 2789-861X Pág. 38 de 38
21. GUTIERREZ, Claudia, MENA, Cielo and CIFUENTES, Jessica. Cálculo del índice de
escasez de la cuenca del río Opia - departamento del Tolima. Trabajo de especialización.
Bogotá: Universidad Católica de Colombia, 2015.