Autor Tema: Problemas extraños con PIC16F877 y sensado  (Leído 5560 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Problemas extraños con PIC16F877 y sensado
« en: 12 de Octubre de 2006, 00:11:18 »
Buenas a todos, Pues un amigo me pidio ayuda para hacer un programa basico de algo asi como un termostato programable. Se le ingresa la temperatura un rango de error minimo 1 grado y listo se pone a calentar y si se pasa enfria, una vez enfriado vuelve a calentar, hasta que le demos salir.

Bueno el problema esta en que al pasarlo al proto el programa dura a lo mucho 1 minuto y se resetea o cuando se enciende el pin que activa la resistencia se resetea, bueno no se resetea se vuelve loco el lcd deja de mostrar los mensajes y se empiezan a ver caracteres raros algo asi //_00???/_/ osea muere el programa.

aqui les dejo el codigo es en PBP y no encuentro algo que genere ese reseteo
Código: C#
  1. '****************************************************************
  2. '*  Name    : TERMO_ON/OFF.PBP                                  *
  3. '*  Author  : Max Eduardo Reyes Vera Juarez                     *
  4. '*  Notice  : Copyright (c) 2006 Protegido Por  leyes de Autor  *
  5. '*          : All Rights Reserved                               *
  6. '*  Date    : 04/10/2006                                        *
  7. '*  Version : 1.0                                               *
  8. '*  Notes   :                                                   *
  9. '*          :                                                   *
  10. '****************************************************************
  11.  
  12. define OSC 12
  13.  
  14. DEFINE LCD_DREG   PORTD
  15. DEFINE LCD_DBIT   4
  16. DEFINE LCD_EREG   PORTD
  17. DEFINE LCD_EBIT   1
  18. DEFINE LCD_RSREG  PORTD
  19. DEFINE LCD_RSBIT  0
  20.  
  21. DEFINE ADC_CLOCK      3
  22. DEFINE ADC_BITS      10
  23. DEFINE ADC_SAMPLEUS  50
  24.  
  25. ADCON1 = 143
  26. OPTION_REG.7 = 0
  27.  
  28. TRISA = 255
  29. TRISB = 127
  30. TRISC = 0
  31.  
  32.  
  33. TERMO VAR PORTA.0
  34. HTEMP VAR PORTB.0
  35. LTEMP VAR PORTB.1
  36. ENTER VAR PORTB.2
  37. EXIT  VAR PORTB.3
  38. HEAT  VAR PORTC.0
  39.  
  40. SENSOR  VAR WORD
  41. MAXTEMP VAR WORD
  42. RANGO   VAR WORD
  43. REF     VAR WORD
  44. RL      VAR BYTE
  45. TL      VAR BYTE
  46. I       VAR BYTE
  47.  
  48. INICIO:
  49.   MAXTEMP=0
  50.   RANGO=0
  51.   PORTC=0
  52.  LCDOUT$FE,1,"  INGRESE  "
  53.  LCDOUT$FE,$C0,"TEMPERATURA"
  54.  GOSUB PAUSA
  55.  
  56. GOTO INICIO
  57.  
  58.  
  59. PAUSA:
  60.  FOR I=0 TO 20
  61.   IF HTEMP=0 OR LTEMP=0 THEN
  62.    GOTO MAST
  63.   ENDIF
  64.   PAUSE 100
  65.  NEXT I
  66. RETURN
  67.  
  68. MAST:
  69.  IF EXIT=0 THEN BREAK
  70.  IF LTEMP=0 THEN
  71.   GOSUB MENOST
  72.  ENDIF
  73.  
  74.  IF hTEMP=0 THEN
  75.   PAUSE 130
  76.    IF HTEMP=0 THEN
  77.     MAXTEMP=MAXTEMP+1
  78.      TL = MAXTEMP
  79.     LCDOUT$FE,1,"TEMPERATURA DE:"
  80.     LCDOUT$FE,$C0,"    ",DEC MAXTEMP,"ßC"
  81.     IF LTEMP=0 THEN MENOST
  82.    ENDIF
  83.  ENDIF  
  84.  
  85.  IF MAXTEMP>=250 THEN
  86.    MAXTEMp=0
  87.  ENDIF
  88.  
  89.  IF ENTER=0 THEN
  90.  MAXTEMP=(MAXTEMP*2)
  91.   GOSUB XRANGO
  92.  ENDIF
  93. GOTO MAST
  94.  
  95. MENOST:
  96.  IF EXIT=0 THEN BREAK
  97.  IF HTEMP=0THEN
  98.   GOTO MAST
  99.  ENDIF
  100.  
  101.  IF LTEMP=0 THEN
  102.   PAUSE 130
  103.    IF LTEMP=0 THEN
  104.     MAXTEMP = MAXTEMP - 1
  105.     TL = MAXTEMP
  106.     LCDOUT$FE,1,"TEMPERATURA DE:"
  107.     LCDOUT$FE,$C0,"    ",DEC MAXTEMP,"ßC"
  108.     IF HTEMP=0 THEN MAST
  109.    ENDIF
  110.  ENDIF
  111.  
  112.  IF MAXTEMP <=0 THEN
  113.   MAXTEMP = 250
  114.  ENDIF
  115.  
  116.  IF ENTER=0 THEN
  117.  MAXTEMP=(MAXTEMP*2)
  118.  GOSUB XRANGO
  119.  ENDIF
  120.  
  121. GOTO MENOST
  122.  
  123. XRANGO:
  124.  LCDOUT$FE,1,"MARGEN DE ERROR?"
  125. GOSUB PAUS2
  126. GOTO XRANGO
  127.  
  128. RANGOTT:
  129.  IF EXIT=0 THEN BREAK
  130.  IF LTEMP=0 THEN
  131.   GOTO RANGOTM
  132.  ENDIF
  133.  
  134.  IF HTEMP=0 THEN
  135.   PAUSE 130
  136.    IF HTEMP=0 THEN
  137.     RANGO = RANGO+1
  138.     RL = RANGO
  139.     LCDOUT$FE,1,"RANGO DE:"
  140.     LCDOUT$FE,$C0,"+/-  ",DEC RANGO,"ßC"
  141.     IF LTEMP=0 THEN RANGOTM
  142.    ENDIF
  143.  ENDIF
  144.  
  145.  IF RANGO>255 THEN
  146.   RANGO=0
  147.  ENDIF
  148.  
  149.  IF ENTER=0 THEN
  150.   RANGO = (RANGO*2)
  151.   GOTO CALIENTA
  152.  ENDIF
  153. GOTO RANGOTT
  154.  
  155. RANGOTM:
  156.  IF EXIT=0 THEN BREAK
  157.  IF HTEMP=0 THEN
  158.   GOTO RANGOTT
  159.  ENDIF
  160.  
  161.  IF LTEMP=0 THEN
  162.   PAUSE 130
  163.    IF LTEMP=0 THEN
  164.     RANGO = RANGO-1
  165.     RL = RANGO
  166.     LCDOUT$FE,1,"RANGO DE:"
  167.     LCDOUT$FE,$C0,"+/-  ",DEC RANGO,"ßC"
  168.     IF HTEMP=0 THEN RANGOTT
  169.    ENDIF
  170.  ENDIF
  171.  
  172.  IF RANGO<=0 THEN
  173.   RANGO=255
  174.  ENDIF
  175.  
  176.  IF ENTER=0 THEN
  177.   RANGO = (RANGO*2)
  178.   GOTO CALIENTA
  179.  ENDIF
  180. GOTO RANGOTM
  181.  
  182. CALIENTA:
  183.  HIGH HEAT
  184.  GOSUB SENSA
  185.  LCDOUT$FE,1,"CALENTANDO A:"
  186.  LCDOUT$FE,$C0,DEC TL,"ßC  ","+/- ",DEC RL,"ßC"
  187.  IF SENSOR>MAXTEMP+RANGO THEN
  188.   LCDOUT $FE,1
  189.   LCDOUT$FE,$C0
  190.   GOTO COOL
  191.  ENDIF
  192. GOTO CALIENTA
  193.  
  194. COOL:
  195.  LOW HEAT
  196.  GOSUB MSJ2
  197.  GOSUB SENSA
  198.  IF SENSOR<MAXTEMP-RANGO THEN
  199.   GOTO CALIENTA  
  200.  ENDIF
  201. GOTO COOL
  202.  
  203. SENSA:
  204.  FOR i = 0 TO 50
  205.   ADCIN TERMO,SENSOR
  206.   REF=REF+SENSOR
  207.   IF EXIT=0 THEN BREAK
  208.   PAUSE 10
  209.  NEXT I
  210.  SENSOR =REF/50
  211.  REF=0
  212. RETURN  
  213.  
  214. PAUS2:
  215.  FOR I=0 TO 10
  216.   IF HTEMP=0 OR LTEMP=0 THEN
  217.    GOTO RANGOTT
  218.   ENDIF
  219.   PAUSE 150
  220.  NEXT I  
  221. RETURN
  222.  
  223. BREAK:
  224.  PORTC=0
  225.  MAXTEMP=0
  226.  RANGO=0
  227. GOTO INICIO
  228.  
  229. MSJ2:
  230.  FOR I=0 TO 22
  231.  LCDOUT $FE,$C0
  232.  lcdout $fe,$1C, "...ENFRIANDO  ESPERE... "
  233.  IF SENSOR<MAXTEMP-RANGO THEN
  234.   GOTO CALIENTA  
  235.  ENDIF
  236.  PAUSE 300
  237.  NEXT I
  238. RETURN
  239. END

y la imagen de como lo conecto en el proto



Las resistencias de los botones son de 330, la del mclr de 10k por sugerencia de una amiga le coloque resistencias de 2.2K entre el pin de RS y E del lcd y el pic. Los capacitores ceramicos son de de 15pF y un crystal de 12.

Pero siempre se resetea, en la simulacion como siempre sirve. ¿Que sera alguien ve algo extrano o mal? Ya cambie de protos de hecho ya use 4
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Re: Problemas extraños con PIC16F877 y sensado
« Respuesta #1 en: 12 de Octubre de 2006, 03:35:41 »
Intenta también con otra fuente, eso me pasaba a mi mucho con un transformador que tenía.

Una sugerencia...... ¿cambiaste de µicro?

Suele pasar que la luna se alinea con Júpiter y provoca que en acuario se establezcan similitudes con géminis, provocando que la marea suba y generando oxígeno en menor proporción dando paso a un campo magnético intrínseco pero capaz de desvalancear el µicro a esa frecuencia.  :D


Se haría la recomendación del proto pero.......... ya lo hiciste.

Trata ahora con el µicro porque no veo error en tu programa (o por lo menos error para que se resete).
La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: Problemas extraños con PIC16F877 y sensado
« Respuesta #2 en: 12 de Octubre de 2006, 04:36:59 »
Hola navaismo, yo sacaría las resistencia de 2K2 que mencionas as colocado en serie con las lineas de RS y E, ya que los display no bienen preparadas para tenerlas, por lo cual te pueden traer inconvenientes tales como los mencionados por vos, aparte no le veo sentido alguno que las tenga.

Un saludo.

Atte. CARLOS.
La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Problemas extraños con PIC16F877 y sensado
« Respuesta #3 en: 12 de Octubre de 2006, 14:39:38 »
Ya en un principio estabn in resistencias, y lo del micro es el tercero ya queme 2 y no jala!!! que sera.

Gracias
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado Marioguillote

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1926
    • Servisystem
Re: Problemas extraños con PIC16F877 y sensado
« Respuesta #4 en: 12 de Octubre de 2006, 15:06:38 »
Entonces tenés problemas en la fuente .....
Ruido que se te mete en los 5Volts y te provoca transitorios que te vuelven loco al PIC y en el peor de los casos te lo mata, como decís que ya fallecieron 2.
Que tan fiable es la alimentación al PIC ?

Otra posible falla es que el protoboard esté para jubilarlo.

Saludos
Mario

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Problemas extraños con PIC16F877 y sensado
« Respuesta #5 en: 12 de Octubre de 2006, 16:17:43 »
 :8} :2] :z) Ya cambie a un 5to proto y nada ahora solo se ven cuadritos en el lcd ya estoy que me lleva....... 5 protos no creo que sea eso!!!, el programa no se tal vez sea eso pero no encuentro que parte. El lcd mmm no creo. Puff que maleta me veo solo lo voy a intentar una vez mas y si no al diablouna semana y nada.

