Programador de PICs: Pablin II

Hola hola...
Nos propusimos hace un tiempo armar el Control Digital del CD-Rom a través del Puerto IDE utilizando un PIC16f877, mi principal problema (y porque no el de muchos que me solicitaron la PCB y demás datos sobre el esquema) era no conseguir el PIC16f877 en mi ciudad; otro quizás, la falta de un buen grabador de PICs. Pues teniendo en cuenta la escasez de componentes electronicos complejos en mi "citytown" y al no conseguir un dispositivo de este tipo, me propuse a armar mi propio programador de PICs...

Uds quizás se pregunten ¿cuál es la mejor opción en este caso? ...
Yo opte por el programador de PICs Pablin II Reloaded: la version modificada y optimizada de aquel conocido grabador para los que saben de lo que hablo jej!

El esquema es sencillo y utiliza muy pocos componentes la mayoría facil de conseguir en el mercado:


Como se puede ver el programador se conecta al puerto paralelo de la PC y utiliza un medio de alimentación externa de 13.5 V.
En mi caso decidí utilizar la versión Reloaded que fue modificada para poder alimentarlo con 12 V, y de esta manera poder utilizar un transformador común, o bien 12 V desde una fuente de PC rectificados.

La versión Reloaded presenta entonces la siguiente modificación:

Recomiendo, entonces, utilizar un transformador común de 12 V, pero tengan cuidado, porque si utilizan de los clásicos tranformadores chinos de 12 V en realidad NUNCA son 12 V exactos (suelen ser hasta 18V), por lo que en esos casos es necesario utilizar un regulador 7812 a la salida del trafo o sobre la entrada del programador para asegurarse de tener un voltaje lo más exacto posible.

¿Cómo funciona la version Reloaded?
Si arman la versión reloaded, tendrán 2 leds: uno verde y otro rojo.
El led verde les indica que el programador está conectado en la tensión externa listo para grabar: esto significa también que tenemos los 5 V en todos los pines Vcc de todas las ranuras, tanto en la DIP8, la DIP18, la DIP28 y la DIP40 la cual es regulada por el 7805 que se muestra en el esquema. Hasta este entonces la tensión Vpp (tensión de programación) no esta presente y el led rojo debería estaría apagado. Cuando el led rojo se enciende nos indica que está leyendo o grabando el PIC que haya conectado en cualquiera de los zocalos, lo que resulta en la aparición de la tensión de programación Vpp en todos los pines de los zócalos a través del colector de los BC547 que conducen de acuerdo al pulso que proviene de los pines D3 o D4.
Las señales Sda o data y Scl o clock son "buffeadas" por los 6 inversores que integra el 74LS04.
El puerto paralelo envía las señales ACK, D0, D1, con D3 y D4 que habilitan la escritura. Para más información sobre esta versión los invito a visitar Versión Programador Pablin II Reloaded.

En mi caso no he implementado la parte del grabador para las memorias 24xxx lo cuál por un tema de espacio decidí dejarlo para la próxima. Para aquellos que les interese pueden armarlo completo sin problemas.

¿Cómo utilizo el programador?
Basicamente, se deben tener en cuenta un par de premisas para evitar arruinar microcontroladores.

_Corroborar todas las conexiones para evitar tener problemas: realizarlo antes de conectar por primera vez a la PC y a la alimentación.

_Medir todas las tensiones Vcc la primera vez: recuerda que cualquier tensión equivocada puede causar problemas y/o daños irreparables en tus PICs.
 
_Conectar los PICs y luego conectar la alimentación externa: los PICs son susceptibles de dañarse solo con la estática. Es recomendable slotearlo y luego alimentar el grabador. De la misma manera, desconectar la alimentación antes de extraer el PIC.
_No retirar ni colocar PICs si el led rojo está activo: obviamente no solo inutiliza la grabación sino que puede dañar el PIC.

Consejo extra: pueden extraer todos los pines que no se utilizan del zocalo, dejando solo los que tienen conexión, esto les facilitará tanto la extracción de los pics como evitar posibles cortos por un circuito mal construido y/o daño irreparable del PIC.

