Programación de PICs
Para consultas y debates sobre el contenido de este artículo, visita el Hilo oficial.
Este artículo está en construcción.
Por esta razón, seguramente habrá lagunas en el contenido o en el formato. Por favor, antes de cambiar el contenido, consulta la página de discusión del artículo.
Contenido |
¿Qué es un PIC?
Según la wikipedia, un PIC es un microcontrolador diseñado originalmente por General Instruments, es un integrado (una cucaracha) con reloj integrado que permite realizar una instrucción por cada 4 ciclos de reloj. Las patas están numeradas en el sentido inverso a las agujas del reloj, siendo la pata uno la de la izquierda, teniendo la muesca que llevan los integrados en la parte de arriba.
(Nota: nombrar fuentes)
Lo que a nosotros nos importa: Los pics que a nosotros nos van a interesar son los pics de las familias 12F y 16F, sobre todo la primera, porque son los mas fáciles de programar usando un programador casero. entre estos, los compatibles con yaosm son:
- 12F629/12F675
- 12F635
- 12F683 (recomendado)
- 16F627/16F627A/16F628/16F628A/16F648A
- 16F630/16F676
- 16F636/16F639
- 16F684
si a alguien le interesa más el tema de la programación de los pics, aquí tenéis algo mas de info.
¿Cuales son los modchips que se pueden programar de manera casera?
El más importante y que está teniendo un desarrollo más rápido es el Yaosm. su foro oficial está en inglés y está Aquí.
La rama en el foro oficial del yaosm está Aquí
(Nota: añadir)
¿Qué necesito?
Para chipear la wii ahora mismo solo existe el método de atacar al lector, que es lo que se supone que estamos haciendo. para ello necesitamos un pic que posteriormente soldaremos a la consola, y el programador que nos servirá para escribir en él el código que queremos que corra.
consiguiendo un pic
Un pic es relativamente fácil de conseguir. en tiendas de electrónica es muy fácil que los tengan, amén de poder conseguir muestras gratuitas en páginas de internet, como ésta, en la que tenéis que registraros con una cuenta de correo NO gratuita (no valen hotmail, gmail, yahoo, etc, probad con la de universidades o la junta de extremadura, o alguna de esas). el envío es gratuito y tarda alrededor de 8 dias en llegar.
los pics pueden venir en distintos encapsulados, vamos a usar el encapsulado I/P, que es el mas grande y manejable para nuestro caso.
consiguiendo un programador
El programador es algo un poco mas caro y enrevesado. tenemos dos maneras de conseguirlo: gastando un poco más y comprando un programador T20, ya sea en eBay o en alguna tienda de electrónica, o hacernos un programador.
haciéndote uno propio
Si decidimos hacerlo, tenemos dos opciones. hacer un programador JDM sencillito para un integrado de 8 patas, o hacer un programador T20, algo un poco mas complicado, aunque más versátil.
hacemos un programador JDM
El diseño circuital de un programador JDM es cualquiera de los siguientes. dependiendo del que escojáis, tendréis que añadir más o menos componentes. yo os recomiendo el más completo, ya que váis a gastaros 40 céntimos más y va a funcionar mejor:
algunos otros esquemas para reforzar el tema: unootro y otro.
Ya sabiendo como lo tenemos que montar, vamos con la lista de la compra:
- 1 resistencia de 10k
- 1 resistencia de 2.2k
- 1 resistencia de 22k
- 1 alargador de cable usb
- 1 zócalo de 8 patas
- 1 conector RS-232
OPCIONAL:
- 1 transistor BS-170
- 2 diodos led
- 2 resistencias para el led (el valor depende del color del led, para led rojo son de 470 ohmios)
amén de soldador y estaño.
Paso 0: novatos Si eres muy novato y no has hecho nada nunca de electrónica, pero te interesan estas cosillas, te recomiendo que compres una placa de entrenamiento. cuestan poco, son unas placas amarillas o grises con agujeritos, y te permiten montar circuitos sin tener que soldar nada, solo con cables pelados y pinchando las patillas de los componentes en cada agujerito. Esto es muy util para probar un circuito y ver si funciona, antes de ponerse a soldar.
Paso 1: mirar, mirar, mirar Esto es para los más novatos, los que ya han trabajado con electrónica alguna vez lo saben perfectamente. tenemos que observar bien cuáles son los componentes que tienen polaridad y que no. el zócalo tiene polaridad (cada pata vale para una cosa distinta), el transistor tambien, y la alimentacion del cable usb también.
- el zócalo se mira desde arriba, con las patas hacia abajo.
- el transistor BS-170 se mira con la cara plana hacia delante.
- el conector RS-232 tiene normalmente los numeros de cada patilla escritos en el plástico.
- en el cable usb tendremos 4 hilos y unos hilillos sueltos que tocan con el recubrimiento metalico. los hilillos sueltos y el recubrimiento lo cortamos, igual que el hilo verde y el blanco. los unicos que nos sirven son el rojo (+5v) y el negro (0v).
- los led tienen también polaridad. el encapsulado tiene un lado con un corte plano. ese lado es el mismo que el de la linea recta del dibujo del led. además, una de las patas es más corta que la otra, indicando la polaridad también.
Paso 2: estudio previo Debemos decidir como vamos a colocar los componentes dentro de nuestra caja/conector. sino, luego nos damos cuenta de que no entran y la hemos liado. este paso lleva su tiempo la primera vez, luego uno se acostumbra y se tarda muy poquito.
Paso 3: soldar Sabiendo donde va cada cosa, colocamos los componentes y los soldamos como se debe. cuando varios hilos salen del mismo punto, solo tenemos que soldar a la misma pata, sin saltarnos ningún componente.
Resultados
el resultado es un conector serie con un cable usb conectado por detrás. para hacerlo funcionar deberemos enchufar ambos conectores al ordenador, y pinchar un pic en el zócalo que hemos puesto.
otro hecho por Cram otro hecho por d_negro otro hecho por dr.Catz otro hecho por flash78
hacemos un TE20
Para hacer el TE20 teneis info aquí.
un TE-20 es un programador más potente que el "cutreprogramador" JDM que hemos hecho antes, aunque es igual de eficaz que el JDM usándolo para el propósito de este tutorial.
Para hacer un TE20 seguiremos este esquema:
Siendo la lista de la compra la siguiente:
- CN1 Conector hembra de 9 pines.
- C2 Condensador de 100uf/16v.
- C3 Condensador de 22uf/16v.
- D2 Diodo Zener 5v1.
- D3, D4, D5, D7 Diodo 1N4148 (también ).
- D6 Diodo Zener8v2.
- Q2,Q1 Transistor BC307.
- R1 Resistencia 10K.
- R2 Resistencia 1K5.
- R3 Resistencia 100K.
- R4 Resistencia 1K.
- U1 Zócalo de 18 pines.
- U2 Zócalo de 8 pines.
y quedando las placas para isolar de la siguiente manera:
nota: La resistencia R4 de 1K, va colocada en lugar del puente que esta justo debajo de R1.
en el TE20 "normal" los componentes quedarían así:
hacemos un programador T20SE
Toda la información y los diagramas para isolar las placas del TE20SE están en este zip, cortesía de DTforums (lo he tomado prestado)
El programador TE-20SE tiene un diseño como el que sigue:
la lista de la compra:
- R1 Resistencia 10 K
- R2 Resistencia 1K5
- R3 Resistencia 100 K
- R4 Resistencia 1 K
- R5 Resistencia 1 K
- R6 Resistencia 1 K
- Dz1 Diodo zener 8,2 V
- Dz2 Diodo zener 5,1 V
- DL1 Diodo led 3 mm verde
- DL2 Diodo led 3 mm rojo
- D1,D2, D3, D4 Diodo 1N4148
- C1 Electrolítico 22uF/16V
- C2 Electrolítico 100uF/16V
- Q1, Q2 BC237 Q3 BC307
- Conector DB9 Hembra codado
- Zócalo 28 pines
- Zócalo 18 pines
- Zócalo 8 pines
para simplificar deberiamos tostar el TE20SE en una PCB con un diseño como este:
(Nota: hay gente que lo ha hecho en el foro)
Manos a la obra: programando el PIC
(Nota: links+ explicacion clara)
En windows
los programas mas usados para programar con nuestro nuevo y flamante programador son los siguientes:
http://www.elotrolado.net/hilo_-Tuto--programador-para-PICS-sencillito---2-_773350?highlight=pic
http://www.elotrolado.net/hilo_Hilo-oficial-modchip-YAOSM---2-_892286?highlight=t20
En linux
gracias a souf, que ha encontrado ésta guía:
FAQ
para dudas con el TE-20, consultad esta guia
links de interés en el foro
http://www.elotrolado.net/hilo_-Tuto--programador-para-PICS-sencillito---2-_773350?highlight=pics
http://www.elotrolado.net/hilo_Hilo-oficial-modchip-YAOSM---3-_949831?highlight=pics
http://www.elotrolado.net/hilo_Programador---conector-externo--db9-_761191?pagenumber=1
agradecimientos
- a lande, por la foto y la info
- a cyber perez, por algunas fotos más
- a Cram, por su foto del programador
- a d_negro, por su foto del programador
- a dr.Catz, por su programador
- a flash78 por su programador
- a souf, por buscarse un programador para linux
- al maestro Yoda por el support que me ha dado haciendo esto
- ...y a todos los usuarios de eol, por todo lo que me han dado sin saberlo a lo largo de los años, y ahora empiezo a devolver