4/28/2015

Thank you NUMATO LAB

Saludos!! a todos los lectores, le comento a finales del 2014 realice una publicación sobre NUMATO LAB una tienda de electrónicos en la india, en la cual regalaban ciertos productos a los que ayudaran a difundir su tienda (Leer articulo completo AQUÍ), bueno pues yo decidí compartir sus enlaces, desafortunadamente no gane ninguno de los mejores regalos que iban a obsequiar, pero afortunadamente ellos con el solo hecho de ayudar te iban a mandar un regalo sorpresa, debo decir me sorprendí cuando hoy por la tarde llego un paquete de ellos (pasaron casi 4 meses para que llegara, pero bueno un regalo es un regalo jejejejeje). Bueno como clásico niño con juguete nuevo a abrirlo para ver lo que llego, bueno sin mas rodeos aquí una foto de lo que me mandaron.


4/09/2015

PICkit2 Clone


Saludos!! Les cuento hace un par de días me decidí a fabricar mi PICkit2 Clone (no es que no tenga un grabador, lo que ocurre es que necesitaba uno para prestarlo y como tenía todos los materiales pues me decidí a armarlo, de hecho tengo un PICkit3 original y también un PICkit2 que me prestaron), para ello me guie de varios modelos encontrados en la red en especial en uno, el de Felixls que pueden checarlo AQUÍ, me gusto la forma en la que lo realizo y más en la forma que le agrego la protección para el circuito con los acrílicos. Cabe mencionar que todos son similares y que se basan en el que comparte Microchip, solo que este le han retirado algunos componentes que al parecer no son tan útiles al momento de grabar un microcontrolador, buena ya que hicieron la chamba pues a nosotros nos toca utilizar el circuito propuesto y armarlo.

Hablemos un poco en que consta el circuito, el cerebro de nuestro grabador está basado en el PIC18F2550 (Mas adelante mencionaremos lo del archivo.HEX que le debemos cargar), tiene su conector USB, sus LEDs de estado (el Verde indica presencia de voltaje en la tarjeta, Rojo indica cuando se usando la tarjeta ya sea grabando un PIC o leyéndolo), su oscilador a 20MHz con sus debidos capacitores, otra parte importante es la encargada de elevar el voltaje (como sabrán el PIC necesita +12V para entrar en modo programación) para ello tiene un elevador de voltaje en topología boost conformado por Q1, L1, D1 y C5 con su debida retroalimentación que está formada por un divisor de tensión entre R8 y R13 (Bueno la intensión no es saber a detalle como traba cada etapa solo lo menciono para que se den una idea de lo que tiene), considerar que por eso es importante la bobina tipo resistencia de 680uH ya que el circuito está calculado con ello (en algunos sitios o foros comentaban que les era difícil conseguir esta bobina así que optaban por fabricar una y obtenían buenos resultados, en mi caso no fue difícil conseguirla así que no me preocupe por eso), lo demás son filtros y el conector ICSP para grabar los PICs, así que sin más rodeos el circuito usado es el siguiente:


Bueno como dije antes debemos grabar el PIC con el archivo .HEX que nos lo proporciona el mismo Microchip, incluso en la carpeta donde se instala el PICkit2 (regularmente en: Archivos de programa >> microchip >> PICkit 2) está el archivo con el nombre PK2V023200 que es el que se tiene que cargar al PIC (de todos modos lo dejare al final con todos los archivos necesarios para que se fabriquen uno). Considerando que si este es su primer grabador necesitaran de otro para poder cargar el archivo antes mencionado, para ello pueden buscarse uno en la red como el JMD, PIPO2 o alguno similar con conexión serial, otra opción es pedirles a un conocido, amigo, familiar pariente cercano, etc. que ya tenga un grabador que les cargue el archivo a su PIC y listo. Irónicamente yo use un PICkit2 para hacer dicha tarea.


Una vez grabado el PIC me di a la tarea de probar el circuito en protoboard para corroborar su funcionamiento (perdonar si es que se ve muy feo mi armado no soy tan bueno).


Ya que termine en ensamblarlo pues directo a conectarlo a la PC a ver qué gestos hace (Importante mencionar que ya se debe de tener instalado el PICkit2 que puedes descargarlo directamente en la página de Microchip yo he instalado la versión 2.61 y puedes obtenerla desde AQUÍ).


Una vez conectado inmediatamente se inician a instalar los drivers en la computadora.


