Autor Tema: Como reiniciar el LCD sin perder la info en el intento  (Leído 5735 veces)

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

Desconectado BINARIO

  • PIC16
  • ***
  • Mensajes: 156
Como reiniciar el LCD sin perder la info en el intento
« en: 22 de Febrero de 2007, 11:24:30 »
Hola colegas electronicos y gente del medio, hoy como no podia ser de otr amanera aparezco con un nuevo problema para el LCD de hitachi tan conocido por todos. Bueno la historia es que este bicho de tanto en tanto por interferencias electromagneticas que no puedo controlar (ya intente los blindajes mas locos), se me bloquea y queria saber si alguno tuvo alguna experiencia similar, lo malo de esto es que si bien puedo cada cierto t, refrescar la pantalla llamando a la arutina de inicializacion, la aleatoridad del ruido implica que este refresco sea casi permanente lo que me va a provocar que este borrando los datos y volviendolos a tomar a cada rato, espero que alguien me eche una mano si esta a su alcance desde ya gracias y un abrazo. :-/ :-/ :-/ :D



SI VUELVEN EN EL TIEMPO NO TOQUEN NADA...
000101111 101110000011110 00010 11101 110 1 000111 00010010011010111100 101101001 11110000 001 00 10110 111 00001 01110 0010101 01011110 00 00011111111 0011111 011110001111111111 1011111111101100000000

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Como reiniciar el LCD sin perder la info en el intento
« Respuesta #1 en: 22 de Febrero de 2007, 13:54:47 »
aver como dijo jack el destripador, vamos por partes :

el LCD se te cuelga? bloquea? m...... me sucedio tb pero en 2 ocasiones especiales:
- cuando el codigo q gestiona el LCD (en ASM) esta erroneo o yo cometia un error durante la escritura (codigo mal hecho)
- esta dentro de una fabrica con motores y toda el chongo q implica, y generaban unos ruidos..... q pa q te cuento!

podrias explicar donde lo tienes ubicado o implementado? esta en tarjeta o en protoborad, luego de ese diagnostico pasariamos a revisar tu codigo pal LCd. exitos amigo!!!  :-)
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Como reiniciar el LCD sin perder la info en el intento
« Respuesta #2 en: 22 de Febrero de 2007, 14:28:05 »
Reserva en memoria RAM del PIC, una determinada cantidad de posiciones para los datos del LCD.
Supongamos un LCD de 16x2.

Tenes en total, 32 posiciones, por lo que deberias reservar 32 registros RAM del PIC para los datos del LCD(podrian ser menos si no usas todas las posiciones del LCD).

Entonces, cuando tenes que enviar caracteres al LCD, en lugar de enviarselos directamente, los colocas en las posiciones RAM y luego haces una rutina que se encargue de enviar las posiciones RAM al LCD.

De esa manera, los datos estarian guardados en RAM del PIC, y no los perderias al reinicializarlo.

Hay muchas maneras. Tambien podrias guardarlos en la EEPROM del PIC, pero seria demasiado lento aunque tendria la ventaja que podrias incluso resetear el PIC sin perder los ultimos datos mostrados en el LCD.

Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado reiniertl

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1187
Re: Como reiniciar el LCD sin perder la info en el intento
« Respuesta #3 en: 22 de Febrero de 2007, 14:39:35 »
Muy bien por BrunoF que se me adelantó, sin embargo un señalamiento importante. Si la LCD se "cuelga", y no hay ningún error en el código es probable que sea por interferencias electromagnéticas, y esas amigo mío también pueden ir y colarse en tu PIC, y entonces de nada sirve que implementes un método como el recomendado por BrunoF.

Para casos como esos lo mejor es un buen apantallamiento de TODO el sistema, puede que tengas que meter todo tu aparato dentro de una caja metálica, bien aterrada, a una buena tierra.... y cuantas cosas hagan falta. Porque las EMI no entienden de LCD o PIC, ellas están presentes o no y cuando esas señoras se presentan arrasan con cuanta señal y circuito mal protegido se encuentran por el camino. Entonces no vale la pena gastarse los valiosos bytes de RAM para tener una imagen de lo que está en pantalla, si todo el sistema puede ser afectado por las interferencias.

La recomendación es que analices bien tu diseño del hardware para ver si realmente es seguro ante los ruidos y las interferencias electromagnéticas, antes de utilizar un método como el recomendado (que considero el más apropiado), la razón para esto está clara: si tu sistema es vulnerable al ruido y demás el método no sirve de nada. Si por el contrario tu sistema está bien protegido, excepto la LCD porque no está fijada al PCB y no la puedes proteger por cuestiones prácticas (visibilidad, etc), entonces el método más simple es el del post anterior.

Reinier

Desconectado BINARIO

  • PIC16
  • ***
  • Mensajes: 156
Re: Como reiniciar el LCD sin perder la info en el intento
« Respuesta #4 en: 28 de Febrero de 2007, 12:45:25 »
Bueno Reinierti, veo que de todos, sin desmerecer las valiosas opiniones que te preceden, eres el que ma me ha entendido cual es el conflicto, el dispositivo en cuestion es un producto que mi empresa largo al mercado presurosamente y no necesito aclarar mas, me entiendes no?, lo cierto es que esta en un tablero industrial con dos brutos contactores que generan bueos PEM, el LCD se encuentra en un gabinete pequeño montado en el frente del tablero y se conecta al PIC por medio de un cable mallado DB25, el PIC se encuentra en un gabinete cercano a las borneras en donde estan los contactores que suelen ser de 50 amperes para arriba, estoy rediseñando todo para hacerlo en smd con planos de masa y todo en una sola placa, espero de ese modo librarme de las IEM, pero debo dar una solucion a los tableros que ya existen en el mercado y tienen este formato, dado que estos errores no hacen quedar muy bien a mi empres y es mi cabezilla la que esta en juego, pensaba blindar ambos gabinetes aunque aun no lo eh intentado, lo unico que implemente es un refresco de pantalla que hasta ahora viene funcionando bien, pero es casi un parche y no puedo estar refrescando la pantalla cada segundo, porque esto no se veria bien a los ojsos de un inexperto cliente que no le dara la sensacion de que esta todo bien y esteticamente no es algo correcto, bueno formalmente te presente mi problema un tanto mas detallado y postulando alguna que otra solucion, lo malo sria que implemente el nuevo modelo blindado y no obtenga resultados esperados, si se te ocurre algo a ti o alguno de lo sompañeros ahora que me he explayado un tanto mas en la cuestion con gusto recibire su ayuda hasta la proxima seguire trabajando.

SI VUELVEN EN EL TIEMPO NO TOQUEN NADA, EL MINIMO CAMBIO PODRIA DESTRUIR EL UNIVERSO TAL COMO LO CONOCEMOS.
000101111 101110000011110 00010 11101 110 1 000111 00010010011010111100 101101001 11110000 001 00 10110 111 00001 01110 0010101 01011110 00 00011111111 0011111 011110001111111111 1011111111101100000000

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Como reiniciar el LCD sin perder la info en el intento
« Respuesta #5 en: 28 de Febrero de 2007, 13:41:00 »
asumo q la causa es el ruido del ambiente donde esta alojado, tienes q proteger el equipo con condensadores tantalios por las entradas y entre los pines de VCC y GND, cheka este `post donde cuelgan un mini tutorial al respecto

http://www.todopic.com.ar/foros/index.php?topic=12944.0

espero te ayude. :-/
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com