SlideShare una empresa de Scribd logo
1 de 26
DC Motor Speed Control with IR Sensor and
FPGA based Embedded SoC with RTOS
GRUPO 1
Camacho Luis
Cano Cristhian
Chicaiza Carmen
Morales David
Docente: Ing. Byron Navas Ph.D.
Objetivo
El objetivo de este laboratorio L4 es diseñar el hardware y software embebido
de un SoC basado en FPGA que correrá una aplicación en un soft-processor
Microblaze, usando Vivado, Vitis, una FPGA Artyx-7 (Basys 3), y el sistema
operativo de tiempo real (RTOS), i.e., FreeRTOS. De esta manera, el estudiante
aplicará los conceptos y metodologías aprendidos durante el curso de Sistemas
Embebidos. El propósito principal de la aplicación es medir la velocidad RPM de
un motor DC usando un sensor IR conectado al XADC del FPGA Artyx-7, y
controlar el movimiento del motor para mantenerlo en un valor fijo. La
aplicación de FreeRTOS es multi-tasking, ejecuta las tareas de acuerdo a una
agenda (schedule), usa colas para comunicación, y semáforos mutex para acceso
a recursos compartidos.
Resumen
En el presente laboratorio se realizó el diseño de un Soc HW-SW Sistema con un procesador MicroBlaze,
además se realizó el diseño del Hardware utilizando Vivado, en el cual se escogió los IPs correspondientes
a switches, leds, display, 4 push buttons, AXI XADC, AXI Timer with interruptions, AXI Uart Lite.
Se utilizó Vitis para el diseño del software, el propósito del software es medir y controlar la velocidad de
un motor DC, para lo cual se utilizó un sensor infrarrojo (sensor IR) el cual emite la señal dependiendo de
la velocidad del motor, la velocidad se calcula a partir de estos pulsos mediante una fórmula matemática,
como último paso se presenta la velocidad a través del terminal UART y en los display de la FPGA Basys
3.
Diseño de HARDWARE
CREACIÓN HW
Se creó el Hardware con microblaze en Vivado, a este se lo coloco todos los IPs necesarios para implementar
posteriormente el software, el diseño se lo puede observar en la siguiente figura.
MicroBlaze soft-processor with AXI Interconnect 128
KB Data LMB BRAM , 128 KB Instructions LMB
BRAM.
La CPU MicroBlaze es una familia de configuraciones
de microprocesador RISC predefinidas modificables de
32 bits / 64 bits. Se realiza la implementación del
módulo Microblaze como se observa en la figura 1. con
la especificación de 64 bits.
En la anterior figura se observa la memoria local BRAM con
sus respectivos módulos: bus local de memoria, Controlador
BRAM, y el bloque generador de memoria.
La IP de interconexión AXI conecta uno o más dispositivos
maestros asignados en memoria AXI a uno o más dispositivos
esclavos asignados en memoria. Las interfaces AXI cumplen
con las especificaciones AMBA AXI. En la siguiente figura a
continuación se puede observar el módulo AXI Interconnect
que en la que se observa la conexión de los dispositivos
maestros a sus respectivos dispositivos esclavos.
En la anterior figura se observa la conexión al abrir el bloque
de AXI Interconnect en el bloque Crossbar se puede
observar M_AXI se conecta al AXI
GPIOs para conectar 16-bit switches, 16-LEDs, Display's 7-
segments, Display's Anodes, y 4-push buttons. El AXI GPIO
proporciona una interfaz de entrada / salida de propósito
general a la interfaz AXI (Interfaz extensible avanzada). Se
realizo la configuración para los switches 16 bits, displays de
7 segmentos, displays de ánodo común y 4 push button,
requeridos para el diseño como se observa en la figura se
verifica la conexión de los bloques GPIO con su respectiva
etiqueta.
El XADC Wizard automatiza la tarea de configurar el
bloque de conversión de analógico a digital XADC en
FPGA de la Serie 7 al modo de operación deseado con
una GUI de personalización intuitiva.
AXI Timer with interruptions
El temporizador / contador AXI es un módulo
temporizador de 32 bits que se conecta a la interfaz
AXI4-Lite. En modo cascada, se puede utilizar
como módulo temporizador de 64 bits como se
muestra en la figura de a continuación.
AXI UART Lite. Otros IPs de soporte.
La interfaz LogiCORE IP AXI Universal Asynchronous
Receiver Transmitter (UART) Lite se conecta a la
especificación Advanced eXtensible Interface (AXI) de la
arquitectura de bus de microcontrolador avanzado (AMBA)
y proporciona la interfaz del controlador para la
transferencia de datos en serie asíncrona. Este núcleo Soft
LogiCORE IP está diseñado para interactuar con el
protocolo AXI4-Lite
Módulo Pmod Utilizado
Ingreso de la Librería
El uso de la librería es muy importante ya que nos permitirá enlazar con los demás
módulos presentes en hardware, utilizaremos la librería más actual disponible.
Especificaciones en el MicroBlaze
Seleccionamos el tamaño de la memoria local en este caso los 128 Kb y habilitamos el
control de interrupciones.
Creación del Software - Proyecto en C
Reconoce el procesador
MicroBlaze con arquitectura
de 32 bits
Creamos el proyecto
en lenguaje C
Diseño de SOFTWARE
Creación del SW
Se elige la opción de Create New Application, y se
selecciona como hardware el creado en vivado.
En la imagen se puede notar el encabezado del código,
en este consta la inclusión de algunas librerías
necesarias y se define con otros nombres a los GPIO y
canales de cada uno de estos para una mejor
comprensión
En la imagen se presenta el “main”, dentro del cual se crearon las Task1 y Task2.
A continuación, se muestra el código tanto para la Task1 y Task2, en primer lugar se declaran las variables,
parámetros y luego se muestran las diferentes funciones.
Funcionamiento del sensor IR
El sensor es utilizado junto a un encoder incremental para poder medir la
velocidad del motor, al encoder se lo inserta en el eje del motor y entre el IR
receiver y el IR emitter mientras en encoder gira el sensor cuando existe un
“hueco” existe paso de luz entre emisor y receptor lo que provoca que el sensor
un valor de voltaje distinto de cero, y por otro lado cuando estos están
“tapados” emitirá el sensor un voltaje de cero. La señal de la salida del sensor
es como la siguiente que se presenta idealmente.
Fuente: Andromina robot V2.0
Funcionamiento del sensor IR
El sensor IR cuando existe paso de luz entre emisor y receptor el voltaje máximo es el de la fuente en
este caso se usó la fuente de 3.3V que proporciona el mismo puerto XADC.
La señal real que se obtendría sin poner el capacitor tendría mucho ruido “rebotes” lo que llevaría a
que se lean más pulsos de lo que en realidad son lo que desencadena una serie de errores.
Fuente: Andromina robot V2.0
Escritura de la velocidad en los Display
Como se puede observar a continuación, se tiene la declaración de las variables:
Escritura de la velocidad en los Display
No se puede enviar directamente el valor de la velocidad a los Display, sino que se debe realizar ciertas
acciones para poder separar los dígitos de la velocidad que se ha leído.
Simulación
Para realizar la simulación, primero se Programa la FPGA, luego se compila el
software y por último de lo ejecuta con la opción Run As / Launch on Hardware.
Para abrir la terminal hay que dirigirse a Windows/Show view /Terminal, y se
realiza la conexión Serial con el puerto al que está conecta la FPGA.
IMPLEMENTACIÓN DEL CIRCUITO -
PRUEBAS
LINK DE VIDEO:
https://drive.google.com/drive/folders/1p8nrx
LuHGh61FYLi-
C4pYgSYbeXVt5l9?usp=sharing
VELOCIDAD 1 - 450 RPM
VELOCIDAD 2-1850RPM
VELOCIDAD 3 - 3240 RPM
Conclusiones
● Se diseño, simulo e implementó un SoC HW-SW de procesador MicroBlaze el cual
cumple con la mayoría de las especificaciones pedidas, la más importante la
utilización del módulo XADC para leer los datos que proporciona el sensor IR.
● Se cumple con el objetivo principal que es medir la velocidad del motor e imprimir
esta velocidad tanto en el terminal UART como los displays de la FPGA.
● Se puede mejorar el software presentado en el laboratorio, utilizando interrupciones
para tener una mayor precisión en la medida de la velocidad del motor, pues
actualmente cuando se detiene el motor pero el encoder de este se detiene impidiendo
que pase luz entre emisor y receptor del sensor IR el programa exhibe la velocidad
del motor como la máxima en lugar de la mínima.
Bibliografía
1. Navas. B., “Sistemas Embebidos A403: Material del Curso”, Universidad de las Fuerzas Armadas
- ESPE, DEEL ASDI, Quito, Ecuador.
2. Digilent Reference, “Pmod PIR”, Recuperado de:
https://digilent.com/reference/pmod/pmodpir/start
3. Xilinx Reference, AXI Timer/Counter, Recuperado de:
https://www.xilinx.com/products/intellectual-property/axi_timer.html
4. Xilinx Reference, AXI UARTLite, Recuperado de: https://www.xilinx.com/products/intellectual-
property/axi_uartlite.html
5. Xilinx, «7 Series FPGAs and Zynq-7000 SoC XADC Dual 12-Bit 1 MSPS Analog-to-Digital
Converte,» 2018.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (18)

