TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: Pocopelo en 01 de Abril de 2012, 19:30:16

Título: Pic 16F628A y LCD PC1602F. Funciona OK en proteus pero no en protoboard
Publicado por: Pocopelo en 01 de Abril de 2012, 19:30:16
Hola amigos,

He hecho un programa en PBP y al simularlo en proteus funciona a la perfección, pero al pasarlo al protoboard no consigo que el PIC de salida alguna. Como funciona en proteus, pienso que el problema esta en la programación del PIC. La he hecho con el programado GTP-USB plus y el winpic800. He repasado mil veces el montaje en el protoboard y no encuentro nada raro. Os estaria muy agradecido si me pudierais ayudar.

Si necesitais algun dato, el codigo, etc. lo adjunto.

Gracias.
Título: Re: Pic 16F628A y LCD PC1602F. Funciona OK en proteus pero no en protoboard
Publicado por: samshiel_pic en 01 de Abril de 2012, 19:52:59
Hola Pocopelo, deberías de colgar el esquemático de cómo lo tienes montado y el código para que podamos ver en que parte puede estar el fallo.
De todas formas comprueba que le llegue al PIC tensión a la patilla de MCLR y que el cristal este bien conectado con sus condensadores. Hay que estar seguro a la hora de hacer pruebas en protoboard que no haya falsos contactos que casi siempre ocurren. Yo te aconsejaría que conectaras un Led a la patilla RB0 y hicieras un programa sencillo para encender y apagar de manera infinita y así compruebas que el PIC está bien conectado, y si funciona bien será una mala conexión del circuito y falso contacto o un fallo en el firmware.
Es todo lo que te puedo decir sin tener nada delante.  ;-)
Título: Re: Pic 16F628A y LCD PC1602F. Funciona OK en proteus pero no en protoboard
Publicado por: Pocopelo en 02 de Abril de 2012, 05:23:14
Hola samshiel_pic,

Comentas la tensión a la patilla de MCLR. Yo la tengo desconectada porque al grabar el pic la desactive en las opciones del winpic800 y estoy utilizando el osc interno del PIC. Las opciones de grabación que puse fueron:

Activados: OSC -> IntRC I/O - Bit de configuración -> WDT, PWRT, BODEN. El resto desactivados.
 
Como tengo que conectar el MCLR, directamente o a traves de alguna resistencia?.

Ahora estoy en el trabajo pero cuando llegue a casa, intentare subir el esquematico y el codigo.

Gracias.
Título: Re: Pic 16F628A y LCD PC1602F. Funciona OK en proteus pero no en protoboard
Publicado por: samshiel_pic en 02 de Abril de 2012, 06:21:49
Hola pocopelo,
Pues lo tienes que conectar simplemente con una resistencia de 10k a +5v y además te dejo como conectar el botón de RESET y al lado como conectar el VPP del GTP USB + para que no tengas que desconectar para programar.

(http://www.neoteo.com/images/Cache/9CB5x900y900.jpg)
Título: Re: Pic 16F628A y LCD PC1602F. Funciona OK en proteus pero no en protoboard
Publicado por: Pocopelo en 02 de Abril de 2012, 13:28:03
Hola samshiel_pic, gracias por la información. El tema del MCLR lo tengo claro, lo que no tengo tan claro es lo del programador. Podrias explicarlo mas?.

Gracias.
Título: Re: Pic 16F628A y LCD PC1602F. Funciona OK en proteus pero no en protoboard
Publicado por: samshiel_pic en 02 de Abril de 2012, 15:07:53
Vamos a intentar explicarlo, aunque en el foro y en la web hay mucha información sobre ICSP.

1º.- Esta sería la forma de conectar el conector ICSP del GTP USB+ al PIC.

(http://i108.photobucket.com/albums/n18/sasmshiel/ICSP.png)


Si además quieres conectar un pulsador de RESET en el MCLR puedes añadir el pulsador como se muestra en la siguiente imagen:

(http://i108.photobucket.com/albums/n18/sasmshiel/CircuitodeRESET.jpg)

PD: uffff!! que ratito me he pegao con el PAINT.  :-/   ;-)
Título: Re: Pic 16F628A y LCD PC1602F. Funciona OK en proteus pero no en protoboard
Publicado por: Pocopelo en 03 de Abril de 2012, 04:35:17
Ok, ahora si que te he entendido. No sabia que se podia hacer esto con el programador. Por mis respuestas, intuiras que llevo poco tiempo en esto. Muchas gracias y me pondre manos a la obra con todo lo que me has dicho, haber si puedo hacer andar el pic.

Ire comentando por aqui los avances o retrocesos que vaya haciendo.

Saludos.
Título: Re: Pic 16F628A y LCD PC1602F. Funciona OK en proteus pero no en protoboard
Publicado por: Pocopelo en 08 de Abril de 2012, 19:31:06
Hola, pues sigue sin funcionar. He reducido el codigo quitando de enmedio el LCD para ir paso a paso. Insisto en que en Proteus funciona a la perfección y el PIC lo he probado conectando un led a la patilla RB0 y parpadea. El fuse del MCLR lo he puesto a OFF al grabar pero aun asi he probado a colocar una resistencia entre la patilla 4 y +5V y tampoco hace nada. Como no se que mas hacer, aqui os muestro el codigo y el esquema por si me podeis ayudar.

Saludos.
Título: Re: Pic 16F628A y LCD PC1602F. Funciona OK en proteus pero no en protoboard
Publicado por: kamisama en 08 de Mayo de 2012, 08:22:57
Probalo en un protoboard.

Proba hacer una rutina de 1seg prende 1seg apaga.
Tenes que deshabilitar el perro guardian y ver el tema de MCLR dejalo por default(OFF) y metele un cable a + no una Resistencia, empeza usando un XTAL de 4mhz

En otro ambito de cosas, no entiendo porque lees el puerto completo.

Si no te queda otra cosa que hacerlo, almacena el puerto en una variable

Luego usa la variable para comparar o lo que sea. No leas el puerto tantas veces ni una vez tras otra.


Para evitar estados locos en lo que no me interesa hago lo siguiente

Código: Visual Basic
  1. Checkstatus:
  2.     Varaux3=PORTX
  3.     Varaux2=VarMaskOfZorro | Varau3                          'Operacion Or Puertab Y Mascara
  4.    If Varau2=VarMaskOfZorro Then Varau2=0
  5.     delayms 100
  6.     Return
  7.  
  8. VarMaskOfZorro seria el estado de 0 de la puerta que me interesa los 1 no me interesan

Y luego trabajo sobre la variable no sobre el puerto. Lee el datasheet y el documento de los midrange.
En proteus simula bien porque hace caso omiso a esas pequeñeces porque es una pequeñez.

Saludos y postea los resultados o siguientes preguntas.