Microcontroladores
Hace unos meses volví a oir hablar de unos viejos conocidos: los microcontroladores de la casa “microchip”; la razón es que Cristobal los utiliza en su fantástico OSD “DakarOSD”, circuito imprescindible para volar FPV con seguridad que nos permite visualizar datos del vuelo como la velocidad, altura, distancia, etc. Así es que me puse a rebuscar entre mis trastos de electrónico aficionado y encontré que tenía bastante equipo abandonado que podría volver a utilizar, por ejemplo, el grabador de PICs “PICKit 1Flash Starter Kit“, nueve PICs aún sin usar, infinidad de circuitos de la serie 74 (circuitos lógicos de la familia TTL), etc.
El programador
Para trabajar con microcontroladores es imprescindible el uso de un programador que permite introducir la programación del microcontrolador en su memoria EEPROM. El programador que yo tengo lo compré hace bastante tiempo, así es que lo primero que hago es comprobar si aún sirve para algo. La programación se hace desde un ordenador, en mi caso un portátil, así es que el primer paso es instalar el software. Existen dos programas para grabar PICs con este programador:
- PICKit 1 Classic
- PICKit 1 Baseline Flash
Desde la web de Microchip descargo el primer programa: PICkit 1 Classic Setup.exe. Funciona correctamente y reporta que la versión del Firmware es la 1.0.0, un poco antigua porque la última versión es la 2.0.2.
El segundo programa, PICkit 1 Baseline Setup.exe, también funciona y reporta lo mismo, la versión del firmware es la 1.0.0, sin embargo parece que este programa no funciona conversiones inferiores a la 2.0.0.
De la web de microchip puedes descargarte una actualización del firmware a la 2.0.2. Es un hex para grabar el 16C745, lo que no sé es cómo grabar ese chip! Sin esa actualización, el segundo programa, PICKit 1 Baseline Flash, no funciona, y me parece que el ICSP (hablaré de qué es esto más adelante) tampoco. Microchip vende un “upgrade kit”, con part numer UK164101, por sólo 3,39 euros. El problema es que con los portes, 5€ de manipulación y el IVA se pone en unos 25 euros la gracia! Así es que mejor me lo pienso…
Otra cosa que también es necesaria es el entorno de programación que permite programar, depurar y grabar nuestro programas. De momento he instalado MPLAB IDE versión 8.20, que distribuye la casa microchip gratuitamente. Este me permite grabar directamente ciertos PICs, por ejemplo el 12F675 de los que tengo alguno en reserva (cuatro exactamente).
En realidad este programador permite grabar todos estos PICs:
- PIC12F629, 635, 675, 683,
– PIC16F630, 636, 676,
– PIC16F684, 685, 687, 688, 689, 690, 785
– PIC16F913, 914, 916, 917, 946
Con la versión 2.0.X del firmware se podrían grabar estos PICs además:
• PIC12F508/509 and PIC16F505
• PIC10F200/202/204/206
• PIC16F54/57/59
Sin embargo por desgracia este grabador no me va a permitir grabar PICs como el 18F252 que utiliza el Dakar OSD, así es que me estoy planteando comprar un PICKit 2. Encuentro por 36$ uno en esta URL y quizá acabe comprándolo: http://mcuboards.ecrater.com/product.php?pid=3887299.
ICSP
Este es un protocolo para poder grabar los PICS en el propio circuito sin tener que desoldar nada. ICSP significa “In Circuit Serial Programming“.
Al parecer el PICKit 1 es un grabador ICSP, por lo tanto se podrían sacar del PICKit los cinco hilos necesarios para grabar chips que soporten este standard. El pineado es este:
| Pin J3 (grabador) | Función grabador | Pin Socket |
| 13 | Vdd | 1 |
| 14 | Vss (ground) | 14 |
| 7 | ICSPData | 13 |
| 8 | ICSPClk | 12 |
| 3 | MCLR | 4 |
Monto un cable paralelo entre el grabador y el PIC y compruebo que lee y escribe correctamente los datos.
ICSP para Dakar OSD
Para programar el Dakar OSD de Cristobal voy a fabricar un cable ICSP para poder grabar desde mi PICKit 1. Para hacer el cable, compruebo cómo coloca Cristóbal los cinco pines de ICSP en su Dakkar OSD. Con esos datos, la disposición del pineado y de cable es ésta:
| Pin Socket | Pin J3 | Función | Pin Dakar |
| 1 | 13 | Vdd | 5 |
| 14 | 14 | Vss (GND) | 4 |
| 13 | 7 | ICSPData | 2 |
| 12 | 8 | ICSPClk | 3 |
| 4 | 3 | MCLR | 1 (pin superior) |
(la info sobre el pineado para ICSP la saco de esta URL: http://groups.google.com/group/pickit-devel/browse_thread/thread/947b12781eb12874?pli=1)
El PIC que utiliza Cristobal es el 18F252. PROBLEMA —> PARECE QUE EL PICKit1 NO PUEDE PROGRAMAR ESTE CHIP!!! Parece que definitivamente tendré que pasarme al PICKit 2.
Inventario de PICS
Estos son los PICs que tengo ahora mismo por casa
| PIC | Info |
| 12F675 |
Se pueden programar con el PICKit 1 |
| 12C508A |
No se pueden programar con el PICKit 1 y MPLAB. |
| 24AA64 | Esto son memorias EEPROM I2C (serie) de 64K |
| 18F252 | Este es el PIC del DakarOSD. No lo tengo suelto, sino que lo tengo integrado dentro del Dakar, pero mi intención es poder programarlo gracias al interfaz ICSP. |
.
