Foros ZackYFileS

Foros ZackYFileS (http://foros.zackyfiles.com/index.php)
-   PROGRAMACIÓN Microcontroladores: PICs , AVRs. (http://foros.zackyfiles.com/forumdisplay.php?f=437)
-   -   Programador PICs - PP2 (http://foros.zackyfiles.com/showthread.php?t=518709)

ZackY 12/06/2007 15:09

Programador PICs - PP2
 
<p class=MsoTitle>Programador PP2.</p>
<p align=center style='text-align:center'>Por José Manuel García</p>
<p align=center style='text-align:center'>&nbsp;</p>
<h1>***** Introducción.</h1>
<p>******** Se han presentado en artículos anteriores otros programadores muy
simples aunque limitados. Presentamos ahora un programador semi-profesional,
capaz de programar una cantidad ingente de dispositivos actuales y futuros,
gracias a sus posibilidades de ampliación, desde memorias EEPROM de varias familias
hasta microcontroladores de diversos fabricantes y, en general, casi cualquier
dispositivo programable mediante un protocolo serie. Y todo ello, manteniendo
la compatibilidad con el programador en el que está basado, el ProPic Programmer,
por lo que se puede utilizar con la mayor parte del software de programación
de dispositivos existente. Teniendo en cuenta esto, su precio es razonable,
unos 15 euros con zócalos estándar y menos de 50 euros con ZIF (zócalo de fuerza
de inserción nula).</p>
<p>******** Además del zócalo incluido en el programador, que permite programar
los dispositivos más habituales, se ha añadido un conector a través del cuál,
mediante adaptadores muy simples, se pueden programar otros dispositivos menos
utilizados, o en encapsulados diferentes, por ejemplo dispositivos para montaje
superficial. A través de este conector, también se pueden programar dispositivos
en el propio circuito (ICSP), y será la vía para adaptarse a otros dispositivos
programables en serie que aparezcan en el futuro. La tabla 1 muestra los dispositivos
programables actualmente (los que aparecen en negrita los he probado personalmente).</p>
<table border=1 cellspacing=0 cellpadding=4 bordercolor="#366A9E">
<tr>
<td width=462 valign=top class="Normal">
<p align="left"><b><span style='font-size:11.0pt; font-family:Arial'>Dispositivo:</span></b></p>
</td>
<td width=60 valign=top class="Normal">
<p align=center style='text-align:center'><b><span
style='font-size:11.0pt;font-family:Arial'>Z&oacute;calo</span></b></p>
</td>
<td width=60 valign=top class="Normal">
<p align=center style='text-align:center'><b><span
style='font-size:11.0pt;font-family:Arial'>ICSP</span></b></p>
</td>
<td width=59 valign=top class="Normal">
<p align=center style='text-align:center'><b><span
style='font-size:11.0pt;font-family:Arial'>Adapt.</span></b></p>
</td>
</tr>
<tr>
<td width=462 valign=top class="Normal" height="161">
<p align="left"><span lang=EN-GB style='font-size:11.0pt;font-family:Arial;'>PICs:<br>
</span><b><span lang=EN-GB
style='font-size:11.0pt;font-family:Arial;
'>12C508</span></b><span lang=EN-GB style='font-size:
11.0pt;font-family:Arial;'>, <b>12C508A</b>, <b>12C509</b>, <b>12C509A</b>,
<b>12CE518</b>, 12CE519, 12C671, <b>12C672</b>, 12CE673, 12CE674, 16C61,
16C62A, 12C62B, <b>12F629</b>, <b>12F675</b>, 16C63, 12C63A, 16C64A,
<b>16C65A</b>, 16C65B, 16C66, 16C67, <b>16C71</b>, 16C72, 12C72A, 16C73A,
16C73B, 16C74A, 16C74B, 16C76, 16C77, 16F83, <b>16C84</b>, <b>16F84</b>,
<b>16F84A</b>, 16C433, 16C505, 16C620, 16C621, 16C622, 16C622A, <b>16F627</b>,
<b>16F628</b>, 16C715, 16F870, 16F871, 16F872, <b>16F873</b>, 16F874,
<b>16F876</b>, <b>16F877</b>, 16C923, 16C924, 18F242, <b>18F252</b>,
<b>18F258</b>, 18F442, <b>18F452</b>, <b>18F458</b> </span></p>
</td>
<td width=60 class="Normal" height="161">
<p align=center style='text-align:center'><b><span
style='font-size:11.0pt;font-family:Arial'>SI</span></b><span
style='font-size:11.0pt;font-family:Arial'></span></p>
</td>
<td width=60 class="Normal" height="161">
<p align=center style='text-align:center'><b><span
style='font-size:11.0pt;font-family:Arial'>SI</span></b><span
style='font-size:11.0pt;font-family:Arial'></span></p>
</td>
<td width=59 class="Normal" height="161">
<p align=center style='text-align:center'><span
style='font-size:11.0pt;font-family:Arial'>NO</span></p>
</td>
</tr>
<tr>
<td width=462 valign=top class="Normal">
<p align=left style='text-align:left'><span style='font-size:
11.0pt;font-family:Arial'>24C01A, 24C02, 24C04, 24C08, <b>24C16</b>, <b>24C32</b>,
24C64, 24C128, <b>24C256</b>, <b>24C512</b></span></p>
</td>
<td width=60 class="Normal">
<p align=center style='text-align:center'><b><span
style='font-size:11.0pt;font-family:Arial'>SI</span></b><span
style='font-size:11.0pt;font-family:Arial'></span></p>
</td>
<td width=60 class="Normal">
<p align=center style='text-align:center'><span
style='font-size:11.0pt;font-family:Arial'>NO</span></p>
</td>
<td width=59 class="Normal">
<p align=center style='text-align:center'><span
style='font-size:11.0pt;font-family:Arial'>NO</span></p>
</td>
</tr>
<tr>
<td width=462 valign=top class="Normal">
<p align="left"><span style='font-size:11.0pt; font-family:Arial'>59C11,
59C22, 59C13</span></p>
</td>
<td width=60 class="Normal">
<p align=center style='text-align:center'><span
style='font-size:11.0pt;font-family:Arial'>NO</span></p>
</td>
<td width=60 class="Normal">
<p align=center style='text-align:center'><span
style='font-size:11.0pt;font-family:Arial'>NO</span></p>
</td>
<td width=59 class="Normal">
<p align=center style='text-align:center'><b><span
style='font-size:11.0pt;font-family:Arial'>SI</span></b><span
style='font-size:11.0pt;font-family:Arial'></span></p>
</td>
</tr>
<tr>
<td width=462 valign=top class="Normal">
<p align="left"><span style='font-size:11.0pt; font-family:Arial'>MDA2062,
NVM3060</span></p>
</td>
<td width=60 class="Normal">
<p align=center style='text-align:center'><span
style='font-size:11.0pt;font-family:Arial'>NO</span></p>
</td>
<td width=60 class="Normal">
<p align=center style='text-align:center'><span
style='font-size:11.0pt;font-family:Arial'>NO</span></p>
</td>
<td width=59 class="Normal">
<p align=center style='text-align:center'><b><span
style='font-size:11.0pt;font-family:Arial'>SI</span></b><span
style='font-size:11.0pt;font-family:Arial'></span></p>
</td>
</tr>
<tr>
<td width=462 valign=top class="Normal">
<p class=MsoFootnoteText align="left"><b><span style='font-size:11.0pt;font-family:Arial'>93C06</span></b><span style='font-size:11.0pt;
font-family:Arial'>, <b>93C46</b>, 93C56, 93C57, <b>93C66</b>, 93C76, 93C86</span></p>
</td>
<td width=60 class="Normal">
<p align=center style='text-align:center'><span
style='font-size:11.0pt;font-family:Arial'>NO</span></p>
</td>
<td width=60 class="Normal">
<p align=center style='text-align:center'><span
style='font-size:11.0pt;font-family:Arial'>NO</span></p>
</td>
<td width=59 class="Normal">
<p align=center style='text-align:center'><b><span
style='font-size:11.0pt;font-family:Arial'>SI</span></b><span
style='font-size:11.0pt;font-family:Arial'></span></p>
</td>
</tr>
<tr>
<td width=462 valign=top class="Normal">
<p align=left style='text-align:left'><span style='font-size:
11.0pt;font-family:Arial'>AK6480, CXK1011, CXK1012, CXK1013, PDG011, TC89101,
TC89102</span></p>
</td>
<td width=60 class="Normal">
<p align=center style='text-align:center'><span
style='font-size:11.0pt;font-family:Arial'>NO</span></p>
</td>
<td width=60 class="Normal">
<p align=center style='text-align:center'><span
style='font-size:11.0pt;font-family:Arial'>NO</span></p>
</td>
<td width=59 class="Normal">
<p align=center style='text-align:center'><b><span
style='font-size:11.0pt;font-family:Arial'>SI</span></b><span
style='font-size:11.0pt;font-family:Arial'></span></p>
</td>
</tr>
<tr>
<td width=462 valign=top class="Normal">
<p align="left"><b><span lang=EN-GB style='font-size:11.0pt;font-family:Arial;'>P87LPC764</span></b><span
lang=EN-GB style='font-size:11.0pt;font-family:
Arial;'>, P87LPC767, P87LPC768</span></p>
</td>
<td width=60 class="Normal">
<p align=center style='text-align:center'><span
style='font-size:11.0pt;font-family:Arial'>NO</span></p>
</td>
<td width=60 class="Normal">
<p align=center style='text-align:center'><b><span
style='font-size:11.0pt;font-family:Arial'>SI</span></b><span
style='font-size:11.0pt;font-family:Arial'></span></p>
</td>
<td width=59 class="Normal">
<p align=center style='text-align:center'><b><span
style='font-size:11.0pt;font-family:Arial'>SI</span></b><span
style='font-size:11.0pt;font-family:Arial'></span></p>
</td>
</tr>
<tr>
<td width=462 valign=top class="Normal">
<p align="left"><span lang=EN-GB style='font-size:11.0pt;font-family:Arial;'>SX28AC</span></p>
</td>
<td width=60 class="Normal">
<p align=center style='text-align:center'><span
style='font-size:11.0pt;font-family:Arial'>NO</span></p>
</td>
<td width=60 class="Normal">
<p align=center style='text-align:center'><b><span
style='font-size:11.0pt;font-family:Arial'>SI</span></b><span
style='font-size:11.0pt;font-family:Arial'></span></p>
</td>
<td width=59 class="Normal">
<p align=center style='text-align:center'><b><span
style='font-size:11.0pt;font-family:Arial'>SI</span></b><span
style='font-size:11.0pt;font-family:Arial'></span></p>
</td>
</tr>
<tr>
<td width=462 valign=top class="Normal">
<p align="left"><b><span lang=EN-GB style='font-size:11.0pt;font-family:Arial;'>25010</span></b><span
lang=EN-GB style='font-size:11.0pt;font-family:
Arial;'>, 25020, 25040, 25080, 25160, 25320, 25640, 25128, 25256</span></p>
</td>
<td width=60 class="Normal">
<p align=center style='text-align:center'><span
style='font-size:11.0pt;font-family:Arial'>NO</span></p>
</td>
<td width=60 class="Normal">
<p align=center style='text-align:center'><span
style='font-size:11.0pt;font-family:Arial'>NO</span></p>
</td>
<td width=59 class="Normal">
<p align=center style='text-align:center'><b><span
style='font-size:11.0pt;font-family:Arial'>SI</span></b><span
style='font-size:11.0pt;font-family:Arial'></span></p>
</td>
</tr>
<tr>
<td width=462 valign=top class="Normal">
<p align=left style='text-align:left'><span lang=EN-GB
style='font-size:11.0pt;font-family:Arial;
'>AT89S53, <b>AT90S1200</b>, AT90S2313, AT90S2323, AT90S2333, AT90S2343, AT90S4414,
AT90S4433, AT90S4434, <b>AT90S8515</b>, AT90S8535</span></p>
</td>
<td width=60 class="Normal">
<p align=center style='text-align:center'><span
style='font-size:11.0pt;font-family:Arial'>NO</span></p>
</td>
<td width=60 class="Normal">
<p align=center style='text-align:center'><b><span
style='font-size:11.0pt;font-family:Arial'>SI</span></b><span
style='font-size:11.0pt;font-family:Arial'></span></p>
</td>
<td width=59 class="Normal">
<p align=center style='text-align:center'><b><span
style='font-size:11.0pt;font-family:Arial'>SI</span></b></p>
</td>
</tr>
</table>
<i>Tabla 1</i>
<p>&nbsp;</p>
<h1>***** El circuito.</h1>
<p>******** El esquema del programador aparece en la figura 1. Su diseño se basa
en el ProPic Programmer, y utiliza las mismas señales del puerto paralelo que
él para comunicarse con el PC. Sin embargo, no se puede decir que sea absolutamente
compatible, ya que algunas señales están invertidas respecto al original. El
motivo es adaptarse a los componentes disponibles, como luego se verá, y no
supone un gran problema, ya que la mayor parte de los programas existentes para
grabación de chips permiten invertir las señales a voluntad (entre ellos el
que yo recomiendo, ICPROG). Por otro lado, se ha corregido un fallo de diseño
que hacía imposible que el ProPic Programmer funcionara correctamente (al menos
el esquema disponible de dicho programador).</p>
<div align=center>
<div align=center>
<table cellspacing=0 cellpadding=0 width="12%" border=0>
<tbody>
<tr>
<td class=Normal valign=top width="100%">
<p style="TEXT-ALIGN: center" align=center><a href="http://213.97.130.124/progs/pp2/imggr/sch.GIF" target="_top"><img src="http://213.97.130.124/progs/pp2/img/sch.GIF" width="815" height="620" border="0" alt="Ampliar"></a></p>
</td>
</tr>
<tr>
<td class=Normal valign=top width="100%">
<p align=center><i>Figura 1</i></p>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
<p>******** Las señales del puerto paralelo utilizadas son D0 para enviar la señal
DATA al PIC (o el dispositivo que se está programando), D1 para la señal CLOCK,
D2 para activar la tensión de alimentación del PIC (Vdd) y ACK para recibir
la señal DATA enviada por el PIC. D3, D4 y D5 activan la tensión de programación
en distintas patillas del zócalo. Esto es necesario para evitar que llegue una
tensión tan alta (13V) a una patilla de un PIC que no está preparada para soportarla
(en otros programadores se obvia este problema, presuponiendo que el PIC aguantará
esa tensión).</p>
<p>******** Los inversores U1A a U1F tienen por objeto aislar el circuito del
PC, para evitar que éste pueda dañarse por error. Originalmente, en lugar de
inversores se utilizaron buffers no inversores de tipo 74LS34, pero la dificultad
de encontrar dicho chip me decidió a substituirlo. Como contrapartida, todas
las señales están invertidas, por lo que habrá que configurar el software de
grabación teniendo en cuenta este detalle, como luego veremos. Quien encuentre
un 74LS34 puede ponerlo en el lugar de U1, en cuyo caso el programador será
totalmente compatible con el ProPic Programmer, y por tanto no habrá que invertir
ninguna señal en la configuración del software.</p>
<p>******** La conmutación de la alimentación del PIC se consigue mediante los transistores
T1 y T2 y los componentes adyacentes. T3 se encarga de activar el LED que indica
que el PIC está alimentado. T8 y los componentes que lo rodean sirven para acoplar
las señales DATA IN y DATA out del puerto paralelo a la señal DATA IN/OUT del
PIC. Vpp1, Vpp2 y Vpp3 se conmutan mediante los bloques construidos en torno
a T6-T7, T9-T10 y T11-T12 respectivamente. Cuando se activa cualquiera de estas
señales, gracias a los diodos D3, D4 y D5 se activa también la señal Vppx y
se enciende el LED D6, indicador de que la tensión de programación está activada.</p>
<p>******** La fuente de alimentación es muy simple. La tensión que viene del
transformador se rectifica* y se filtra mediante PR1 y C1. U2 estabiliza esta
tensión a unos +13V para obtener la tensión de programación, Vpp, ya que su
patilla de masa está a aproximadamente +1V respecto a la masa del circuito,
gracias a D8 y D9. A partir de esta tensión y mediante U3 obtenemos Vcc (+5V).</p>
<p>******** El conector CON2, cuya función será permitir tanto la programación
de dispositivos en el propio circuito (ICSP) como el acoplamiento de adaptadores
para algunos dispositivos, utiliza 6 de sus pines para las siguientes señales:</p>
<div align=center>
<table border=0 cellspacing=0 cellpadding=0>
<tr>
<td width=70 valign=top class="Normal">
<p>PIN 1</p>
</td>
<td width=598 valign=top class="Normal">
<p>Vdd: Tensión de alimentación para el PIC, controlada por la señal D2
del puerto paralelo, para dar o no alimentación al PIC según se necesite.</p>
</td>
</tr>
<tr>
<td width=70 valign=top class="Normal">
<p>PIN 2</p>
</td>
<td width=598 valign=top class="Normal">
<p>Vppx: Tensión de programación del PIC, que será activada por cualquiera
de las señales D3, D4 ó D5 del puerto paralelo. Esto garantiza que,
sea cual sea el dispositivo que se programe, el software activará la
tensión de programación.</p>
</td>
</tr>
<tr>
<td width=70 valign=top class="Normal">
<p>PIN 3</p>
</td>
<td width=598 valign=top class="Normal">
<p>Data: Señal DATA I/O del PIC. Para enviar datos al PIC se utiliza la
señal D0, y para recibir datos la señal ACK del puerto paralelo.</p>
</td>
</tr>
<tr>
<td width=70 valign=top class="Normal">
<p>PIN 4</p>
</td>
<td width=598 valign=top class="Normal">
<p>Clock: Señal de reloj para el PIC, controlada por la señal D1 del puerto
paralelo.</p>
</td>
</tr>
<tr>
<td width=70 valign=top class="Normal">
<p>PIN 5</p>
</td>
<td width=598 valign=top class="Normal">
<p>Masa: Señal Vss del PIC, correspondiente a 0V.</p>
</td>
</tr>
<tr>
<td width=70 valign=top class="Normal">
<p>PIN 6</p>
</td>
<td width=598 valign=top class="Normal">
<p>Vcc: Alimentación para futuras ampliaciones y adaptadores. Vcc es +5V
siempre que el programador esté encendido.</p>
</td>
</tr>
</table>
</div>
<p>****************** </p>
<h1>***** Realización práctica.</h1>
<p>******** El diseño final aparece en la figura 2 (con zócalo de fuerza de inserción
nula) y en la figura 3 (con zócalo normal). Como se ve, en la zona inferior
de la placa hay bastante espacio desaprovechado. Esta zona se dejó porque sobraba
espacio y podrá aprovecharse en el futuro para posteriores ampliaciones.</p>
<div align=center>
<div align=center>
<table cellspacing=0 cellpadding=0 width="12%" border=0>
<tbody>
<tr>
<td class=Normal valign=top width="100%">
<p style="TEXT-ALIGN: center" align=center><a href="http://213.97.130.124/progs/pp2/imggr/comp1.GIF" target="_top"><img src="http://213.97.130.124/progs/pp2/img/comp1.GIF" width="730" height="465" border="0" alt="Ampliar"></a></p>
</td>
</tr>
<tr>
<td class=Normal valign=top width="100%">
<p align=center><i>Figura 2</i></p>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
<div align=center>
<div align=center>
<table cellspacing=0 cellpadding=0 width="12%" border=0>
<tbody>
<tr>
<td class=Normal valign=top width="100%">
<p style="TEXT-ALIGN: center" align=center><a href="http://213.97.130.124/progs/pp2/imggr/comp2.GIF" target="_top"><img src="http://213.97.130.124/progs/pp2/img/comp2.GIF" width="730" height="465" border="0" alt="Ampliar"></a></p>
</td>
</tr>
<tr>
<td class=Normal valign=top width="100%">
<p align=center><i>Figura 3</i></p>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
<p>******** Para tener todos los detalles constructivos podéis bajaros el fichero
<a href="http://213.97.130.124/home/ficheros/pp2.zip">PP2.ZIP</a> que contiene los siguientes
archivos:</p>
<div align=center>
<table border=0 cellspacing=0 cellpadding=0 width=658>
<tr>
<td width=154 valign=top class="Normal">
<p>PP2.DOC</p>
</td>
<td width=504 valign=top class="Normal">
<p>Este documento en formato Word 2000. </p>
</td>
</tr>
<tr>
<td width=154 valign=top class="Normal">
<p>FOTOLITO.TIF</p>
</td>
<td width=504 valign=top class="Normal">
<p>Trazado de las pistas para crear un fotolito. </p>
</td>
</tr>
<tr>
<td width=154 valign=top class="Normal">
<p>SERIGRA1.TIF</p>
</td>
<td width=504 valign=top class="Normal">
<p>Serigrafía de componentes con zócalo ZIF.</p>
</td>
</tr>
<tr>
<td width=154 valign=top class="Normal">
<p>SERIGRA2.TIF</p>
</td>
<td width=504 valign=top class="Normal">
<p>Serigrafía de componentes con zócalo normal.</p>
</td>
</tr>
<tr>
<td width=154 valign=top class="Normal">
<p>PICPOS.TIF</p>
</td>
<td width=504 valign=top class="Normal">
<p>Posición en que debe colocarse cada tipo de dispositivo.</p>
</td>
</tr>
<tr>
<td width=154 valign=top class="Normal">
<p>LISTA.HTM</p>
</td>
<td width=504 valign=top class="Normal">
<p>Lista de componentes y presupuesto en formato HTML.</p>
</td>
</tr>
<tr>
<td width=154 valign=top class="Normal">
<p>SCH.GIF</p>
</td>
<td width=504 valign=top class="Normal">
<p>Esquema del circuito.</p>
</td>
</tr>
<tr>
<td width=154 valign=top class="Normal">
<p>CABLEADO.GIF</p>
</td>
<td width=504 valign=top class="Normal">
<p>Esquema de cableado.</p>
</td>
</tr>
<tr>
<td width=154 valign=top class="Normal">
<p>ICPROG.GIF</p>
</td>
<td width=504 valign=top class="Normal">
<p>Configuración de ICPROG para este programador.</p>
</td>
</tr>
</table>
<br>
</div>
<p>******** Para la construcción de la placa de circuito impreso se seguirán los
pasos normales. Sólo apuntaré la importancia de que el zócalo ZIF (en caso de
que se utilice) entre con suavidad en su sitio, ya que si entra forzado, luego
no funcionará correctamente, lo cual es una pena teniendo en cuenta su precio.
Los conectores deben quedar sólidamente fijados para evitar que se rompan con
el uso. No es necesario utilizar zócalo para U1, aunque es muy recomendable,
puesto que este es el componente que hará de “fusible” en caso de que cometamos
un fallo en la utilización del programador.</p>
<p>******** Para los más observadores, diré que yo utilicé un zócalo ZIF de 32
patillas que tenía por ahí, en lugar del de 40, como se ve en las figuras 4
y 5. No hay ningún problema en hacerlo, ya que las patillas que faltan no se
utilizan, aunque es una tarea para manitas, ya que habrá que hacer ciertos retoques
en el zócalo para que se puedan pinchar dispositivos de 40 patillas. También
tracé unas líneas con rotulador indeleble sobre el zócalo que me sirven de guía
a la hora de insertar un dispositivo, algo que recomiendo encarecidamente, ya
que si se pincha un PIC en el lugar incorrecto, el resultado puede ser la muerte
del programador, del PIC, o de ambas cosas.</p>
<div align=center>
<div align=center>
<table cellspacing=0 cellpadding=0 width="12%" border=0>
<tbody>
<tr>
<td class=Normal valign=top width="100%">
<p style="TEXT-ALIGN: center" align=center><img src="http://213.97.130.124/progs/pp2/img/fzif.JPG" width="460" height="232"></p>
</td>
</tr>
<tr>
<td class=Normal valign=top width="100%">
<p align=center><i>Figura 4</i></p>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
<div align=center>
<div align=center>
<table cellspacing=0 cellpadding=0 width="12%" border=0>
<tbody>
<tr>
<td class=Normal valign=top width="100%">
<p style="TEXT-ALIGN: center" align=center><img src="http://213.97.130.124/progs/pp2/img/fzifpic.JPG" width="460" height="172"></p>
</td>
</tr>
<tr>
<td class=Normal valign=top width="100%">
<p align=center><i>Figura 5</i></p>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
<p>******** Una vez terminada la placa, hay que fijar en la caja el transformador de alimentación
(yo utilicé un toroidal porque ya lo tenía, pero si lo vais a comprar es mejor
usar uno normal, que es más barato e igualmente válido). El transformador puede
ser de cualquier tensión de salida, entre 15V y 24V, y de al menos 200mA. Se
montará también* el interruptor de encendido, el cable para enchufar a la red
eléctrica y, opcionalmente, un portafusibles. El cableado se hará con arreglo
a la figura 6.</p>
<div align=center>
<div align=center>
<table cellspacing=0 cellpadding=0 width="12%" border=0>
<tbody>
<tr>
<td class=Normal valign=top width="100%">
<p style="TEXT-ALIGN: center" align=center><a href="http://213.97.130.124/progs/pp2/imggr/cableado.GIF" target="_top"><img src="http://213.97.130.124/progs/pp2/img/cableado.GIF" width="741" height="240" border="0" alt="Ampliar"></a></p>
</td>
</tr>
<tr>
<td class=Normal valign=top width="100%">
<p align=center><i>Figura 6</i></p>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
<p>******** En la figura 7-A se puede ver una vista del programador ya preparado
para cerrarlo. En la figura 7-B se aprecia un detalle del punto de soldadura
de los cables que vienen del secundario del transformador. Da igual la postura
en que se suelden, ya que al ser corriente alterna no tiene polaridad.</p>
<div align=center>
<div align=center>
<table cellspacing=0 cellpadding=0 width="12%" border=0>
<tbody>
<tr>
<td class=Normal valign=top width="100%">
<p style="TEXT-ALIGN: center" align=center><img src="http://213.97.130.124/progs/pp2/img/fmont.JPG" width="595" height="319"></p>
</td>
</tr>
<tr>
<td class=Normal valign=top width="100%">
<p align=center><i>Figura 7</i></p>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
<p>******** Finalmente, en la figura 8 aparece el programador terminado. Como
se puede apreciar, se ha substituido la chapa de aluminio original de la caja
por la placa de circuito impreso. Como se ve en la foto, yo recorté y pegué
en la zona libre de la placa la plantilla que indica el lugar donde debe colocarse
cada tipo de dispositivo para programarlo. Se puede encontrar esta plantilla
para las dos configuraciones posibles del programador en el fichero PICPOS.TIF.
Estas plantillas están pensadas para ser pegadas en este lugar, por lo que incluyen
también la indicación del significado de cada LED.</p>
<div align=center>
<div align=center>
<table cellspacing=0 cellpadding=0 width="12%" border=0>
<tbody>
<tr>
<td class=Normal valign=top width="100%">
<p style="TEXT-ALIGN: center" align=center><img src="http://213.97.130.124/progs/pp2/img/fgeneral.JPG" width="675" height="498"></p>
</td>
</tr>
<tr>
<td class=Normal valign=top width="100%">
<p align=center><i>Figura 8</i></p>
</td>
</tr>
</tbody>
</table>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
</div>
<h1>***** Utilización.</h1>
<p>******** El programador PP2 está pensado como un dispositivo de uso intensivo. Puede
estar encendido y funcionando 24 horas al día sin problemas, y por tanto estará
conectado siempre a un puerto paralelo del PC. Sin embargo, si sólo se dispone
de un puerto paralelo, habrá que conectarlo y desconectarlo con frecuencia,
para lo cual es bueno conocer ciertos detalles. El puerto paralelo no está preparado
para conectar y desconectar dispositivos “en caliente”, es decir, que en teoría
habría que apagar el PC y el dispositivo cada vez que se vaya a conectar o desconectar.
Sin embargo, apagar el PC cada vez es un trastorno, así que el programador se
ha diseñado de forma que un par de segundos después de apagarlo no quede ningún
tipo de tensión residual en las patillas del conector paralelo. Por otro lado,
al utilizar lógica TTL-LS no es previsible que se produzca ningún daño en él
si recibe señales estando apagado. En definitiva, que si esperamos unos segundos
después de apagar el programador, podemos conectarlo o desconectarlo del puerto
paralelo sin problemas. Eso sí, si se conecta o desconecta estando encendido,
se pueden producir daños en el puerto paralelo del PC, así que habrá que ser
muy prudente en este sentido.</p>
<p>******** Por otro lado, por motivos parecidos, nunca se debe insertar o extraer un dispositivo
programable estando presentes en el programador las tensiones de alimentación
o de programación para dicho dispositivo. Por ello se incluyeron en el montaje
los LEDs D1 y D6, indicadores respectivamente de que está activada la tensión
de alimentación o la de programación. <b>NUNCA</b> se debe insertar o extraer
un dispositivo programable en el zócalo mientras uno de estos LEDs esté encendido.
Tampoco se debe encender o apagar el programador con un dispositivo programable
pinchado en el zócalo, ya que en el encendido o apagado se pueden producir señales
espúreas que podrían incluso borrar el contenido de la memoria del dispositivo.</p>
<p>******** Por tanto, la situación correcta para insertar o extraer un dispositivo programable
es con el LED D7 (POWER ON) encendido y los LEDs D1 (Vdd) y D6 (Vpp) apagados.
Esta situación sólo se consigue con el programador encendido y con el software
de grabación correctamente configurado y funcionando.</p>
<p>******** Si bien cada cual puede utilizar el software de grabación que mejor
se adapte a sus necesidades, yo recomiendo ICPROG 1.05A, que es freeware y funciona
perfectamente (de hecho, no me ha fallado una sola vez con este programador).
Se puede bajar de <a
href="http://www.ic-prog.com/index1.htm">su website</a>. Una vez instalado, en
el menú SETTINGS – OPTIONS, en la sección LANGUAGE elegimos ESPAÑOL. A continuación,
en el menú AJUSTES escogemos TIPO HARDWARE (se puede hacer directamente pulsando
F3) y aparece la ventana de la figura 9. Todas las opciones deben quedar como
en la figura 9, salvo el puerto, en el que habrá que marcar el que hayamos utilizado,
pulsando OK para finalizar. Si se ha utilizado para U1 el 74LS34 en lugar del
74LS04, deberán dejar todas las señales sin invertir, es decir, todas las casillas
en blanco.</p>
<div align=center>
<div align=center>
<table cellspacing=0 cellpadding=0 width="12%" border=0>
<tbody>
<tr>
<td class=Normal valign=top width="100%">
<p style="TEXT-ALIGN: center" align=center><img src="http://213.97.130.124/progs/pp2/img/icprog.GIF" width="363" height="304"></p>
</td>
</tr>
<tr>
<td class=Normal valign=top width="100%">
<p align=center><i>Figura 9</i></p>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
<p>******** Podemos verificar, al menos en parte, el funcionamiento del programador, gracias
a una utilidad que incluye el programa. Seleccionando en el menú AJUSTES la
opción PRUEBA HARDWARE, aparece la pantalla de la figura 10. Si el programador
está conectado al puerto paralelo y encendido, y todo está correcto, al marcar
la casilla “Habilitar VCC” debería encenderse el LED D1 (Vdd) del programador.
Ahora, al marcar la casilla “Habilitar MCLR” debería encenderse el LED D6 (Vpp)
del programador, y la casilla “Data In” debe adoptar el mismo estado que marquemos
en la casilla “Habilitar Data Out”. No podemos verificar el funcionamiento de
la señal Clock si no es usando un voltímetro para medir en el programador, pero
si funcionan las demás señales, podemos suponer que esta funcionará también.</p>
<div align=center>
<div align=center>
<table cellspacing=0 cellpadding=0 width="12%" border=0>
<tbody>
<tr>
<td class=Normal valign=top width="100%">
<p style="TEXT-ALIGN: center" align=center><img src="http://213.97.130.124/progs/pp2/img/icprog2.GIF" width="309" height="223"></p>
</td>
</tr>
<tr>
<td class=Normal valign=top width="100%">
<p align=center><i>Figura 10</i></p>
</td>
</tr>
</tbody>
</table>
<br>
</div>
</div>
<p>******** Existe una prestación en este software que permite ver la posición en la que
habría que insertar el PIC en el zócalo, pero sólo es válida para el ProPic
Programmer original, así que no hagáis caso de ella. Sólo queda seleccionar
el modelo de PIC que vamos a grabar o leer, y llevar a cabo las acciones deseadas.
El programa trabaja igual con ficheros .BIN ó .HEX. Para grabar un PIC, abrimos
el fichero mediante el menú ARCHIVO y seleccionamos PROGRAMAR TODO en el menú
COMANDO (o pulsamos F5). Para leer un PIC, seleccionamos LEER TODO en el menú
COMANDO (o pulsamos F8) y luego podemos salvarlo a un fichero mediante el menú
ARCHIVO. En la página de ICPROG hay instrucciones sobre el programa.</p>
<p>******** Por último, quiero recalcar la importancia de insertar el dispositivo
programable en la posición correcta, dada la tendencia de los transistores T7,
T10 y T12 a incinerarse cuando no se hace así. En la figura 11 aparecen las
plantillas que indican la posición correcta para cada dispositivo, en el zócalo
ZIF, o en el zócalo estándar.</p>
<div align=center>
<div align=center>
<table cellspacing=0 cellpadding=0 width="12%" border=0>
<tbody>
<tr>
<td class=Normal valign=top width="100%">
<p style="TEXT-ALIGN: center" align=center><img src="http://213.97.130.124/progs/pp2/img/picpos.GIF" width="699" height="187"></p>
</td>
</tr>
<tr>
<td class=Normal valign=top width="100%">
<p align=center><i>Figura 11</i></p>
</td>
</tr>
</tbody>
</table>
</div>
</div>

Enlace original: http://213.97.130.124/progs/pp2/pp2.htm

paco31 12/06/2007 19:58

Este programador lo monté hace unos Meses, cuando este terminado os digo los resultados.



http://img514.imageshack.us/img514/4...ramadoref6.jpg

paco31 24/12/2007 00:04

Terminado y funcionando muy bien.


La franja horaria es GMT +2. Ahora son las 21:29.

Powered por vBulletin™ Version 3.8.10
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.
Traducido por vBsoporte - vBulletin en español
ZackYFileS - Foros de Debate