Me propuse a armarlo y aquí mis "pictures" con algunos modelos de PICs:



¿Que pics puedo grabar con este prototipo?
Pues todos los PICs de 8, 18, 28 y 40 pines tales como los de la familia 12Cxx, 16Cxxx, 16Fxx, 16F87x, 18Fxxx, 16F7x y 24Cxx entre otros.

¿Qué programa utilizo para grabar?
Se utiliza con este grabador el soft ICProg que pueden descargar desde aquí. Deben configurar dentro del soft al programador como "Propic II programmer" y marcar "Invertir MCLR". Cualquier información consultar a la fuente citada más abajo.

¡¿Que sucede? mi programador no funciona! 
En primer instancia les propongo realizar la siguiente modificación en la entrada de voltaje de manera de obtener los 13.2 v (13.8 v) en el pin Vpp. La tensión de programación debe ser cercana a este valor con una tolerancia del 5% para que nuestro programador funcione!!!

Sencillamente agreguen dos diodos 1N4148 en la pata GROUND del regulador como se muestra en la figura de esta manera obtendrán los 13.2 v necesarios. La fuente deberá tener por lo menos 15 volts para asegurar el funcionamiento del regulador.
 
Es necesario para usuarios de Windows NT,2000 y XP bajar un driver que encontrarán aquí. En esta página también encontrarán las soluciones para este problema. Acepto preguntas.

Mi dispositivo ya está listo, los invito a armar el suyo y compartir experiencias. Cualquier duda contactenme.

Fuentes:   http://www.pablin.com.ar/  Espectacular página sobre electronica, audio, computacion y más.
                http://heli.xbot.es/  Muy buena página acerca del desguase de artefactos electrónicos.

Agradezco a los respectivos autores por la información.

Display VFD manejado por un microcontrolador

Muchos de nosotros habrá tenido la oportunidad de estar en contacto con un VFD. Pero... ¿Qué es un VFD? Pues nos referimos a un display, más especificamente a un display fluorescente al vacío o Vacuum Fluorescent Display de acuerdo a las siglas en inglés. Un VFD se ve como el de la figura siguiente:


Los displays de este tipo presentan ciertas y marcadas ventajas con respecto a los clásicos LCDs:

-Alta luminosidad y brillo: que permite utilizarlos en todo tipo de aplicaciones donde la cantidad de luz es crítica.
-Posibildad de controlar la luminosidad: característica conocida como dimmer.
-Buena estética y llamativo: obviamente un display VFD es más llamativo y da un toque más de elegancia a nuestros proyectos.

Existen algunas desventajas que dependen de según como  y quien las mire:

-Son más dificiles de manejar: generalmente se precisa de un driver que integra un sistema de comunicacion serial.
-Se alimentan de diferentes tensiones: a veces dificiles de conseguir desde una fuente común.
-Sufren un cierto desgaste con el tiempo: viendose algunos segmentos más iluminados que otros.

Sin embargo, ustedes podrán sacar sobre este sus propias conclusiones.

Ahora bien, si uds. poseen alguna videograbadora o reproductor de DVDs en desuso, seguramente tendrán disponible algún VFD para utilizar. En mi caso, luego de desguasar una videograbadora Philips VR370/7 pude identificar el siguiente VFD:




¿Cómo funciona basicamente el VFD?
Existen muchos links interesantes para aquellos que deseen investigar más a fondo acerca del funcionamiento de este dispositivo como la Guía Noritake para manejo de VFDs, aquí intentaré basicamente explicar la manera en la que los segmentos se pueden manejar:
A diferencia de los displays de 7 segmentos, en los cuales teniamos un pin para manejar cada segmento individualmente, aquí tenemos un display constituido por varios grupos de segmentos, indicadores de funciones como PLAY, PAUSE, REC y modos como SP, DVD, CD, etc. donde cada palabra se puede considerar como un segmento, ahora bien....

