TUTORIAL: Programación de Microcontroladores – Parte 10

Ariel Palazzesi . Vista 37407 veces
TUTORIAL: Programación de Microcontroladores – Parte 10
Tal como habíamos prometido, en esta entrega de nuestro tutorial de programación de microcontroladores desarrollaremos paso a paso el circuito electrónico del cartel. Este diseño podrá tomarse como base para un cartel mayor o con otras características.

  • Nuestro cartel tiene fines meramente educativos, y la intención es gastar poco dinero para construirlo, así que intentaremos realizarlo en base a un microcontrolador pequeño. Si el lector necesita un cartel de mayor tamaño o con capacidad para almacenar textos o imágenes más extensos, deberá utilizar algún micro con mayor capacidad y velocidad. El tamaño de la memoria EEPROM externa es bastante grande, pero también puede ser ampliado con mucha facilidad.

    Dividiremos el esquema electrónico del cartel en dos partes: en primer lugar veremos toda la lógica de control, y en segundo, la “pantalla” con el registro de desplazamiento. A la hora de llevarlo a la práctica puede incluso hacer dos circuitos impresos por separado. Esto le permitirá al lector experimentar con otros controladores sin necesidad de volver a montar la placa de los displays.

    El circuito controlador:
    Este es el cerebro de nuestro cartel. Sera el encargado de gestionar el encendido de cada LED mediante órdenes enviadas a las columnas (mediante el registro de desplazamiento que mencionamos en la nota anterior) y a las filas.

    Como una fila tendrá 80 LEDs, que eventualmente pueden estar todos encendidos, no podemos conectarlas directamente a pines de E/S del PIC, por que la corriente que demandarían haría que el puerto del PIC se destruya. Para evitar esto, utilizaremos en medio un transistor capaz de manejar esa corriente.

    Analicemos el circuito. El centro de todo es el microcontrolador 16F628A, que tiene su pin de RESET conectado a un pulsador y una resistencia de 10K. Este pulsador permite reiniciar el cartel cuando lo necesitemos. También se ha implementado un circuito de reloj externo, basado en un cristal de 4 MHz y dos condensadores de 22 nanofaradios. Esto le permite al PIC ejecutar un millón de instrucciones por segundo, más que suficientes para este proyecto.

    Los pines 1 y 2, correspondientes a los bits A2 y A3 del micro, se han utilizado para acceder a una memoria EEPROM del tipo 24C256. Esta memoria es de acceso serial (por eso necesitamos solo dos pines), mediante el protocolo I2C, y tiene capacidad para almacenar 32768 Bytes. Si nuestro programa hace uso de ella, podemos guardar allí 32768 caracteres (con el display en modo texto) o más de 400 pantallas en modo gráfico. Si resultara insuficiente, puede ponerse una memoria de mayor capacidad, siempre consultando la hoja de datos de la misma para asegurarnos su compatibilidad con la del ejemplo.

    Todo el puerto B del PIC está dedicado a controlar las filas del cartel. Como ya habrán notado, tenemos 8 salidas para filas, y nuestro cartel tiene solo 7 filas. Efectivamente, la fila 8 no se utilizara si nuestra “pantalla” está construida con módulos LED de 7x5, pero el circuito de control está preparado para el uso (en caso de que alguien los prefiera) de módulos de 8x8 o bien para crear un cartel de 8 filas mediante el uso de LEDs sueltos. Quienes utilicen módulos de 7x9 pueden ahorrarse el transistor de la fila 8.

    Por último, los pines 17 y 18, correspondientes a los bits A0 y A1 del micro se encargan de la gestión del registro de desplazamiento. El programa deberá generar los pulsos de reloj necesarios por el pin 18, y “meter” los datos en el registro por el pin 17.

    No hemos incluido una fuente de alimentación. Cualquier fuente comercial que sea capaz de entregar 5V y 2A será suficiente. Esos 5V deben estar bien regulados, y por supuesto, el software deberá estar escrito correctamente, es decir, no encender varias filas al mismo tiempo, ya que el consumo de todo el cartel encendido sería de unos 80 x 70 x 20mA = 11.2 A, destruyendo la fuente.

    Este es el cerebro de nuestro cartel. Este es el cerebro de nuestro cartel.

    El display
    Esta es la parte del proyecto que todo el mundo va a mirar, así que debemos ser prolijos al montarlo. Como puede verse en el esquema eléctrico, hemos utilizado un total de 10 circuitos integrados 74HC164N para construir el registro de desplazamiento de 80 bits de largo, uno para cada columna. Si alguien quiere hacer un cartel más largo o más corto, deberá poner más o menos integrados. Cada uno maneja 8 columnas.

    Si miramos el esquema del display, veremos que en la parte superior se muestra como está conectado cada LED dentro de la matriz de 5x7. Esto es importante tenerlo en cuenta a la hora de comprar los módulos, ya que hay una gran cantidad de modelos, y la mitad de ellos tienen los LEDs conectados en el sentido inverso.

    Cada display también difiere en la función de cada terminal, por lo que se debe estar a atento a la hoja de datos para diseñar el circuito impreso apropiado, y conectarlos como corresponda.

    En el dibujo del circuito no hemos representado los 16 módulos ni los 10 circuitos integrados, por una cuestión de espacio, pero es fácil darse cuenta de qué forma se conectan las filas y columnas de los demás displays a cada 74HC164N.

    No utilizaremos el pin de RESET de los 74HC164N. En lugar de ser controlados desde el microcontrolador, cada RESET está puesto a +5V, de forma que el integrado funcione continuamente. Si por algún motivo se desea borrar la pantalla, basta con enviar 80 “0”s al registro de desplazamiento y listo. El tiempo empleado para esa tarea es despreciable, ya que el microcontrolador estará ejecutando 1 millón de instrucciones por segundo. El utilizar una línea de control menos nos permitirá tener un PCB ligeramente más sencillo.

    Cada salida de los 74HC164N, como dijimos, se conecta a una columna de la serie de displays . Esta conexión se efectúa mediante un resistor de 1/8 de watt, que en el esquema se ha dibujado con un valor de 330 ohm. Ese fue el valor adecuado para el tipo de módulos que conseguimos para hacer el prototipo, pero su valor variara de un modulo a otro. Se puede montar solo un display con resistores de 330 ohms, y ver como es el brillo de los LEDs. Si es escaso, se puede bajar el valor a 220 o 100 ohms. Con eso debería ser suficiente

    En la próxima entrega, la última de este proyecto, veremos cómo utilizar el BASIC del PIC SIMULATOR IDE para programar el cartel.

    Hemos utilizado un total de 10 circuitos integrados 74HC164N. Hemos utilizado un total de 10 circuitos integrados 74HC164N.
      Primera parte del tutorial.