Si hacemos click sobre el anuncio veremos el proceso de de la instalación de los controladores, vemos que nos reconoce como PICkit 2 Microcontroller Programmer y que esta buscando los controladores.


Bueno yo de loco y desesperado (por cierto debo decir que se tarda un poco en hacer este paso de instalar los controladores) decidí abrir el PICkit 2, como era de esperar y como se aprecia nos muestra el mensaje “PICkit 2 not found” (claro porque aun no tiene los controladores) y también se aprecia que está buscando la carpeta con los controladores.


Una vez que termine el proceso te dice que el dispositivo USB está listo para usarse ahora solo falta ir a Tools >> Check Communication para que no reconozca el dispositivo.


Ahora si le agregue mi zócalo ZIF y un PIC16F84A (que era el que me interesaba que reconociera).


Como dije antes fui a Tools >> Check Communication y me lleve una gran sorpresa, me reconoció el grabador pero no el PIC16F84A, dije cómo es posible esto e intente con otros PICs obteniendo el mismo resultado (Lo comento ya que les puede pasar).


Después de un momento y de ir por una taza de café, decidí checar el circuito en la protoboard ya que dije allí es donde está mi error, comprobé que realice todas mis conexiones adecuadamente, decidí revisar si el elevador de voltaje estaba realizando su chamba saque mi multimetro y comprobé que si estaba elevando el voltaje (esto después de D1), me fui a revisar si ese voltaje estaba llegando a conector ICSP (Para esto una vez más Tools >> Check Communication) y mi sorpresa fue que no estaba llegando los +12V, recordé que el transistor Q4 (Había colocado un BC557, que por cierto era el único que tenia) ya tenía tiempo con migo y no estaba del todo seguro que estuviera en buen estado, como ya no tenía otro de la misma matricula opte por colocarle un 2N3906, una vez más cheque comunicación y caso resuelto, llego voltaje al conector ICSP y también me reconoció el PIC.

Probé con otros microcontroladores que tenia a la mano (PIC12F675, PIC16F84A, PIC16F627, PIC16F28A, PIC16F886, PIC16F877A, PIC16F887, PIC18F4620, PIC1824550), grabándoles unos hexadecimales que tenia de otros proyectos y todo funciono correctamente. 

Hasta este momento ya todo iba bien, el siguiente paso era hacer el ruteado y pasarlo a la baquelita para después soldar y una vez más hacer las pruebas. Bueno después de estar cierto tiempo frente a la computadora, pensando, acomodando y viendo por donde iban a pasar cada una de las líneas, este fue el resultado obtenido (todo en true-hole ya que era el material que tenía en casa y no quise gastar), con un tamaño de 65mm x 35mm (un buen tamaño considero yo), una cola cara y con la mínima cantidad de puentes (solo dos).


No lo había mencionado antes pero aquí está la lista de materiales que se utilizan para el circuito con sus etiquetas correspondientes. 
  • 1 Condensador electrolítico de 10uF/25V (C1)
  • 3 Condensadores cerámicos de 0.1uF (C2, C6, C7)
  • 2 Condensadores cerámicos de 22pF (C3, C4)
  • 2 Condensadores electrolíticos de 47uF/25V (C5, C8)
  • 2 Diodos 1N4148 (D1, D2)
  • 1 Microcontrolador PIC18F2550 (IC1)
  • 1 Zócalo para circuito integrado de 28 pines (IC1)
  • 1 Bobina tipo resistencia de 680uH (L1)
  • 1 LED Verde de 3MM (LED1)
  • 1 LED Rojo de 3MM (LED2)
  • 3 Transistores NPN BC548 (Q1, Q2, Q3)
  • 1 Transistor PNP 2N3906 (Q4)
  • 2 Resistores de 330Ω 1/2 W (R1, R2)
  • 4 Resistores de 10KΩ 1/2 W (R3, R11, R14, R15)
  • 3 Resistores de 47Ω 1/2 W (R4, R6, R10)
  • 1 Resistor de 100KΩ 1/2 W (R5)
  • 2 Resistores de 4.7KΩ 1/2 W (R7, R8)
  • 1 Resistor de 100Ω 1/2 W (R9)
  • 1 Resistor de 1KΩ 1/2 W (R12)
  • 1 Resistor de 2.7KΩ 1/2 W (R13)
  • 1 Pulsador (S1)
  • 1 Cristal de cuarzo de 20MHz (X1)
  • 1 Conector USB (USB)
  • 1 Header hembra, solo se ocuparan 6 pines (ICSP)
  • Otros: Cable USB, Placa para circuitos impresos, Brocas, Tronillos con tuercas, Acrílico, Cloruro férrico, Minitaladro o taladro, Impresora laser, Papel couche, en fin todo lo que ocupen para hacer su PCB y en donde lo van a meter o como van a proteger su circuito.