Microprocesadores y estructura
Microprocesadores y estructuraMicroprocesadores y estructura
Microprocesadores y estructura
 
Tic
TicTic
Tic
 
Proyecto u2 rout-ev2
Proyecto u2 rout-ev2Proyecto u2 rout-ev2
Proyecto u2 rout-ev2
 
Características del procesador y la memoria ram
Características del procesador y la memoria ramCaracterísticas del procesador y la memoria ram
Características del procesador y la memoria ram
 
Tic
TicTic
Tic
 
Unidad competencia 2
Unidad competencia 2Unidad competencia 2
Unidad competencia 2
 
Instituto superior tecnologic1 92
Instituto      superior   tecnologic1 92Instituto      superior   tecnologic1 92
Instituto superior tecnologic1 92
 
Mauro fernando churata
Mauro fernando churataMauro fernando churata
Mauro fernando churata
 
Microprocesador
MicroprocesadorMicroprocesador
Microprocesador
 
80286 80386-80486
80286 80386-8048680286 80386-80486
80286 80386-80486
 
Cuestionario de informatica
Cuestionario de informaticaCuestionario de informatica
Cuestionario de informatica
 
La Historia Del Procesador
La Historia Del ProcesadorLa Historia Del Procesador
La Historia Del Procesador
 
