TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: cactus_power en 15 de Mayo de 2008, 18:27:16
-
Hola a todos.
He realizado un pcb q contiene un pic18f2550, un lcd, un lector rfid, transmisión usb.. etc.
Lo tenia 100 % montado y me funcionaba a la perfección. La semana pasada estuve fuera y esta semana al volver.. me encuentro que el programa funciona.. pero mucho más lento. El programa responde cada vez más lentamente.
A alguno le ha pasado?
Puede ser deterioro del cristal? O de los condensadores que lo acompañan? O ruido?
A ver los más expertos que me deciís.
Muchas gracias una vez más. A ver si me orientais
Saludos!
-
Hola cactus_power!
Tienes el WDT activado? No creo que te pelees con temas RFID para un proyecto que haces por placer :D Te recomiendo que lo actives. Supuestamente ya no te volverá a pasar. De todas formas sería interesante que los compañeros comentaran experiencias similares a la tuya. Así podríamos entender un poco mejor las anomalías en el funcionamiento de los PIC.
Estaré así :shock: a ver lo que comentan los colegas.
Un saludo desde Alicante.
-
Hola, gracias por tu rapido paso por aquí ;).
No tengo el WDT activado.
La verdad es que es la primera vez que he utilizado el micro PIC. Tengo entendido que el WDT resetea cada cierto tiempo el micro para que no se quede parado.
Mi programa utiliza un LCD con muchos menús que conforman una interfície así que no tendría demasiado sentido que se resetee el micro.. vaya que solucionaria el problema y tendria otro..
Sobre el RFID, no és demasiado complicado ya que utilizo un lector prefabricado que compré en www.trossenrobotics.com
La comunicación es serie y no tiene mucho más a entender...
En fin, gracias!
A ver si encontramos pq cada vez va más lento..
-
Hola
Una pregunta, ¿dejaste funcionando el circuito desde que te fuiste o cuando lo enciendes empieza a funcionar lentamente?
-
El circuito lo dejé apagado.
Cuando lo enciendo empieza a funcionar muy lentamente, cada vez más. Cuando se inicia el programa, en el LCD aparecen letras corriendo para una inicialización. Ahora cada vez corren más lentamente...
-
El circuito lo dejé apagado.
Cuando lo enciendo empieza a funcionar muy lentamente, cada vez más. Cuando se inicia el programa, en el LCD aparecen letras corriendo para una inicialización. Ahora cada vez corren más lentamente...
Puedes subir un esquemático del PIC y su circuito de oscilación? y de su circuito de MCLR?
Puedes mostrarnos como has configurado los FUSES del micro?
-
Todos los fusibles són:
#fuses HSPLL, NOWDT, XT, NOPROTECT, BROWNOUT, NOPUT, NOCPD, PLL1, USBDIV, CPUDIV1, VREGEN
#fuses NOSTVREN, NODEBUG, NOLVP, NOWRT, NOWRTD, NOIESO, NOFCMEN, NOPBADEN
#fuses NOWRTC, NOWRTB, NOEBTR, NOCPB, NOLPT1OSC, MCLR, NOXINST
El circuito de oscilacion no lo subo pq no tengo aqui esquematico. Consta de un oscilador de 4 mhz y dos condensadores de 22 pF en cada patilla y a massa. (Tipico)
El reset está conectado con una resistencia a valor alto y mediante un pulsador a massa. Así cuando activo el pulsador ahi reset en el sistema.
-
Otra pregunta, ¿existe alguna variable que almacenes en memoria EEPROM y que controle el tiempo de alguna forma?
-
Utilizo una EEPROM externa para guardar datos... pero no tiene nada que ver con el tiempo.
-
probaste simplemente por curiosidad volver a programar el micro a ver q sucede??? si el problema volviera a suceder puede ser algun error en el codigo
-
Si, lo programé de nuevo al no funcionarme el micro. Pero no ha funcionado. El error de codigo no es pq hace 5 días funcionaba, y tb tengo una protoboard en la que me funciona. En el pcb, en cambio no funciiona correctament, sino q va lento.
-
Lo mas probable es que sea el cristal, me refiero a que la pista que conecta al PIC se haya abierta apenas una micra y pueda que el cristal queda conctado en un momento y en otro momento se descoencta y se vuelve a conectar y asi sucesivamente por eso va lento, prueba resoldando el lado de las pistas del cristal por ultimo prueba cambiando el cristal hace tiempo me pasó algo parecido con un cristal y éste comenzó a fallar algo muy muy raro cambie el cristal por uno nuevo de mejor calidad y listo.
Javicho.
-
Saludos!
Caramba, me ha surgido una pregunta... no sé si ese sea el problema, pero igual me gustaría que algún experto me la aclarara...
el fuse PUT no se coloca generalmente activado?
Es decir: #Fuse PUT...
Qué influye el que se coloque NOPUT?
Seguramente es una pregunta estúpida, pero más vale pasar por idiota pero aprender... :D
Ok nos leemos! :mrgreen:
P.D. Estuve buscando un post donde el maestro Ariel explicó detalladamente los fuses, pero no lo encuentro... si alguien lo consigue y me da el link se lo agradecería.
-
PowerUpTimer
Es un fuse que mantiene al PIC sin arrancar un tiempo después de que le llegue la alimentación.
Si en tu aplicación no es crítico el tiempo de arranque, se recomienda tenerlo activo para dar tiempo al circuito a estabilizar la alimentación antes de empezar a ejecutar el programa.
http://www.todopic.com.ar/foros/index.php?topic=20189.0
-
Gracias nocturno! :-/
Como siempre sacándome de mis lagunas mentales :D
Me ha quedado muy claro.
Gracias por tenerme paciencia y por tu tiempo! :P
Ok nos leemos! :mrgreen:
-
Hola, buenos dias a todos.
Gracias por vuestras respuestas.
Por lo pronto resoldaré la pista al cristal y compraré un cristal nuevo a ver si es eso...
-
Hola cactus, el problema es bastante peculiar, es mas te digo que no creo que ha mucha gente se le haya ralentizado de tal forma un PIC. Entre las causas que puedan dar lugar a extraño problema estan las soldaduras frias en el circuito del reloj. Uno las ve como soldaduras normales, pero el hecho es que presentan electricamente resistencia a la corriente eléctrica o bien directamente no conducen la misma. Es como tener una pista cortada, tal como ha dicho Javicho.
La verdad que ansio conocer que causa semejante efecto, luego nos cuentas.
Saludos.
-
Hola a todos, ya está solucionado! He tardado unos días pq en la tienda de mi ciudad no tenian el maldito cristal y me lo han tenido que enviar, y hasta final de semana ayer no me puse a mirarlo.
El problema se solucionó cambiando el cristal, pero.... seguía lento.. así que hice un "apaño" soldando puentes a las pistas que unian el micro con el cristal. Maravillosamente funcionaba bien ;).
Así que gracias a todos, y enhorabuena Javicho pq has acertado tu ;).
Ahora sólo me falta solucionar un último problema (más que nada porque lo he ido dejando) de visualización de una variable float por el LCD. Voy a pelearme un poco después de comer.
Gracias!
-
Que bueno que has solucionado tu problema pero para una mejor estetica de tu PCB porque no mejor en lugar de poner puentes, mejo soldas las pistas, mejor conocido como estañear las pistas con eso si hay alguna pista ligeramente cortada o tienes soldadura fria se soluciona y te evitas los feos puentes.
Saludos desde méxico.