Una vez terminado el ruteado y mencionado los materiales y componentes pues es hora de iniciar con el PCB, no sé si lo sepan pero yo utilizo el método de transferencia, así que imprimo en papel couche usando una impresora laser y luego el papel junto con la placa para impresos lo paso por una laminadora (enmicadora), también aplica la típica con plancha y listo es hora de pasarlo al cloruro férrico.


Después de pasarlo por el cloruro y un poco de agua nos queda de la siguiente forma.


Limpiamos la tinta, perforamos y listo ya casi iniciamos con la soldadura.


Me decidí por estañar el PCB para ello pase el cautín con soldadura por toda la tarjeta y retire el exceso con malla de cobre para desoldar, así termino luciendo.


Y listo a soldar se ha dicho, yo lo hago así; primero los más pequeños hasta los más grandes, puentes, resistores, diodos, transistores, condensadores cerámicos, bases de circuitos, capacitores electrolíticos en fin como les acomode hacerlo, aquí unas cuantas fotos.








Y una vez terminado de soldar y colocarle nuestro PIC tenemos listo nuestro PICkit2 Clone.


Después de agregarle unos trozos de acrílico así va quedando.


Una foto mas pero ahora unido a su zócalo ZIF.


Y como no podía faltar una del Clone vs Original.


Y aun mas PICkit3, PICkit2 Clone y PICkit2.



Unas mas de como luce al final.



Aquí un vídeo donde se aprecia el circuito (tal vez no sea de lo mejor pero esta trabajando).


Aquí el enlace para DESCARGAR los archivos disponibles desde mi repositorio en GitHub, si no sabes como descargarlo puedes checar aquí, si quieres hacerle un zócalo ZIF puedes consultarlo desde aquí. Bueno por el momento es todo si tienes dudas, comentarios, sugerencias, inquietudes, traumas, etc. dejarlas y tratare lo mas pronto posible responderlas...
  • Actualización (17/10/2016): Se corrigió enlace de descarga.
Referencias y otros similares:

4/04/2015

Invertir el giro de un motor de CD con el L293B o L293D

En ocasiones se requiere que el giro de un motor sea manipulado en ambas direcciones ya sea para una u otra aplicación, como ejemplo podríamos mencionar un carro a control remoto, un robot móvil, entre muchos otros. Una manera sencilla de hacerlo es con un arreglo de transistores (puente H) pero en esta ocasión lo realizaremos con un integrado el L293B (también aplica el L293D), ya que este en su interior contiene dos puentes con los cuales puede realizarlo perfectamente y además con una gran ventaja, que es la de ser compacto.

Algunas características del L293B:

El L293B es un driver de 4 canales capaz de proporcionar una corriente de salida de hasta 1A por canal y puede soportar picos de hasta 2 A.

Cada canal es controlado por señales de entrada compatibles TTL y cada pareja de canales dispone de una señal de habilitación que desconecta las salidas de los mismos.

Dispone de una patilla para la alimentación de las cargas que se están controlando, de forma que dicha alimentación es independiente de la lógica de control y soporta hasta 36 volts tanto para la lógica como para la carga, recordando que los voltajes de entrada son de 5 volts.

A continuación la descripción de cada pin del integrado.
El integrado es el L293B que como anteriormente lo aviamos visto para controlar motores en una sola dirección y con el cual podíamos tener control de cuatro de ellos, ahora como máximo podemos controlar dos.

A continuación se muestra el diagrama para una buena conexión.
A continuación muestro la tabla de verdad de nuestro circuito recordando que H=5 volts, L=0 volts o GND Y NC=No conectado:
Si se quiere proteger el circuito contra posibles picos de corriente inversa cuando se activa o desactiva el motor, se recomienda conectar unos diodos tal y como se muestra en el siguiente circuito.
Dedo decir que esto de colocarle los diodos solo aplica para el L293B ya que el L293D ya los trae internamente.