¿Y tú, qué opinas?

  • #1
    viernes, 21 de septiembre de 2007, 20:31

    Se echaban de menos los tutoriales de microcontroladores, gracias!

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #2 Leon
    Leon domingo, 23 de septiembre de 2007, 19:58

    Muy bueno el tutorial, realmente es de gran ayuda, y está muy bien explicado. Sería muy util, si repiten en algún momento un turorial similar, pero con leds RGB. Felicitaciones, y muchas gracias por este gran aporte.

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #3 Leon
    Leon miércoles, 03 de octubre de 2007, 18:23

    Tienen idea cuando sale la tercer parte de este tutorial?

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #4 Oscar Núñez
    Oscar Núñez lunes, 22 de octubre de 2007, 03:43

    La verdad es que entro casi todos los dias a esta pagina buscando el enlace que me lleve a la otra parte del tutorial, la parte del programa, de hecho es tan excelente que estoy ansioso por la siguiente parte, en un tutorial parecido en otra pagina vi un mensaje fijo, lo cree y eso obtuve, pero me gustaría saber como crear el codigo para poner ese mensaje a desplazarse por toda la pantalla de izquierda a derecha o viceversa, por cierto, con mucho gusto pondré en mi pagina su enlace, muchas gracias, siguan así.

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #5 David
    David martes, 04 de diciembre de 2007, 01:14

    Exelente tutorial, ya tube experiencia con una pantalla que diseñe y fabrique, pero con 7 filas y 16 columnas, con el 16f84. estoy animado con su proyecto y lo voy armar a ver que tal.

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #6 FranDeeJay
    FranDeeJay miércoles, 02 de enero de 2008, 03:28

    Hola a todos, me parecio interezante el diagrama pero lo que estoy buscando y no encuentro es un tacometro con pic 16F84 si alguien tiene un circuito y programa o un enlace desde ya muchas gracias.

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #7 voltio
    voltio domingo, 06 de enero de 2008, 14:46

    Hola, muy bueno, esta ya la ultima parte ?? gracias

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #8 voltio
    voltio lunes, 14 de enero de 2008, 15:16

    EXELENTE, PARA CUANDO EL CAPITULO CON EL SOFT ?? SALUDOS

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #9
    martes, 05 de febrero de 2008, 01:24

    Un circuito practico con el 16F84

    Responder >> Attention Minus Plus Votos: 1 de 1
  • #10 julio ferreyra
    julio ferreyra domingo, 06 de abril de 2008, 03:52

    me interesa este articulo lo quisiera llevar ha cabo pero me falta algunos concimientos pero me siento que puedo realizarlo quisiera que me dieran mas explicaciones

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #11 xtreamx_x
    xtreamx_x jueves, 15 de mayo de 2008, 03:03

    Tecnico Electronico

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #12 Luis M
    Luis M lunes, 19 de mayo de 2008, 20:20

    #4Oscar he estado viendo vuestros trabajos y necesitamos dos display con ese tamaño al que le programemos 3 mensajes , PASE - ADIOS - ERROR y metiante un relej lepandemos pulso de forma que segun se progame estos saldra un mensaje u otro.

    Es pocible realizarnos este trabajo ?¿ precio y fecha de entrega....

    solinfor@solinfor.net

    Luis M.

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #13 <a href="../../foro/member.php?u=3036" target="_self">Alfred0601</a>
    Alfred0601 martes, 20 de mayo de 2008, 05:44

    interesante, toda la informacion es muy util. Se les agradece a los miembros de NeoTeo

    Responder >> Attention Minus Plus Votos: 1 de 1
  • #14 edgarnoel
    edgarnoel sábado, 31 de mayo de 2008, 04:29

    hola, he entrado a esta pagina y me encontrado con esto y esta fantastico, actualmente estoy realizando una de estas pantallas pero con un AVR mi idea era muy parecida ha esta, pero solo que yo quiero grabarle estos mensajes con un Software hecho en VB, es decir poner mi mensajes en un texbox y estos enviarseloas por RS232, y todavia se podria hacer la cosa mas compleja como mostrar imagenes, y por eso ahora surge mi duda, existe algun tipo de circuito integrado que decodifique esto como si fueran pixeles, es decir en lugar del 74ls164, o que tengo que hacer un Software muy complejo para poder mostrar imagenes o es que las pantallas esas que venden que pueden hacer esto tienen ese tipo Soft... Leer más

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #15 <a href="../../foro/member.php?u=6721" target="_self">marshall_260</a>
    marshall_260 sábado, 31 de mayo de 2008, 15:00

    #14Hola Edgarnoel!
    Hasta donde yo sé, la unica forma es multiplexando como se explica en el articulo. No conozco integrados que manejen pixel por pixel. Me parece que vas a tener que resolverlo por software nomas! :)

    Saludos!

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #16 tony granados
    tony granados domingo, 07 de septiembre de 2008, 22:29

    Saludos

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #17 torrealva
    torrealva viernes, 17 de octubre de 2008, 03:30

    esta muy interesante tus tutorias, pero quiero la 11, 12, 13, 14 y todas entregas de Microcontroladores

    Responder >> Attention Minus Plus Votos: 0 de 0
  • #18 luis
    luis lunes, 27 de junio de 2011, 09:23

    discupa te tengo una consulta yo ahora estoy haciendo una matris con el 16f84a ,y no tengo idea como funciona el regustro de desplazamiento o la memoria me podrias ayudar por favor , gracias

    Responder >> Attention Minus Plus Votos: 0 de 0
  • Cargando...Cargando...

  • nuevo comentario
    Nombre

    Campo obligatorio

    Email

    Escriba una dirección de correo electrónico con el formato sunombre@ejemplo.com.

    Campo obligatorio

 
Ir arriba