La fuente uso una de PC, y una de esas normales un transformador un mc7805 unos capacitores y ya el transformador es de 15V 300mA.

"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Re: Problemas extraños con PIC16F877 y sensado
« Respuesta #6 en: 12 de Octubre de 2006, 17:30:37 »
¿Intentaste cambiar de fuente?

Si usas una de PC, debe haber cables rojos los cuales te dán 5-6 volts. Los amarillos te dan +12 y los azules -12.

Usa el cable rojo (mide por aquello de las dudas).

Yo también usaba una fuente de esas y tomaba la salida desde los +12. Resultó ser que la parte de salida del +12 (7815 o algo asi) estaba malo; así que me cambié a los +5 y todo perfecto.


Como te mencioné, y como te sugirieron, intenta cambiar de fuente.
La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Problemas extraños con PIC16F877 y sensado
« Respuesta #7 en: 12 de Octubre de 2006, 18:08:30 »
Si ya lo hice uso el cable morado el k da voltaje al usb, y cambie ala que hice las normalitas. Y nada ya lo deje por la Paz, como que a mi amigo no le interesa mucho o pretende que se lo haga todo por el. Entonces pues como que no me late asi no le vi interes y no se lo veo ahora sabe del problema y no hace nada. De hecho todo el material es mio viene y ni cable trae mejor asi lo dejo gracias si lo llego a resolver les avisare.
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