Introducción A Microprocesadores
Introducción A MicroprocesadoresIntroducción A Microprocesadores
Introducción A Microprocesadores
 
Procesador
ProcesadorProcesador
Procesador
 
Microprocesador ppt
Microprocesador pptMicroprocesador ppt
Microprocesador ppt
 
el procesador
el procesadorel procesador
el procesador
 
Tema 1 Hadware y Sofware
Tema 1 Hadware y SofwareTema 1 Hadware y Sofware
Tema 1 Hadware y Sofware
 
Arquitectura de computadores: IBM Cell processor
Arquitectura de computadores: IBM Cell processorArquitectura de computadores: IBM Cell processor
Arquitectura de computadores: IBM Cell processor
 

Similar a DC Motor Speed Control with IR Sensor and FPGA SoC

Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03Hamiltonn Casallas
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...Victor Asanza
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN B RESUELTA 1er PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN B RESUELTA 1er PARCIAL (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN B RESUELTA 1er PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN B RESUELTA 1er PARCIAL (2019 2do ...Victor Asanza
 
Manual de Uso Detallado de Proteus
Manual de Uso Detallado de ProteusManual de Uso Detallado de Proteus
Manual de Uso Detallado de ProteusPaolaPerez263
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...Victor Asanza
 
Sesion 1
Sesion 1Sesion 1
Sesion 11130490
 
Sistemas Microcontrolados-Unidad1-Tema1.pdf
Sistemas Microcontrolados-Unidad1-Tema1.pdfSistemas Microcontrolados-Unidad1-Tema1.pdf
Sistemas Microcontrolados-Unidad1-Tema1.pdfMarianaAucancela
 
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte Microcontroladores: mikroBasic para microcontroladores PIC 2da parte
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte SANTIAGO PABLO ALBERTO
 

Similar a DC Motor Speed Control with IR Sensor and FPGA SoC (20)

Informe1 alvaro morales
Informe1 alvaro moralesInforme1 alvaro morales
Informe1 alvaro morales
 
Microprocesador ::: http://leymebamba.com
Microprocesador  ::: http://leymebamba.comMicroprocesador  ::: http://leymebamba.com
Microprocesador ::: http://leymebamba.com
 
Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
 
Lego mindstorms
Lego mindstormsLego mindstorms
Lego mindstorms
 
Lego mindstorms
Lego mindstormsLego mindstorms
Lego mindstorms
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN B RESUELTA 1er PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN B RESUELTA 1er PARCIAL (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN B RESUELTA 1er PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN B RESUELTA 1er PARCIAL (2019 2do ...
 
Introducción
IntroducciónIntroducción
Introducción
 
Introducción
IntroducciónIntroducción
Introducción
 
Manual de Uso Detallado de Proteus
Manual de Uso Detallado de ProteusManual de Uso Detallado de Proteus
Manual de Uso Detallado de Proteus
 
Anexo 6 paper swe
Anexo 6 paper sweAnexo 6 paper swe
Anexo 6 paper swe
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
 
Sesion 1
Sesion 1Sesion 1
Sesion 1
 
Pic16 f877
Pic16 f877Pic16 f877
Pic16 f877
 
Glosario
GlosarioGlosario
Glosario
 
Libro basico pic
Libro basico picLibro basico pic
Libro basico pic
 
Practica 8
Practica 8Practica 8
Practica 8
 
Sistemas Microcontrolados-Unidad1-Tema1.pdf
Sistemas Microcontrolados-Unidad1-Tema1.pdfSistemas Microcontrolados-Unidad1-Tema1.pdf
Sistemas Microcontrolados-Unidad1-Tema1.pdf
 
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte Microcontroladores: mikroBasic para microcontroladores PIC 2da parte
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte
 
Micros
MicrosMicros
Micros
 

Último

Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónXimenaFallaLecca1
 
TERMODINAMICA YUNUS SEPTIMA EDICION, ESPAÑOL
TERMODINAMICA YUNUS SEPTIMA EDICION, ESPAÑOLTERMODINAMICA YUNUS SEPTIMA EDICION, ESPAÑOL
TERMODINAMICA YUNUS SEPTIMA EDICION, ESPAÑOLdanilojaviersantiago
 
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOPERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOFritz Rebaza Latoche
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdfCristhianZetaNima
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaAlexanderimanolLencr
 
CONCEPTOS EN HIDROGEOLOGIA-diapositivas varias.pptx
CONCEPTOS EN HIDROGEOLOGIA-diapositivas varias.pptxCONCEPTOS EN HIDROGEOLOGIA-diapositivas varias.pptx
CONCEPTOS EN HIDROGEOLOGIA-diapositivas varias.pptxBrayanJavierCalle2
 
osciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfosciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfIvanRetambay
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxCARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxvalenciaespinozadavi1
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILProblemSolved
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Dr. Edwin Hernandez
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptxBRAYANJOSEPTSANJINEZ
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdfvictoralejandroayala2
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralsantirangelcor
 
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAINTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAJOSLUISCALLATAENRIQU
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxJuanPablo452634
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfs7yl3dr4g0n01
 
clases de porcinos generales de porcinos
clases de porcinos generales de porcinosclases de porcinos generales de porcinos
clases de porcinos generales de porcinosDayanaCarolinaAP
 

Último (20)

Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcción
 
TERMODINAMICA YUNUS SEPTIMA EDICION, ESPAÑOL
TERMODINAMICA YUNUS SEPTIMA EDICION, ESPAÑOLTERMODINAMICA YUNUS SEPTIMA EDICION, ESPAÑOL
TERMODINAMICA YUNUS SEPTIMA EDICION, ESPAÑOL
 
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOPERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiología
 
CONCEPTOS EN HIDROGEOLOGIA-diapositivas varias.pptx
CONCEPTOS EN HIDROGEOLOGIA-diapositivas varias.pptxCONCEPTOS EN HIDROGEOLOGIA-diapositivas varias.pptx
CONCEPTOS EN HIDROGEOLOGIA-diapositivas varias.pptx
 
osciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfosciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdf
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxCARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdf
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integral
 
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAINTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
clases de porcinos generales de porcinos
clases de porcinos generales de porcinosclases de porcinos generales de porcinos
clases de porcinos generales de porcinos
 

DC Motor Speed Control with IR Sensor and FPGA SoC

  • 1. DC Motor Speed Control with IR Sensor and FPGA based Embedded SoC with RTOS GRUPO 1 Camacho Luis Cano Cristhian Chicaiza Carmen Morales David Docente: Ing. Byron Navas Ph.D.
  • 2. Objetivo El objetivo de este laboratorio L4 es diseñar el hardware y software embebido de un SoC basado en FPGA que correrá una aplicación en un soft-processor Microblaze, usando Vivado, Vitis, una FPGA Artyx-7 (Basys 3), y el sistema operativo de tiempo real (RTOS), i.e., FreeRTOS. De esta manera, el estudiante aplicará los conceptos y metodologías aprendidos durante el curso de Sistemas Embebidos. El propósito principal de la aplicación es medir la velocidad RPM de un motor DC usando un sensor IR conectado al XADC del FPGA Artyx-7, y controlar el movimiento del motor para mantenerlo en un valor fijo. La aplicación de FreeRTOS es multi-tasking, ejecuta las tareas de acuerdo a una agenda (schedule), usa colas para comunicación, y semáforos mutex para acceso a recursos compartidos.
  • 3. Resumen En el presente laboratorio se realizó el diseño de un Soc HW-SW Sistema con un procesador MicroBlaze, además se realizó el diseño del Hardware utilizando Vivado, en el cual se escogió los IPs correspondientes a switches, leds, display, 4 push buttons, AXI XADC, AXI Timer with interruptions, AXI Uart Lite. Se utilizó Vitis para el diseño del software, el propósito del software es medir y controlar la velocidad de un motor DC, para lo cual se utilizó un sensor infrarrojo (sensor IR) el cual emite la señal dependiendo de la velocidad del motor, la velocidad se calcula a partir de estos pulsos mediante una fórmula matemática, como último paso se presenta la velocidad a través del terminal UART y en los display de la FPGA Basys 3.
  • 5. CREACIÓN HW Se creó el Hardware con microblaze en Vivado, a este se lo coloco todos los IPs necesarios para implementar posteriormente el software, el diseño se lo puede observar en la siguiente figura. MicroBlaze soft-processor with AXI Interconnect 128 KB Data LMB BRAM , 128 KB Instructions LMB BRAM. La CPU MicroBlaze es una familia de configuraciones de microprocesador RISC predefinidas modificables de 32 bits / 64 bits. Se realiza la implementación del módulo Microblaze como se observa en la figura 1. con la especificación de 64 bits. En la anterior figura se observa la memoria local BRAM con sus respectivos módulos: bus local de memoria, Controlador BRAM, y el bloque generador de memoria.
  • 6. La IP de interconexión AXI conecta uno o más dispositivos maestros asignados en memoria AXI a uno o más dispositivos esclavos asignados en memoria. Las interfaces AXI cumplen con las especificaciones AMBA AXI. En la siguiente figura a continuación se puede observar el módulo AXI Interconnect que en la que se observa la conexión de los dispositivos maestros a sus respectivos dispositivos esclavos. En la anterior figura se observa la conexión al abrir el bloque de AXI Interconnect en el bloque Crossbar se puede observar M_AXI se conecta al AXI
  • 7. GPIOs para conectar 16-bit switches, 16-LEDs, Display's 7- segments, Display's Anodes, y 4-push buttons. El AXI GPIO proporciona una interfaz de entrada / salida de propósito general a la interfaz AXI (Interfaz extensible avanzada). Se realizo la configuración para los switches 16 bits, displays de 7 segmentos, displays de ánodo común y 4 push button, requeridos para el diseño como se observa en la figura se verifica la conexión de los bloques GPIO con su respectiva etiqueta. El XADC Wizard automatiza la tarea de configurar el bloque de conversión de analógico a digital XADC en FPGA de la Serie 7 al modo de operación deseado con una GUI de personalización intuitiva.
  • 8. AXI Timer with interruptions El temporizador / contador AXI es un módulo temporizador de 32 bits que se conecta a la interfaz AXI4-Lite. En modo cascada, se puede utilizar como módulo temporizador de 64 bits como se muestra en la figura de a continuación. AXI UART Lite. Otros IPs de soporte. La interfaz LogiCORE IP AXI Universal Asynchronous Receiver Transmitter (UART) Lite se conecta a la especificación Advanced eXtensible Interface (AXI) de la arquitectura de bus de microcontrolador avanzado (AMBA) y proporciona la interfaz del controlador para la transferencia de datos en serie asíncrona. Este núcleo Soft LogiCORE IP está diseñado para interactuar con el protocolo AXI4-Lite Módulo Pmod Utilizado
  • 9. Ingreso de la Librería El uso de la librería es muy importante ya que nos permitirá enlazar con los demás módulos presentes en hardware, utilizaremos la librería más actual disponible.
  • 10. Especificaciones en el MicroBlaze Seleccionamos el tamaño de la memoria local en este caso los 128 Kb y habilitamos el control de interrupciones.
  • 11. Creación del Software - Proyecto en C Reconoce el procesador MicroBlaze con arquitectura de 32 bits Creamos el proyecto en lenguaje C
  • 13. Creación del SW Se elige la opción de Create New Application, y se selecciona como hardware el creado en vivado. En la imagen se puede notar el encabezado del código, en este consta la inclusión de algunas librerías necesarias y se define con otros nombres a los GPIO y canales de cada uno de estos para una mejor comprensión
  • 14. En la imagen se presenta el “main”, dentro del cual se crearon las Task1 y Task2.
  • 15. A continuación, se muestra el código tanto para la Task1 y Task2, en primer lugar se declaran las variables, parámetros y luego se muestran las diferentes funciones.
  • 16. Funcionamiento del sensor IR El sensor es utilizado junto a un encoder incremental para poder medir la velocidad del motor, al encoder se lo inserta en el eje del motor y entre el IR receiver y el IR emitter mientras en encoder gira el sensor cuando existe un “hueco” existe paso de luz entre emisor y receptor lo que provoca que el sensor un valor de voltaje distinto de cero, y por otro lado cuando estos están “tapados” emitirá el sensor un voltaje de cero. La señal de la salida del sensor es como la siguiente que se presenta idealmente. Fuente: Andromina robot V2.0
  • 17. Funcionamiento del sensor IR El sensor IR cuando existe paso de luz entre emisor y receptor el voltaje máximo es el de la fuente en este caso se usó la fuente de 3.3V que proporciona el mismo puerto XADC. La señal real que se obtendría sin poner el capacitor tendría mucho ruido “rebotes” lo que llevaría a que se lean más pulsos de lo que en realidad son lo que desencadena una serie de errores. Fuente: Andromina robot V2.0
  • 18. Escritura de la velocidad en los Display Como se puede observar a continuación, se tiene la declaración de las variables:
  • 19. Escritura de la velocidad en los Display No se puede enviar directamente el valor de la velocidad a los Display, sino que se debe realizar ciertas acciones para poder separar los dígitos de la velocidad que se ha leído.
  • 20. Simulación Para realizar la simulación, primero se Programa la FPGA, luego se compila el software y por último de lo ejecuta con la opción Run As / Launch on Hardware. Para abrir la terminal hay que dirigirse a Windows/Show view /Terminal, y se realiza la conexión Serial con el puerto al que está conecta la FPGA.
  • 21. IMPLEMENTACIÓN DEL CIRCUITO - PRUEBAS LINK DE VIDEO: https://drive.google.com/drive/folders/1p8nrx LuHGh61FYLi- C4pYgSYbeXVt5l9?usp=sharing
  • 22. VELOCIDAD 1 - 450 RPM
  • 24. VELOCIDAD 3 - 3240 RPM
  • 25. Conclusiones ● Se diseño, simulo e implementó un SoC HW-SW de procesador MicroBlaze el cual cumple con la mayoría de las especificaciones pedidas, la más importante la utilización del módulo XADC para leer los datos que proporciona el sensor IR. ● Se cumple con el objetivo principal que es medir la velocidad del motor e imprimir esta velocidad tanto en el terminal UART como los displays de la FPGA. ● Se puede mejorar el software presentado en el laboratorio, utilizando interrupciones para tener una mayor precisión en la medida de la velocidad del motor, pues actualmente cuando se detiene el motor pero el encoder de este se detiene impidiendo que pase luz entre emisor y receptor del sensor IR el programa exhibe la velocidad del motor como la máxima en lugar de la mínima.
  • 26. Bibliografía 1. Navas. B., “Sistemas Embebidos A403: Material del Curso”, Universidad de las Fuerzas Armadas - ESPE, DEEL ASDI, Quito, Ecuador. 2. Digilent Reference, “Pmod PIR”, Recuperado de: https://digilent.com/reference/pmod/pmodpir/start 3. Xilinx Reference, AXI Timer/Counter, Recuperado de: https://www.xilinx.com/products/intellectual-property/axi_timer.html 4. Xilinx Reference, AXI UARTLite, Recuperado de: https://www.xilinx.com/products/intellectual- property/axi_uartlite.html 5. Xilinx, «7 Series FPGAs and Zynq-7000 SoC XADC Dual 12-Bit 1 MSPS Analog-to-Digital Converte,» 2018.