• Domingo 22 de Diciembre de 2024, 08:11

Autor Tema:  Velocidad Grabado En Eeprom 16f876  (Leído 2449 veces)

Pegasux

  • Miembro MUY activo
  • ***
  • Mensajes: 130
    • Ver Perfil
Velocidad Grabado En Eeprom 16f876
« en: Domingo 11 de Febrero de 2007, 23:08 »
0
Muy buenas. Estoy intentando hacer un control de unos motores PAP con el 16F876 usando el CAD, unos pulsadores y unos interruptores para seleccionar acciones, display lcd...
Tengo que usar unas variables que son la posicion de cada motor en cada momento y necesito guardarlas en memoria no volatil, osea, EEPROM de datos o la FLASH de programa. ¿Para que en memoria no volatil? Por si se va la alimentación mientras el dispositivo esta en marcha, necesito saber la posición en la que estaban los motores, puesto que sino reiniciará con valores aleatorios o borrados que tomara como una posición en la que el motor no esta, llegando al mal funcionamiento del aparato.
He leído que el tiempo de escritura en EEPROM es de unos 10ms, y dado que el sistema es a tiempo real, quiero que funcione muy rápido y tiene muchas subrutinas que hacer, por lo que esos 10ms no se si será demasido tiempo en el que está parado el micro, o no ha llegado a grabar un dato cuando se lo mando leer o grabar otro encima...
No estoy seguro de lo que va a hacer el micro, si lo puedo usar mientras está grabando o tengo que esperar los 10 ms y no me fio de los simuladores.
La cuestion es ¿funcionara bien? ¿hay otra forma de guardar en memoria no volatil mas rapidamente sin usar otro chip? ¿Hay alguna forma de guardarlo rapidamente en caso de fallo de alimentación?

Un saludo.

Pegasux

  • Miembro MUY activo
  • ***
  • Mensajes: 130
    • Ver Perfil
Re: Velocidad Grabado En Eeprom 16f876
« Respuesta #1 en: Domingo 11 de Febrero de 2007, 23:22 »
0
Otra cosilla. Tambien he leido que su uso es de aproximadamente 10.000 grabaciones. Teniendo en cuenta que la voy a usar continuamente ¿no me fallara al poco tiempo?

Huguen_aus_Tirol

  • Miembro MUY activo
  • ***
  • Mensajes: 318
    • Ver Perfil
    • http://www.erhard-automation.co.cc
Re: Velocidad Grabado En Eeprom 16f876
« Respuesta #2 en: Lunes 12 de Febrero de 2007, 19:01 »
0
Hola!
Fijate aquí, tal vez te sirva...

Respaldo por bateria

Según entendí, quieres guardar datos en EEPROM en caso de corte de energía. Si es asi, en ese momento ya no tendrás que ocuparte de los motores o cualquier otra carga, Entonces guardas (en ese momento) lo que quieras y luego pasas a bajo consumo...
Es una idea, no se cual es el caso en detalle!

Saludos

Pegasux

  • Miembro MUY activo
  • ***
  • Mensajes: 130
    • Ver Perfil
Re: Velocidad Grabado En Eeprom 16f876
« Respuesta #3 en: Lunes 12 de Febrero de 2007, 22:43 »
0
Hola, gracias por la respuesta. Pues la verdad es que el invento esta bastante bien, aunque tengo pensado alimentarlo aprovechando la bateria de 12v, era por si la el conector fallaba algun dia. Se me habia ocurrido algo parecido haciendo un divisor de tensión de los 12 a 5 voltios conectado a RB0 (por ejemplo), y poner en la alimentacion del pic un condensador grande capaz de mantenerlo encendido el tiempo suficiente para grabar en eeprom. Se programa la interrupcion por cambio del nivel de RB0, así, cuando baje la alimentación por cualquier causa producirá la interrupción la rutina de atencion graba en la eeprom. Como el condensador estará puesto detrás del 7805 es posible que se pueda almacenar la carga por unos cuantos ms y se pueda grabar la eeprom.
También habia pensado colocar unos pulsadores en los mecanismos que mueve el motor, de tal forma que cuando se reinicie por fallo de alimentacion o por lo que sea, mira la posicion del pulsador, y se mueve el motor hasta la posicion de inicio que es cuando el pulsador esta pulsado.
¿que opinan ustedes?
Un saludo y gracias!!

Pegasux

  • Miembro MUY activo
  • ***
  • Mensajes: 130
    • Ver Perfil
Re: Velocidad Grabado En Eeprom 16f876
« Respuesta #4 en: Domingo 18 de Febrero de 2007, 00:01 »
0
Acabo de leer en un libro que la FLASH tarda 2ms en escribir, asi que en algo hemos mejorado. XDD