AABHGA

  • Visitante
Re: Problemas extraños con PIC16F877 y sensado
« Respuesta #8 en: 13 de Octubre de 2006, 07:42:10 »
Si ya lo hice uso el cable morado el k da voltaje al usb, y cambie ala que hice las normalitas. Y nada ya lo deje por la Paz, como que a mi amigo no le interesa mucho o pretende que se lo haga todo por el. Entonces pues como que no me late asi no le vi interes y no se lo veo ahora sabe del problema y no hace nada. De hecho todo el material es mio viene y ni cable trae mejor asi lo dejo gracias si lo llego a resolver les avisare.

Jajajaja, lindos amigos te conseguís, pero el problema puede ser la alineación de los planetas o algo, xque ya me ha pasado en varias ocaciones, que esta todo trabajando bien y de un momento a otro parece que el micro empieza a perder lineas del programa, y despues de un rato se calma.

Desconectado Marioguillote

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 1926
    • Servisystem
Re: Problemas extraños con PIC16F877 y sensado
« Respuesta #9 en: 13 de Octubre de 2006, 12:01:25 »
Realmente como dijo Álvaro .... lindos amigos .....  :D

A mí me ocurre eso de los cuadraditos en el display cuando me paso de alimentación en el pin 3 VEE del LCD.
Yo no uso esa conexión que vós ponés en el esquema.
Yo pongo VEE al pin central de un preset de 10K conectado entre +5 y GND y variándolo; que es lo que le hace variar el contraste; cuando el contraste sube mucho, se borra la indicación y aparecen los cuadraditos.

