Banner publicitario de PCBWay

[Aporte] Capacímetro Autorango con PIC16F628A

Hola Mcrven y don Lopes, buen día!!!. Cómo andan?. Se juntaron los amigos y maestros de la RF!!!. BUENISIMOOOO!!!

Creo que no me expresé bien.

Siempre empleo el IC Prog porque es el único programa que tengo. Lo que modifiqué fue el programa que grabé.
En primera instancia grabé el PIC con el .Hex del primer post, y como me aparecían cuadrados en el display, volví a revisar este hilo y D@rkbytes posteó el programa mejorado (post 48), pero ya no pude grabar nada, todo con el IC Prog.

Hice pruebas modificando los fuses, oscilador(aunque creo que el que tengo que usar es el XT), pero nada.
Llegué a pensar que estos .Hex no eran compatibles con el Windows XP, pero como "el que no sabe es como el que no ve", decidí consultar por las dudas.

Referido al RV2, si ya lo regulé y cuando logré el contraste Ok, pude visualizar los cuadrados!!!.
Revisé la PCB buscando cortos, pistas cortadas, siguiendo el circuito por si hubiera cometido algún error de ensamblado, pero no, está todo OK.

Por lo tanto y por Descartes, el drama está en el grabado del PIC ya que probé con otros PIC 0Km y sucedía lo mismo.
Veremos a ver que solución le encuentro.
Muchas gracias por todo!!!
Les envío un gran abrazo.
Cuídense!!!

C.B.
 
me aparece indefectiblemente el famoso error 0000h.
Creo recordar que ese error se debe a que en los fuses se agregó protección de código, y como seguramente el IC-Prog está configurado para realizar la verificación de escritura, al leer el PIC obtendrá 0x00 en la primer dirección y mostrará el error.
La solución para no perder la protección de código en el PIC, es deshabilitar la verificación de escritura.
 
Hola D@rkbytes, buen día.
Puede ser que el problema radique en la verificación durante la programación, voy a intentar grabar deshabilitando esa verificación y dejar solamente la posterior al grabado.

En relación a los fuses, por lo que pude leer sobre el programa, es conveniente deshabilitar el WDT, PWRT y el CP (código de protección) porque dicen que grabando con esos fuses habilitados se programa la función de protección y luego no se puede volver a programar el PIC.
Yo lo que realizo antes de grabar es modificar el oscilador a XT (porque el oscilador es de 4MHz), deshabilitar esos tres fuses y dejar solamente el fuse restante que me indicó el programa para ese PIC.

Ayer me dediqué a revisar el estado del grabador, conectores, cables, etc y todo estaba Ok.

Hoy voy a intentar hacer lo que has sugerido.
Muchas gracias por los "tips" y sobre todo por la gentileza de compartir sus conocimientos!!!.
Un abrazo par Ud y para todos los amigos del Foro.
Cuídese!!!.

C.B.
 
En relación a los fuses, por lo que pude leer sobre el programa, es conveniente deshabilitar el WDT, PWRT y el CP (código de protección) porque dicen que grabando con esos fuses habilitados se programa la función de protección y luego no se puede volver a programar el PIC.
No, eso es falso, cada fuse es independiente y no impedirá que el PIC pueda volver a ser grabado.
Si reprogramas un PIC que tiene un código con protección, es obvio que se perderá el programa anterior, pero se podrá grabar.
El WDT o Watch-dog Timer produce un reset cada cierto tiempo programado, si este no se resetea, sirve para salir de cuelgues inesperados.
El PWRTE o Power-on Timer Reset produce un reset cuando se estabiliza la tensión de alimentación, solo una vez cuando es conectado.
O sea, solo permite la ejecución del programa cuando la tensión de alimentación sea estable.
El CP o Code Protect protege la zona de código contra lectura, y en algunos PIC las zonas se pueden seleccionar.
El CPD o Code Protect Data, es igual al CP pero para la memoria EEPROM interna.
Si un PIC de las serie F (Flash) ya no se pudiera volver a grabar tras habilitar las protecciones, hubieran sido un verdadero fracaso.
Salvo una excepción, hay PIC que requieren de un método especial para poder volver a ser grabados, pero en el 16F628/A no es el caso.

Para tener un mejor conocimiento de los PIC, siempre les he dicho que lean la hoja de datos.
 
Hola amigos, buen día para todos.
Muy buenos los datos que aportas!!!.
De ser así como tú comentas, no habría problema alguno con grabar el PIC con los fuses que indica el programa cuando se abre el .Hex (incluídos el WDT, PWRT y CP), siempre cambiando el oscilador a XT.
Buenísimo los aportes, intentaré ver si puedo grabarlo y si todo sale OK, ver si el instrumento funciona.
Muchísimas gracias a todos por todo.
Cuídense.
Abrazos.