Entonces ¿como manejamos tantos segmentos?...
Pues si tuvieramos un pin por cada segmento deberíamos tener más de 80 pines! en este display por ejemplo. Ahí es cuando se recurre entonces a la utilización de matrices. Una matriz (desde el punto de vista electrónico) es un arreglo de leds o indicadores que comparten cierto grupo de pines en los que se puede encender uno de ellos especifico a través de un "1" lógico en un valor apropiado de "x" e "y"... pero ¿que representa x e y? en este caso representan grupos de segmentos y segmentos respectivamente.

Ahora bien para ser más concisos y claros, pongamos nombres. Llamaremos grillas a un grupo o conjunto de segmentos especifico y llamaremos segmentos a cada uno de los posibles indicadores que podemos encender dentro de ese grupo. La figura a continuación intenta explicar el concepto:


Por ejemplo, la penúltima grilla del display de arriba está constituida por 8 segmentos, por lo que para encender alguno de ellos se deberá poner en "1" lógico al pin de grilla correspondiente a ese grupo y además poner en "1" lógico al o a los segmentos que quieran encenderse. En aquel caso para encender todos los segmentos deberíamos poner en "1" lógico a todos los pines de segmentos y un "1" lógico solo en esa grilla.

Se reduce así el número de pines que salen del display, pues solo necesitamos 22 pines en lugar de 121!!!!

Todo este trabajo de controlar los pines lo realiza generalmente un FIP driver o Controlador de Panel Fluorescente que viene también integrado en la placa. A él se conectan todos los pines de segmentos y grillas y se alimenta a través de +5V y -12 a -35V. Estas tensiones son necesarias para poner en funcionamiento el VFD. Encontré en mi videograbadora un driver u16312 de la marca NEC que es la principal compañia fabricante de VFDs y drivers FIP.

Tengo el display y el driver, ¿cómo puedo manejarlo para mostrar datos?...
De acuerdo al datasheet de dicho driver, la comunicación se realiza vía serial (ver datasheet para más detalles) utilizando 4 pines a saber: un pin de clock, un pin STROBE, un pin de DATAIN o ingreso de datos al VFD, y un pin de DATAOUT o salida de datos desde el VFD a un microcontrolador. Propongo conectar estos 4 pines a un microcontrolador como el PIC16f84 o el 877 y con la rutina adecuada podemos mostrar información en la pantalla de nuestro VFD.

El próximo desafío es obtener desde una fuente AT (de acuerdo a mi proyecto) las tensiones necesarias para manejar el dispositivo. La programación del PIC para manejar al display requiere de un protocolo especial que deberemos diseñar de acuerdo a los datos del fabricante. En la próxima entrada acerca de VFDs publicaré más sobre esto.

Acepto sugerencias. Saludos a todos!

Receptor de FM en un solo integrado


Quizas siempre hemos querido montar en nuestra cadena de audio un receptor de FM para obtener de esta manera una fuente extra que se le suele dar mucha utilidad. Los receptores generalmente tienen como problema principal a la hora de montarlos: la calibración. No es que se haga imposible la tarea pero cuantos dolores de cabeza nos puede causar hasta encontrar las posiciones adecuadas de los trimmers y bobinas y todos los preset que conformen nuestro esquema. Pues y no solo eso, ya que necesitamos la mayor parte de las veces algún que otro circuito calibrador, una sonda de RF, un osciloscopio .... y si somos aficionados a la electrónica y/o principiantes en este campo nos veremos desanimados en montar algo de este estilo... yo les digo pues nos desesperais... por suerte existen receptores de fm sencillos que no requieren calibración alguna y solo teniendo una pequeña idea de su funcionamiento estaremos bien encaminados jeje ...

Ya las familia TDA "nos adora" y es que una vez más me complace presentarles a otro miembro de ella, he aquí el TDA7000: un integrado que contiene todos los circuitos necesarios para construir un receptor de frecuencia modulada o FM y que incluye una etapa de F.I. especial, ya que trabaja a 70 KHz y esto le permite realizar el filtrado de frecuencia intermedia por medio de los filtros activos que incorpora el propio circuito integrado.

