Programación de PICs

Para consultas y debates sobre el contenido de este artículo, visita el Hilo oficial.

En construcción.png

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.

Main-12F683.jpg

(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: Prog.gif

simple_jdm.png simple_jdm_with_leds.png

algunos otros esquemas para reforzar el tema: unootro y otro.

Ya sabiendo como lo tenemos que montar, vamos con la lista de la compra:

OPCIONAL:

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.

thump_182334025012008036.jpgthump_182333225012008037.jpgthump_182333125012008038.jpg thump_182333025012008039.jpgthump_182332725012008040.jpgthump_186471207022008046.jpg

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.

te20.jpg

Para hacer un TE20 seguiremos este esquema:

esquemate20.jpg

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:

pcb_comp.gif pcb_pistas.gif

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í:

componenteste20.jpg te20.jpg

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:

1867553Esquema.png

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:

1867585Foto.jpg

(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:

picprog4u winpic800 icprog

http://www.elotrolado.net/hilo_-TUTORIAL-DEFINITIVO--Programa-tu-12f629-Correctamente-_717962?highlight=pic

http://www.elotrolado.net/hilo_-Tuto--programador-para-PICS-sencillito---2-_773350?highlight=pic

http://www.elotrolado.net/hilo_Patillas-necesarias-programar-PIC-12f629-Con-T-20_933195?highlight=t20

http://www.elotrolado.net/hilo_Hilo-oficial-modchip-YAOSM---2-_892286?highlight=t20

En linux

gracias a souf, que ha encontrado ésta guía:

http://www.elotrolado.net/post_-TUTORIAL-DEFINITIVO--Programa-tu-12f629-Correctamente-_1709852682#post1709852682

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_-TUTORIAL-DEFINITIVO--Programa-tu-12f629-Correctamente-_717962?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