Pero yendo a una solución más científica, empiezo a coincidir con mi tocayo Mario y con Álvaro.
Hay que estar muy atento a las alineaciones planetarias.  :D

Saludos
Mario

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Problemas extraños con PIC16F877 y sensado
« Respuesta #10 en: 13 de Octubre de 2006, 14:34:35 »
:D :D :D eso de la alineacion planetaria esta  Super cool :D :D :D  mi signo es aries afectara!!! :D :D
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

AABHGA

  • Visitante
Re: Problemas extraños con PIC16F877 y sensado
« Respuesta #11 en: 13 de Octubre de 2006, 23:17:32 »
Si, vas a salir cual carnero que surca los cielos y por eso quemas los pics xD

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Problemas extraños con PIC16F877 y sensado
« Respuesta #12 en: 15 de Octubre de 2006, 16:05:41 »
Bueno parece que los plentas dejaron de estar alineados.

Hoy me dedique un rato a ver que pasaba con ese programa. tenia la espina de poque no funcionaba, y bueno despues de 2 horas de estar molesto y no encontrar el problema me decidi a cambiar el Cristal de 12MHZ a uno de 4MHz y quitar la linea de
Código: [Seleccionar]
DEFINE OSC 12

y oh sorpresa a la primera funciono, y mi duda es O esa linea no funciona o la confuguracion con HS del winpic800 no sirve. ¿que sera?Pero bueno ya funciona  :-/  y a mi amigo le regreso el color a la piel ya podra hacer su examen. :D
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Re: Problemas extraños con PIC16F877 y sensado
« Respuesta #13 en: 15 de Octubre de 2006, 19:16:38 »
Que bueno.


Lo de la alienación de los planetas era broma (¿o lo era?)...... pero lo de la frecuencia no.

Tengo un µicro 18F448 que no trabaja a frecuencias mayores de 4 Mhz.  :shock:

Ya puedes poner tu oficina de asesoría, ser consultor como se dice en inglés; se puede sacar una buena feria de "compañeros necesitados" al final de semestre  :D
La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Problemas extraños con PIC16F877 y sensado
« Respuesta #14 en: 15 de Octubre de 2006, 20:23:32 »
Por Supuesto que era Broma lo de los planetas. :D

Sera que los samples de microchip no sorpoten mas alla de 4mhz????
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."


 

anything