TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Nano_T en 01 de Febrero de 2016, 22:26:15
-
Buenas y santas gente!
Hice un pequeño breakout del 16F628A para usarlo sin estar montando una y otra vez circuitos de cristal, iscp, reset, etc..
El dilema es que al resetear el micro por hardware, se queda permanente en estado bajo y nunca sube la tensión de nuevo a la normalidad, por ende el micro se queda congelado en reset y sale de este modo dandolé un pulso de 5v (y una excepción que explicaré renglones mas abajo).
He intentado bajar el valor de la resistencia en serie con el diodito y nada.. Leí sobre el capacitor de 100nf que está en paralelo con el pulsador pero nada..
La excepción que mencionaba anteriormente es que al medir con un voltímetro la caida de la resistencia cambia de estado de reset (entra y sale del reset cada vez que hago contacto con las puntas).
Con la resistencia de 10k en serie con el diodo su caída era de 3,53v y la caída del diodo 0,60v (si mal no recuerdo).
Se aceptan de mil amores sugerencias y correcciones!
Adjunto el esquema hecho..
----------------------------------------------------------------------------------------------------------------
Edit: 02/02/2016 - 11:55am
Solución: Eliminar el apartado de monitoreo en este pin (LED3).
Muchísimas gracias KILLERJC, elgarbe y DominusDRR por su atención!
-
Sobre el reset:
Primero quitaria el diodo, ponele un puente, puede que la caida del diodo este afectando a que no reciba un "1" sobre el pin del MCLR. Y tampoco tiene sentido el diodo ahi, solo hace de caida de tension.
Y con eso deberia funcionar bien.
-
Y cuando reciba los 13v de VPP no hará lío?
-
Ahora que vi un par de circuitos con ICSP te dejo los links para que veas la diferencia entre lo aplicado por vos y lo que pide/prefiere MCHP.
Este un circuito, y es simple de entender y ver como va el diodo.
http://ww1.microchip.com/downloads/en/DeviceDoc/51474a.pdf
Sino a otro documento sobre ICSP, y muestra el mismo circuito.
http://ww1.microchip.com/downloads/en/DeviceDoc/31028a.pdf
Imagino que pediran por un diodo schotty para tener una baja caida de tension. En la cual vi unos schotty y a 1mA estan en 0.3V de caida de tension. dejandote en 4.7V.
Del datasheet del PIC tenemos
Input High Voltage
MCLR RA4/T0CK
0.8VDD = 4V minimo
Es decir que deberias tener si o si 4V como minimo para que no se resetee.
El 1N400x especifica una caida maxima de hasta 1.1V lo cual es demasiado. Podrias probar con un 1N4148 aunque te dejaria cerca del reset con 4.3V
---
En si el pin del MCLR no toma demasiada corriente, por lo cual no deberias tener tanta caida de tension. Pero si le sumas que ademas tenes un diodo led colgado desde el pin del MCLR eso lo empeora, ni siquiera se por que esta el diodo led/resistencia ahi. Probaria con sacar eso tambien. Y ponerlo a VDD si es que queres ver cuando esta funcionando o no.
-
Y la resistencia de 470 ohmios? Por qué reemplazaría al diodo?
(Aprovecho la oportunidad para agradecerte Killer por todos tus aportes, he aprendido muchísimo de vos en estos años)
-
Y la resistencia de 470 ohmios? Por qué reemplazaría al diodo?
(Aprovecho la oportunidad para agradecerte Killer por todos tus aportes, he aprendido muchísimo de vos en estos años)
Gracias, yo solo escribo por que me gustan los microcontroladores y la programacion xD. Y siempre me interesa aprender mas, asi que aca en el foro siempre traen algo nuevo, por lo cual terminas aprendiendo mas en la busqueda o en los aportes de otros usuarios.
La resistencia de 470 ohms es por si no hay posibilidad de poner el diodo schotty. Personalmente yo no lo haria. Pero si no queda otra habria que "arriesgarse", para entrar en modo de programacion por el ICSP como dice el datasheet los pines ICSP-DAT e ICSP-CLK deben estar en 0V, y se debe dar un pulso (o mantenerlo) de tension de Vihh al MCLR antes que ocurran 4 ciclos de reloj del oscilador.
Con esa resistencia vos tendrias 5V en el capacitor, y cuando se le den los 12V al pin MCLR, comenzara a circular una corriente sobre esa resistencia debido a la diferencia de potencial cargando el capacitor a aproximadamente los 12V, luego va a existir una corriente en la resistencia donde de un lado tiene 5V y del otro lado hay 12V (o la tension de programacion ). Es decir es un aumento de consumo
Especificaciones de programacion del PIC16F628A
http://ww1.microchip.com/downloads/en/DeviceDoc/41196g.pdf
Vihh = 10 a 13.5V
Pero no dice nada sobre el tiempo que tiene que estar activo el MCLR.
----------
EDIT
Hice una simulacion del circuito es una pagina online (no inspira mucha confianza peeeero...) en cuestion que quedaria sobre el MCLR, suponiendo una resistencia de 470ohms a la fuente de 12V, una resistencia de 10K entre la de 5V y el pin, y por ultimo el capacitor de .1uF. El capacitor queda con 11.7V, lo cual es lo correcto, y termina existiendo una corriente a traves de la resistencia de 10K, es decir la resistencia de que estaria entre el pin del MCLR y VDD.
Simulacion puede que no sea igual que la realidad. Y la resistencia debe ponerse para que posea una resistencia a la capacidad y no sea un corto cuando se le da el pulso. Esta resistencia no debe ser grande, por eso es de 470ohms aunque por ahi lei que dice que no debe ser mayor de 100ohms debido que hay que respetar los tiempos de subida de tension especificados en el pdf de las especificaciones de programacion.
Asi que eso responderia tu pregunta del por que la resistencia.
-
También había leído que debía ser superior a 100 ohm y menor que 470 ohm, justamente por lo que explicás..
Estuve cacharreando y no consigo dar la tecla.. Puentee el diodo, bajé el valor de la resistencia en serie del diodo a 4k7, coloqué un cerámico entre 5v y MCLR (aunque ahora que escribo esto me di cuenta que no le agregué resistencia serie, creo que debería agregar una para evitar que la descarga del mismo sea instantánea).
Revisé las caídas de tensión y obtengo 2.54v en el MCLR con el micro en estado de reset, y gracias a la magia del ruido supongo, "raspando" con un cable en el MCLR sale del reset y tengo 4,8v.
Durante la mañana probaré reemplazar el diodo por la resistencia de 470 y revisaré la placa por septuagésima vez, colocaré un cerámico en paralelo con el diodo, entre 5v y MCLR con resistencia limitadora de descarga.. Obviamente probaría un Schotty si al menos lo conocieran en la única tienda de electrónica de mi ciudad.. Qué más debería probar?
Muchísimas gracias por el tiempo y la voluntad!
-
Creo que la imagen de tu esquemático podría ayudar a entender cual es el problema.
-
No leí todas las respuestas, pero te consulto, probaste quitando el LED3?
sds.
-
Nop! Pero creo que puede ser.. Supongo que será menor la resistencia de este nodo que la impedancia del pin mclr y capush! Creo que tenés razón.. Ya lo pruebo a ver que resultados tengo..
-
Creo que la imagen de tu esquemático podría ayudar a entender cual es el problema.
DominusDRR, lo primero que adjunté es un PDF de mi esquemático..
Y si, sin esquema es como dibujar castillos en el aire.. jajaja
-
Lo siento, no me di cuenta. :lol:
-
No leí todas las respuestas, pero te consulto, probaste quitando el LED3?
sds.
Santo remedio! no sé como no lo vi antes.. Supongo que deberé plantear los esquemáticos un poco menos estructurados para visualizar mejor.. Muchísimas gracias! :-/
Aprovecho para agradecerte como a Killer tanto material aportado al foro, los neófitos aprendemos muchísimo leyendo a los grandes sabios..
Salutes!
-
Bueno, yo si he utilizado un diodo como en tu esquemático, sin problemas, pero un diodo 1N4148. (D1)
Para determinar si es problema de reset, deberías configurar los bits del micro para que el reset sea una entrada.
-
Bueno, yo si he utilizado un diodo como en tu esquemático, sin problemas, pero un diodo 1N4148. (D1)
Para determinar si es problema de reset, deberías configurar los bits del micro para que el reset sea una entrada.
Exactamente esa es la manera en que lo probaba.. El hecho de tener un monitor en el pin de ISCP-DAT e ISCP-CLK te deja disponible esos leds de prueba y el pulsador de reset como una entrada digital..
Un simple código para cambiar de estado estos bits según el la tensión en nuestro RA5 y taráaan..
Si alguien quiere el diseño de la placa con gusto la subo..
-----------------------------
Edit: El diodo que utilizo es un 1n4001 si no me equivoco.. Por estos lados cuando pedís un schotty o un zener te miran con cara rara, imaginarse que los micros los he traído a granel hace un par de años en un viaje de mas de 200km..
-
Edit: El diodo que utilizo es un 1n4001 si no me equivoco.. Por estos lados cuando pedís un schotty o un zener te miran con cara rara, imaginarse que los micros los he traído a granel hace un par de años en un viaje de mas de 200km..
https://en.wikipedia.org/wiki/1N4148 (https://en.wikipedia.org/wiki/1N4148)
-
Bueno, yo si he utilizado un diodo como en tu esquemático, sin problemas, pero un diodo 1N4148. (D1)
Para determinar si es problema de reset, deberías configurar los bits del micro para que el reset sea una entrada.
En este caso, el que originaba problemas no era el diodo 1N4148, como han comentado ese diodo protege a la alimentacion de 5V cuando se pone la tensión de programación en el pint MCLR.
El problema en este caso es el LED3 entre MCLR y GND.
Saludos
-
No leí todas las respuestas, pero te consulto, probaste quitando el LED3?
sds.
Santo remedio! no sé como no lo vi antes.. Supongo que deberé plantear los esquemáticos un poco menos estructurados para visualizar mejor.. Muchísimas gracias! :-/
Debo reconocer que me ha costado unos minutos encontrar como eran las conexiones. Estructurar un poco el esquemàtico ayuda y mucho. En este caso quizá fue un poco de más ;-)
Aprovecho para agradecerte como a Killer tanto material aportado al foro, los neófitos aprendemos muchísimo leyendo a los grandes sabios..
Salutes!
Noooo, de sabios no tenemos nada! Muchas veces los problemas salen bien evidentes para los que pegan una ojeada a lo que estamos haciendo.... Me ha pasado mil veces renegar con un sistema horas y horas y de repente pasa algún compañero y me dice "x q pusiste eso alrevez?" y ahí caigo en el error!! jaja
Saludos!
-
En mi 2do post:
En si el pin del MCLR no toma demasiada corriente, por lo cual no deberias tener tanta caida de tension. Pero si le sumas que ademas tenes un diodo led colgado desde el pin del MCLR eso lo empeora, ni siquiera se por que esta el diodo led/resistencia ahi. Probaria con sacar eso tambien. Y ponerlo a VDD si es que queres ver cuando esta funcionando o no.
Te gane elgarbe, te gane!!! xD jaja ( broma obviamente )
Solo decirte que por no leer lo hubieras encontrado antes al problema o no hubieramos divagado en otras cuestiones pensando que ya lo habias probado.
Lo bueno es que lo arreglaste, y tambien sabes que ese diodo (rectificador) como lo tenes puesto en tu diagrama esta mal tambien. Por que sino aplicarias VPP directos al capacitor sin resistencia de por medio. Por suerte mataste 2 pajaros de un tiro :3
-
En mi 2do post:
En si el pin del MCLR no toma demasiada corriente, por lo cual no deberias tener tanta caida de tension. Pero si le sumas que ademas tenes un diodo led colgado desde el pin del MCLR eso lo empeora, ni siquiera se por que esta el diodo led/resistencia ahi. Probaria con sacar eso tambien. Y ponerlo a VDD si es que queres ver cuando esta funcionando o no.
Te gane elgarbe, te gane!!! xD jaja ( broma obviamente )
Lo que pasa que tus respuestas son muyyyyy largas, sos como Java (del otro post)... En cambio yo paso veo, tiro la justa y me voy, como C++... :D :D :D
Saludos!
-
En mi 2do post:
En si el pin del MCLR no toma demasiada corriente, por lo cual no deberias tener tanta caida de tension. Pero si le sumas que ademas tenes un diodo led colgado desde el pin del MCLR eso lo empeora, ni siquiera se por que esta el diodo led/resistencia ahi. Probaria con sacar eso tambien. Y ponerlo a VDD si es que queres ver cuando esta funcionando o no.
Te gane elgarbe, te gane!!! xD jaja ( broma obviamente )
Solo decirte que por no leer lo hubieras encontrado antes al problema o no hubieramos divagado en otras cuestiones pensando que ya lo habias probado.
Lo bueno es que lo arreglaste, y tambien sabes que ese diodo (rectificador) como lo tenes puesto en tu diagrama esta mal tambien. Por que sino aplicarias VPP directos al capacitor sin resistencia de por medio. Por suerte mataste 2 pajaros de un tiro :3
Me resulta sumamente extraño no haberlo leído Killer! Muchas gracias y disculpas..
-
Lo que pasa que tus respuestas son muyyyyy largas, sos como Java (del otro post)... En cambio yo paso veo, tiro la justa y me voy, como C++... :D :D :D
Saludos!
Algun dia quiere ser como vos cuando sea grande! :D
Me resulta sumamente extraño no haberlo leído Killer! Muchas gracias y disculpas..
No te preocupes.. igual fue lindo ir por todos los documentos y ver hasta el minimo detalle de como funcionan las cosas, de esa forma tener una mejor comprension del sistema.