Foros de Electrónica

Comunidad de discusión sobre Automatización, Electrónica industrial, Microcontroladores y electrónica digital, Robótica, Domótica, Telemática, Tecnologías móviles, y muchos temas más.




Error con un PIC


       



#1  Error con un PIC
neoroger
Registrado: 14 Nov 2007
Mensajes: 16
citar
Hola, weno para empezar decir que hablo desde unos conocimientos escasos, por si luego digo una burrada. El caso es que he hecho un circuito electronico con un Pic16F84 que ya había utilizado muchas veces y siempre sin problemas.
En base, el sistema es rollo bomba, pero en vez de explotar, se enciende un LED. Está programado para contar un numero de minutos, y tener que desactivarlo y eso. Teoricamente es sencillo.
Pero a la hora de la verdad, el circuito no funciona como es debido. Es decir, en ocasiones va perfecto, y hace todo lo que debe hacer. Pero desenchufo, vuelvo a enchufar, y ya no funciona. Sólo funciona una de cada 10 veces o asi. El programa ensamblado está bien, porque está testeado mil veces con el MPLAB y ya subsané los errores. y el circuito es muy simple, y no parece que tenga ningun fallo, y si lo tuviera, iría mal siempre no? no iria a veces bien a veces mal.

Mi pregunta es si existe alguna razón que pueda haber pasado por alto para que esto funcione de éste modo. Perdon por la extensión de la pregunta pero me es dificil explicarlo Smile

Gracias de antemano

#2  
yamazaky1984
Ubicación: Bogotá-Colombia
Registrado: 28 Ago 2006
Mensajes: 223
citar
Pienso que debe ser un problema del programa, en alguna oportunidad diseñe un programa muy extenso y los errores del programa no se veian conado efectuaba las operaciones basicas sino cuando lo probaba y al tiempo depues sin quitarle la alimentacion se presentaban las fallas. Otra posible causa(mas cercana atu caso) es que al iniciar el microcontrolador las rutinas iniciales so decisivas para el funcionamiento del micro, entonces esprobable que por efectos de la una mala fuente de alimentación no se le suministre toda la tension o corirente necesaria, afectando dichos ciclos de reloj que son importantes. normalmente para evitar cosas de ese tipo creo un retardo inicial (1ms) y despues configuro los registros, asi prevengo dicho problema. Escucho mas experiencias

#3  
mabauti
Ubicación: México
Registrado: 22 Oct 2006
Mensajes: 1092
citar
postea el programa y el diagrama del circuito, podria ser que no tengas proteccion para entrada/salida.

#4  
neoroger
Registrado: 14 Nov 2007
Mensajes: 16
citar
Bien tengo que recuperar el original, que lo dejé en el ordenador donde ensablé el PIC. Ésta misma noche tendré los originales y los colgaré aquí. Dios llevo desde verano enganchado con éste proyecto! si consigo solucionarlo me muero Razz

#5  
neoroger
Registrado: 14 Nov 2007
Mensajes: 16
citar
Bien aquí tengo el código. es un poco lioso pero weno, a lo mejor las anotaciones del lado os ayudan a entenderlo. Además todos los puertos estan definidos con nombres, que así será mas facil de entender. Por si acaso, os hago una pequeña explicación:

Weno esta vez lo explicare bien. El tema es que es como una mina, que tendrás que desactivar. tendrás 30 minutos para llegar hasta la mina, y abrir la tapa de ésta. en ese momento, el PIC comienza a contar 30 segundos, que es el tiempo que tienes para desactivarla. Tendras un monton de cables, pero en realidad, solo seran dos circuitos de cables, haciendo zigzag. Si por alguna casualidad, desconectas un cable del circuito que no tenias que tocar, suena la alarma. Tu objetivo será reordenar el otro circuito, para que se complete y conduzca una señal alta al pic. pero claro, podrías haberlo hecho sin querer, entonces para saber si lo has hecho adrede, he puesto un pulsador. Si es pulsado, el pic comprueba si la has desactivado. si es asi, se apaga, y si no, suena la alarma. Eso es todo ejje


PUERTOS A:

PORTA,0: Hay un led que indica que el bicho éste a empezado a contar 30 minutos, que es el tiempo que tienes para abrir la tapa.
PORTA,1: Una vez abierta la tapa, se enciende este led.
PORTA,2: Es un led verde, que indica que la mina ha sido desactivada.
PORTA,3: Lleva hasta un led, que simula la alarma que pondré.

PUERTOS B:

