Hola a todos nuevamente.
He estado bastante ocupado ultimamente y lamentablemente no he tenido tiempo para realizar mas pruebas. Sin embargo veo que hay una iniciativa por agregar una mejora al programador y me gustaria mucho compartir mi idea al respecto.
Temo que no uso el mismo software para editar circuitos que tu Eclip-se, asi que tome prestada una imagen de tu sitio para editarla y hacer la adicion lo mas rapido pisible.
Tambien debo comentar que la idea de agregar un simple transistor con una resistencia (para eliminar el jumper de seleccion de voltaje) me habia estado dando vueltas por la cabeza desde varios dias despues que sugirieron hacer la selección de voltaje por medios electrónicos.
En el esquema hay un pin que dejo abierto, ese como es de esperar, es el pin de control para conectar al 18F2550; dejo a eleccion de Eclip-se que pin usar, ya que el mismo conoce la distribucion de los recursos del MCU que mejor convenga. Esto permitira seleccionar voltajes con un 1 (para 5 voltios) o un 0 (para 13V). El voltaje de salida se puede reducir a 0V como siempre por medio de activar Q2 con un 1 logico independientemente de que se tengan 5 o 13V.
En cuanto a la operacion de la modificacion, esta es bastante simple: Al encender el transistor agregado, este cortocircuitara el anodo del Zener de 5.1V a tierra, con lo cual el Zener de 13V dejara de conducir, puesto que se encontrara muy abajo del voltaje de avalancha (o voltaje Zener) ya que el otro Zener conduce toda la corriente necesaria de R4 para reducir el voltaje de operacion a 5.1V.
Si al caso el Zener de 13V conduce corriente, sera muy escasa (y despreciable) al encontrarse en su zona de no-conducción (los diodos zener polarizados inversamente que no alcanzan el voltaje de avalancha se encuentran en su zona de no-conduccion y funcionan como diodos comunes y corrientes). Aparte estoy seguro que funcionara con el mismo rendimiento que el circuito original.
Espero que esta simple modificacion cumpla las espectativas de todos ustedes. Por mi parte puedo decir que la adicion se hace con un minimo de componentes agregados (solo 2) con respecto del diseño anterior (de hecho es prácticamente igual al anterior), ademas no hay que reemplazar ningun componente de los que ya estan (se puede seguir usando el mismo Zener de 5.1V y el de 13V) y lo unico que descartamos es el jumper.
Aquellos que lo tienen armados en tableta perforada incluso podrian tener un poco de espacio extra para el transistor y la resistencia al remover el jumper (segun su propia distribucion de componentes) y podrian solo modificar lo que ya tienen para adaptarlo.
Con la eliminacion del jumper existe una ganancia adicional tambien que me gustaria comentar, y es la de seguridad. El circuito anterior tenia la desventaja de que al desconectar el jumper completamente (es decir, sin seleccionar ni 5 ni 13V), el circuito podria dañarse al no tener un limitador de voltaje de carga (la bomba de carga con inductor empujaria corriente hacia C6 sin limite). Esto definitivamente es una buena ganancia
Cambiando tema, en cuanto a la modificacion del software para controlar el Reset, me parece una excelente idea, sobretodo al tener control electronico de 5 o 13V para el pin MCLR de los PIC (No se que pase con los AVR - pero caso que no lo soporten podria ser una caracteristica exclusiva de los PIC que se activaria solamente al seleccionar uno de la lista de microcontroladores soportados).
El programador ICD2 de Microchip tiene esa precisa caracteristica y debo comentar que es extremadamente util. Si no nos importa sacrificar 2 pines de I/O en el MCU (los pines PGC y PGD que usualmente son RB6 y RB7 en los modelos de 18, 28 y 40 pines), entonces podemos dejarlos permanentemente conectados al programador y dejarlos abiertos (como entradas) en el firmware. Con ello el programador puede programar el MCU al colocarle 13V como es usual, pero tambien puede ponerlo en marcha al colocarle 5V.
Para que nos sirve esto? Simple: podemos dejar el programador permanentemente conectado al MCU en todo momento (sobretodo en la etapa de desarrollo que bien puede ser en una protoboard), y de esa forma se puede programar al PIC "in situ" dentro de su circuito aplicativo formal. Con ello basicamente no es necesario sacar el MCU cada vez que se quiere programar (ni tampoco hay que arriesgarse a dañarlo en el proceso), aparte que cambiar entre "prueba" y "programar" es tan facil como un click. Si el codigo funciona mal, basta con corregirlo en la PC y luego reprogramar al MCU en caliente, ya que esta conectado al programador en todo momento. Que tan rapido puede hacerse eso? Respuesta: tan rapido como puedas hacer click en "compilar", luego "programar" y finalmente en "liberar RESET"... una caracteristica adorable del ICD si me lo preguntan.
Personalmente, yo votaria porque lo agregues Eclip-se, eso haria el programador todavia mejor
. Solo haria falta agregar la funcion de "in-circuit-debugger" (solo bromeando
) Jejeje.
Bueno, espero no haberlos aburrido con mi post tan largo. Estare a la expectativa de sus opiniones respecto a la modificacion del circuito.
Hasta luego.