El integrado es capaz de capturar señales desde los 70 kHz del espectro hasta los 120MHz. Hablando del espectro comercial que va desde los 88 a 108 MHz (en Argentina por lo menos): este llega al receptor de FM a través de la antena y es filtrada mediante el filtro formado por los dos capacitores a la entrada de antena y la bobina L, dicha bobina es una bobina impresa, es decir construida mediante pistas del circuito.

La señal de radio una vez filtrada es conducida hacia el TDA7000, el cual demodula la señal, bajando la señal de radiofrecuencia a la F.I. de 70 KHz. Si usamos este C.I. no tendremos que utilizar bobinas de F.I. que hacen más complejo el circuito y más difícil de ajustar, ya que utilizamos filtros activos RC.

El circuito de sintonía está formado por dos bobinas ely el diodo varicap DV, el cual es un diodo cuya capacidad varía al variar la tensión aplicada entre sus terminales.
La frecuencia que queremos sintonizar es seleccionada por un potenciómetro mediante una resistencia que conduce diferentes niveles de tensiones, las cuales varían la capacidad del diodo varicap, haciendo así que se desplace la frecuencia de sintonía para, de esta forma, seleccionar la emisora deseada.Este es el punto más importante que nos permitirá como ya veremos digitalizar el sintonizador (publicaré en entradas posteriores el esquema).
El utilizar un diodo varicap obliga a alimentar el circuito mediante la tensión estabilizada, pues si la tensión varía, modificaría la tensión de sintonía y el receptor cambiaría de frecuencia sintonizando otra emisora, por ejemplo.
Una vez que la señal es demodulada y seleccionada mediante el circuito de sintonía, es decir, una vez obtenida la señal de audio, esta es conducida, mediante un condensador de paso hasta la primera etapa separadora y amplificadora, formada por un transistor y un grupo de resistencias.
La señal amplificada sale por el colector del transistor de salida y, mediante un capacitor se desacopla continua para dejar la señal lista para atacar el preamplificador.
Además, este circuito posee una salida auxiliar de baja frecuencia, para poder ser trasladada hacia un amplificador de potencia y obtener, así, mayores niveles de potencia, lo cual dependerá del amplificador.

Circuito básico

Características

Tensión de alimentación 9 a 12 Voltios
Consumo máximo 200 mA
Banda de frecuencia 88 - 108 mHz
Frecuencia intermedia 70 kHz
Sensibilidad 6 mV

¿Se puede obtener a partir de la salida MPX?

Para convertir nuestro receptor de radio de FM en un receptor estereofónico sólo debemos usar un decodificador estéreo a su salida como el LM1800 o el TDA1578. He aquí el esquema del LM1800:


La entrada del decodificador debe conectarse a la salida de auxiliar del receptor, pero si además deseamos controlar el volumen general de los dos canales con el potenciómetro de volumen de nuestro receptor conectaremos la entrada positiva del decodificador al cursor del potenciómetro de volumen de nuestro receptor.

Los detalles constructivos del esquema y la prueba en protoboard pronto. Suerte!!!

Conmutador de audio digital - Parte II


A base de un conmutador como el CD4052 podemos controlar entre las fuentes de audio de un mini Hi-Fi System, como bien comentamos anteriormente. Supongamos en nuestro caso, tenemos un amplificador TDA7386 de 4 canales, y tres fuentes de audio posibles, que podrían ser más: CD Player, Tuner y AUX.

El CD Player tiene una salida analógica de dos canales: L y R, un sintonizador de fm en base a un TDA7000 y un decodificador stereo LM1800 que entrega dos canales obviamente, y una entrada auxiliar de dos canales adaptada adecuadamente.

Las conexiones es este caso se reducen a :

Se manejará dicho multiplexor con un PIC16f877 encargado también de controlar la totalidad del sistema como ya estamos disseñando...