PORTB,0: De los dos circuitos de cableado de los que hable antes, éste es el que tienes que completar para desactivarla. (0=nada,1=desactivado)
PORTB,1: El detector de la tapa abierta. (Abierta=0,Cerrada=1)
PORTB,2: No hay nada conectado
PORTB,3: El segundo circuito, el que si lo cortas, suena la alarma (0=alarma,1=todo normal)
PORTB,4: El pulsador que pulsas cuando "crees" que ya la has desactivado.
PORTB,5: Esto es un detector de movimiento, pero como vereis en el codigo, esta deshabilitado, xke como no funcionaba el codigo, pense que el problema podia estar ahi y lo quite (aunke fallaba iwal Razz)
PORTB,6: Otro detector deshabilitado, este para que no lo levanten del suelo.


Bueno espero que no sea demasiado caotico y alguien me pueda decri donde puede estar el fallo. Gracias! (PD: alguien podria asustarse y pensar que soy un terrorista o algo jaja pero tranquilos, esto es para Airsoft, un deporte tipo Paintball)



Este mensaje contiene archivos adjuntos, para verlos debes estar registrado.

#6  
Alf255
Ubicación: España
Registrado: 23 Nov 2007
Mensajes: 3
citar
Puede que tu problema no sea el programa, no lo he leido y no lo voy a descargar, porque tu mismo dices que simuldo funciona bien, quizas se deba a un herror en el hardware, haz la prueba siguiente, enchufalo todo pero no coloques el cristal, cuando lo hagas, y lo tengas todo alimentado, coloca el cristal, comprueba lo que te sale, si te sale bien, entonces haz caso al consejo de retardar el programa un par de milisegundos o a activa el POR.

Espero que te sirva

#7  
neoroger
Registrado: 14 Nov 2007
Mensajes: 16
citar
nada... lo intenté y sigue igual... lo que aré será comprobar de nuevo el codigo, y copiaré el circuito en una plakita de pruebas, haber si lo soluciono... gracias a todos! Smile

#8  
Leon Elec
Ubicación: Argentina
Registrado: 07 Nov 2007
Mensajes: 231
citar
Hola. Tienes un error bastante grave. Cuando vas a la rutina FIN, se llama a la sub-rutina apagartodo, cuando finaliza esta sub-rutina vuelve a la rutina FIN, pero aquí ya no hay nada y el CP empieza a recorrer cualquier parte de su memoria, para solucionar esto pon esta rutina

loop goto loop

Esto obliga al CP quedarce aquí.

Prueba esto y nos dice como te fué.

#9  
neoroger
Registrado: 14 Nov 2007
Mensajes: 16
citar
Vaya es verdad! no me había dado cuenta... :s Muchas gracias Leon Elec, ahora lo he vuelto a escribir desde cero, y sin cometer ésta vez ese error, he puesto al final lo de apagartodo, y luego e puesto SLEEP, y así que se quede hasta que alguien desconecte el aparato. Ahora que lo e vuelto a hacer si funciona, asi que tal vez fuera eso. Así que muchas gracias de nuevo Leon Elec Smile
PD: Cuando consiga acabar éste proyectillo, colgaré algún video en youtube (allí me llamo NEOROGERTUBE)

Weno gracias a todos! Smile

#10  
Leon Elec
Ubicación: Argentina
Registrado: 07 Nov 2007
Mensajes: 231
citar
Me alegro que lo allas podido solucionar.

Esperamos el video.

 Responder





 Otros temas de interés 
No hay mensajes nuevos Contar pulsos en determinado tiempo
No hay mensajes nuevos Comenzar a contar desde 0
No hay mensajes nuevos Sensor para contar monedas
No hay mensajes nuevos contador des(192) cuando llegue a cero no vuelva a contar
No hay mensajes nuevos Como conectar la 7490 para contar hasta 9

Foros de Electronica
|| Cuestiones Elementales de Electrónica || Fuentes de alimentacion || Circuitos de radio || Diseño de circuitos en general ||
|| Sistemas de Audio: Preamplificadores, Ecualizadores || Amplificadores || Reparación || Discusión ||
|| Microcontroladores y sistemas embebidos || Circuitos logicos combinacionales y secuenciales || Interfaces y Programacion || Dudas en general || Sistemas de Video || PC Hardware || Telematica y comunicaciones || Tecnologias moviles || Software Electronico || Robotica, Domotica y Mecatronica || Autotrónica || Automatizacion, Electronica industrial y de Potencia || Documentacion, circuitos y esquemas || Donde Las Ideas Convergen... || Tutoriales y Manuales || Proyectos Prácticos ||