C.B.
 
Hola amigos, buen día para todos.
Muy buenos los datos que aportas!!!.
De ser así como tú comentas, no habría problema alguno con grabar el PIC con los fuses que indica el programa cuando se abre el .Hex (incluídos el WDT, PWRT y CP), siempre cambiando el oscilador a XT.
Buenísimo los aportes, intentaré ver si puedo grabarlo y si todo sale OK, ver si el instrumento funciona.
Muchísimas gracias a todos por todo.
Cuídense.
Abrazos.

C.B.
Hola a todos me parece que el error principal puede ser que modifica el fuse del oscilador a XT(Cristal de Cuarzo) cuando expresamente escribió en el mensaje 119 que armo la versión con el oscilador interno, ergo el fuse debe quedar en IntRC I/O(Oscilador Interno y los pines son Entradas/Salidas), lo único que sacaría personalmente es WD(ver segunda imagen adjunta).
capa.jpg

Capa1.jpg

A no ser que entre tantas idas y vueltas hubiera cambiado por la de cristal de cuarzo de 4MHz y yo no lo advertí.

Saludos.
 
Estimadísimos, buen día!!!

Les comento que ayer intenté grabar con los fuses que me indicaba el programa cuando se carga el archivo .Hex, y que solo verificara el IC-prog post grabación, según lo aconsejado por D@rkbytes. En realidad el programa indicaba que se iba grabando ok, pero cuando verificaba post grabado aparecía el mensaje de error 0000h. Ya sueño con ese cuadro de diálogo!!! ja, ja.

De igual modo intenté hacer arrancar el instrumento, pero los cuadrados seguían apareciendo en display, por lo que el PIC no se grabó.

Don mcrven, ¿cómo anda?. Gracias por su aporte. Ud sabe que por costumbre antes de hacer un nuevo intento, borro todo y verifico el blanco, por las dudas, ja, ja, pero está perro el PIC, y no crea que es el integrado, ya que me pasa lo mismo con otros PIC´s Okm que tengo.

Ya verifiqué la configuración del puerto, el ajuste del Hardware, el buffer para poder usar el XP, y todos los otros ajustes que hago cuando grabé lo otros PIC´s, todo ok, pero insiste en marcarme error!!!. En fin, ahora lo voy a dejar por unos días y con mente un poco más fría voy a intentar arrancar nuevamente de cero y ver en que le estoy errando.

Don ricbevi, tanto tiempo!!!. Cómo anda?. Gracias por su sugerencia. Voy a intentar la manera que Ud sugiere y veré como se comporta el "muchacho".
Yo ponía oscilador XT porque un documento que leí decía que ese era el ajuste para un oscilador de 4MHz que es el que tiene internamente el PIC, pero no está demás intentarlo. Veremos.

Les agradezco a todos por sus sugerencias e interés por darme una mano.
No quiero quitarles más tiempo y les envío a Uds y familias un abrazo.
Cuídense.

C.B.
 
Estimadísimos, buen día!!!

Les comento que ayer intenté grabar con los fuses que me indicaba el programa cuando se carga el archivo .Hex, y que solo verificara el IC-prog post grabación, según lo aconsejado por D@rkbytes. En realidad el programa indicaba que se iba grabando ok, pero cuando verificaba post grabado aparecía el mensaje de error 0000h. Ya sueño con ese cuadro de diálogo!!! ja, ja.

De igual modo intenté hacer arrancar el instrumento, pero los cuadrados seguían apareciendo en display, por lo que el PIC no se grabó.

Don mcrven, ¿cómo anda?. Gracias por su aporte. Ud sabe que por costumbre antes de hacer un nuevo intento, borro todo y verifico el blanco, por las dudas, ja, ja, pero está perro el PIC, y no crea que es el integrado, ya que me pasa lo mismo con otros PIC´s Okm que tengo.

Ya verifiqué la configuración del puerto, el ajuste del Hardware, el buffer para poder usar el XP, y todos los otros ajustes que hago cuando grabé lo otros PIC´s, todo ok, pero insiste en marcarme error!!!. En fin, ahora lo voy a dejar por unos días y con mente un poco más fría voy a intentar arrancar nuevamente de cero y ver en que le estoy errando.

Don ricbevi, tanto tiempo!!!. Cómo anda?. Gracias por su sugerencia. Voy a intentar la manera que Ud sugiere y veré como se comporta el "muchacho".
Yo ponía oscilador XT porque un documento que leí decía que ese era el ajuste para un oscilador de 4MHz que es el que tiene internamente el PIC, pero no está demás intentarlo. Veremos.

Les agradezco a todos por sus sugerencias e interés por darme una mano.
No quiero quitarles más tiempo y les envío a Uds y familias un abrazo.
Cuídense.

