Story Transcript
UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL
SISTEMA EN UN CHIP PARA CONTROLAR UNA MATRIZ DE LEDS TRIDIMENSIONAL Autor: García Bardera, Víctor. Director: Muñoz Frías, José Daniel. Entidad Colaboradora: ICAI – Universidad Pontificia Comillas.
RESÚMEN DEL PROYECTO
Hoy en día existen diferentes proyectos de control de matrices de LEDs tanto bidimensionales como tridimensionales. Todos los proyectos tienen dos cosas en común, por un lado existe una matriz cuyos LEDs se pretenden iluminar, y por el otro existe un sistema de control de dichos LEDs, el cual está compuesto por un circuito de potencia, una etapa de multiplexación y un elemento que ejecuta instrucciones del usuario previamente programadas.
La matriz puede ser tridimensional o bidimensional, pero la mayor diferencia entre los diversos trabajos con este tipo de matrices reside en el sistema de control. Dicho sistema puede ser un programa que se ejecuta en un ordenador para enviar órdenes al circuito impreso donde está la multiplexación ó también puede estar compuesto por un microcontrolador que se añade al circuito impreso para que ejecute el programa.
En este proyecto se pretende realizar una innovación en la parte dedicada al control, integrando el microcontrolador y la multiplexación en un solo chip. Para lograr esta idea se modela el circuito de control en VHDL dentro de una FPGA. Se consigue mayor rapidez en el control ya que la multiplexación hardware dentro de la FPGA es más rápida que la multiplexación software dentro de un microcontrolador en una PCB. 1
UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL
El circuito de control está compuesto de un microcontrolador Nios II que necesita un software programado por el usuario para añadir valores nuevos en una memoria Ram de doble puerto de la cual el circuito de multiplexación irá extrayendo datos para realizar una modulación PWM en la señal de control de cada color. Cada dirección de la memoria Ram corresponde a la fila y columna de un LED en concreto de la matriz.
El encendido de los LEDs se realiza mediante multiplexación de filas, esto significa que se encienden una a una las filas de la matriz realizando un barrido y a su vez los valores de las columnas se cargan en paralelo. Para la multiplexación se aprovecha la inercia de retención de luz de 20 ms que tiene la retina del ojo humano. Esto significa que la multiplexación de todas las filas debe de hacerse antes de 20 ms para evitar ver un parpadeo en los LEDs, se puede comprobar en la simulación del circuito de control de la figura 1. Como son 9 filas, el factor de servicio de las señales de las columnas es de 1/9. Al comienzo de la activación de cada fila se adquieren tres datos de la Ram correspondientes a las tres columnas de cada fila de la matriz.
Como conclusión, se puede decir que en este proyecto se ha conseguido describir un circuito de control compuesto por un microcontrolador Nios II y una etapa de multiplexación dentro de chip. También se ha logrado diseñar un software para el Nios II que permite al microcontrolador rellenar infinitas veces la memoria Ram de doble puerto con tres vectores de datos declarados e inicializados previamente en el software. Se ha diseñado y construido una etapa de potencia para transformar la pequeña señal aportada por la FPGA en corriente y tensión suficiente para alimentar los LEDs de la matriz tridimensional y también se ha diseñado y construido con mucha paciencia un cubo de LEDs. Todos estos objetivos se han alcanzado satisfactoriamente. Además se han generado nuevas ideas innovadoras para futuras implementaciones.
2
UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL
Por último, este proyecto sirve para descubrir una nueva vía de control de matrices de LEDs que no se había desarrollado antes.
Figura 1: Simulación del circuito de control
3
UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL
SYSTEM ON A CHIP TO CONTROL A THREE-DIMENSIONAL LED MATRIX
Nowadays, there are several control projects about two-dimensional arrays of LEDs and three-dimensional. All projects have two things in common, on the one hand there is a matrix whose LEDs are intended to illuminate, and in the other hand a system of control of these LEDs, which contains a power circuit, a multiplexing stage and a component for running users pre-programmed instructions.
The matrix can be three-dimensional or two-dimensional, but the biggest difference between the projects that use matrix lies in the control system. This system can be a program running on a computer to send commands to the circuit board where there is a multiplexing stage or can also be composed of a microcontroller that is added to the circuit board to run the program.
This project seeks to make an innovation in the control system, integrating the microcontroller and multiplexing in a single chip. To achieve this idea is modeled in VHDL control circuit within the FPGA. It gets faster as the multiplexing control hardware inside the FPGA is faster than multiplexing software within a microcontroller on a PCB.
The control circuit consists of a Nios II microcontroller that requires a users programmable software to add new values in a dual port RAM circuit which will be extracting data to perform a PWM modulation to control the brightness of each LED. Each Ram memory address corresponds to the row and column of a particular LED array.
4
UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL
The LEDs on the multiplexing is performed by rows, this means that light up one by one the rows of the matrix sweeps and the values of the columns are loaded in parallel. Multiplexing takes advantage of the inertia holding 20 ms light that has the human eye's retina. This means that the multiplexing of all rows should be done within 20 ms to avoid seeing a flashing LEDs, can be seen in the simulation of the control circuit of Figure 2. As there are 9 rows, the service factor of the signals of the columns is 1 / 9. At the beginning of each row activation, three data are acquired from the Ram for the three columns of each row of the matrix.
In conclusion, we can say that this project has managed to describe a control circuit consists of a Nios II microcontroller and a step of multiplexing within the chip. There has also been designing software for the Nios II microcontroller that allows the microcontroller complete infinite times the RAM dual-port with three data vectors previously declared and initialized in the software. It is designed and built a power circuit to transform the small signal provided by the FPGA current and voltage sufficient to power the LEDs in the three-dimensional matrix and also designed and very patiently built a cube of LEDs. All these objectives has been satisfactorily achieved. There have also created new innovative ideas for future deployments.
Finally, this project is to discover a new way to control LED arrays that had not been developed before.
5
UNIVERSIDAD PONTIFICIA COMILLAS ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI) INGENIERO EN AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL
Figure 2: Control circuit simulation
6