C.B.
Muy bien Charlie, siempre estoy detrás del ojo de la cerradura aunque no se note, a menos que llame el del otro lado :).

La opción XT es para osciladores externos de hasta 4Mhz si se usa de mas frecuencia hay que seleccionar HS. Si el oscilador usado es el interno de 4MHz, hay que usar "IntRC xxx" con la variante que corresponda en cuanto a las opciones de usar los pines como salida/entrada o salida de reloj, etc.
El oscilador interno es a RC(resistencia condensador), no de cuarzo y en este modelo es fijo de 4MHz aproximadamente en cambio en otros se puede seleccionar entre una tabla de valores finales pre definidos, etc.

Ya te han indicado que mientras el fusible CP este seleccionado(tilde colocado como esta por defecto en el archivo subido) como opción de programación te dará dicho error de verificación debido a la imposibilidad de acceder por parte del mismo a la zona de datos una vez programado.

Modifica los fusibles como los he subido en la imagen de mi anterior intervención que así no te dará error y podras verificarlo y descartar la idea de que el PIC no se programo; si el duende de los cuadraditos de primera línea esta distraído, te funcionara :) .
 
Hola ricbevi y Don Lopes, buenas tardes.
Siempre es bueno "mirar escondido y ver lo que puede pasar" Ja, ja.

QSL a lo del oscilador y a lo del fuse CP. Le comento que ahora en la tarde intenté grabar de esa forma y con los fuses activados como Ud me sugirió, resultado, Error.

Ya un poco "molesto", por decirlo más elegantemente, con el 0000h, decidí instalar el Winpic para ver si ahí estaba la"madre del borrego", resultado Error, pero este programa me indicó dónde estaría el error:

A) para el programa del post 48 : Error de Verificación en dirección 0X000000.
Verificado 0X3003 Leído 0X3FFF.

B) Para el programa del primer post: Error de Verificación en Dirección 0X000000.
Verificado 0X2BF, Leído 0X3FFF.

Por el momento voy a tener que dejar de seguir probando ya que me tengo que ausentar unos días por razones laborables, pero apenas regrese, seguiré intentando.

Estimo que el Error es del operador y no del programa!!! Ja, ja.
Muchas gracias a por todos por todas sus ayudas.
Cuídense.
Abrazos.

C.B.
 
Hola ricbevi y Don Lopes, buenas tardes.
Siempre es bueno "mirar escondido y ver lo que puede pasar" Ja, ja.

QSL a lo del oscilador y a lo del fuse CP. Le comento que ahora en la tarde intenté grabar de esa forma y con los fuses activados como Ud me sugirió, resultado, Error.

Ya un poco "molesto", por decirlo más elegantemente, con el 0000h, decidí instalar el Winpic para ver si ahí estaba la"madre del borrego", resultado Error, pero este programa me indicó dónde estaría el error:

A) para el programa del post 48 : Error de Verificación en dirección 0X000000.
Verificado 0X3003 Leído 0X3FFF.

B) Para el programa del primer post: Error de Verificación en Dirección 0X000000.
Verificado 0X2BF, Leído 0X3FFF.

Por el momento voy a tener que dejar de seguir probando ya que me tengo que ausentar unos días por razones laborables, pero apenas regrese, seguiré intentando.

Estimo que el Error es del operador y no del programa!!! Ja, ja.
Muchas gracias a por todos por todas sus ayudas.
Cuídense.
Abrazos.

C.B.
Ese error puede ser debido a cualquier cosa como el fusible CP, la falta de conexión con el programador, driver(si lo llevara), PIC quemado, etc. Lo único que esta mostrando es que en la primer dirección 0X000000 que intento el software guardar el dato 0Xxxxxx leyó al verificar 0Xyyyyyy y como son distintos valores, no prosiguió.

En lo personal hace años que no uso ese programa/programador porque tengo uno USB que arme hace años clon del PicKit2 de Microchip y es mucho mas rápido, confiable y sin tantas "ñañas".

Vas a tener que armarte de mas paciencia y de a poco ir descartando cosas por las cuales no te funciona, empezando por lo mas básico como las conexiones al puerto serie o paralelo según tu uses, el tipo de programador seleccionado en el software, etc.
 
Hola amigos, buenas tardes,
Ok, muy buena su explicación del error. Si ya me imaginaba que puede ser por variadas razones, ya que el amigo Cuenca en uno de sus posteos en otro hilo, explicaba este tipo de error.
Cuando regrese y tenga más tiempo, voy a dedicarle más atención a todo lo que rodea al proceso de grabado, comenzando con el programador e ir descartando cosas como Ud. dice.
MUCAS GRACIAS amigos por sus aportes y sobre todo por la paciencia para explicar los conceptos.
Les enviío a todos los amigos un gran abrazo.
Cuídense.

C.B.
 
Atrás
Arriba