collapse

* Posts Recentes

Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]


Focos LED SMD por almamater
[16 de Dezembro de 2023, 14:12]


I Belive por dropes
[15 de Dezembro de 2023, 13:59]


Carga de corrente eletrónica ZPB30A1 60W por jm_araujo
[11 de Dezembro de 2023, 13:27]

Autor Tópico: Arduino + EEPROM i2c  (Lida 84783 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline antonio_jose

  • Mini Robot
  • *
  • Mensagens: 336
Re:Arduino + EEPROM i2c
« Responder #30 em: 07 de Junho de 2009, 03:24 »
Muito interessante

Está muito bem explicado

 ;D

Offline Reonarudo

  • Mini Robot
  • *
  • Mensagens: 114
  • Nano Soldering Master
Re:Arduino + EEPROM i2c
« Responder #31 em: 07 de Junho de 2009, 10:46 »
Atenção que a memória interna EEPROM do arduino tem um nº de escritas e leituras limitado eu se for programar um rede neuronal num arduino esgotava as escritas e leituras todas
Leonardo Marques

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.372
    • Tiago Rodrigues
Re:Arduino + EEPROM i2c
« Responder #32 em: 07 de Junho de 2009, 11:55 »
Todas as memórias tem um tempo de vida, se utilizares muito intensivamente uma pen por exemplo, também se danificam sectores. No fundo são as propriedades químicas dos componentes que se vão perdendo por estarem constantemente a comutar de estado.

Offline Reonarudo

  • Mini Robot
  • *
  • Mensagens: 114
  • Nano Soldering Master
Re:Arduino + EEPROM i2c
« Responder #33 em: 07 de Junho de 2009, 12:21 »
Pois é, o que quis dizer é que a memória do arduino tem um tempo de vida muito reduzido
Leonardo Marques

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re:Arduino + EEPROM i2c
« Responder #34 em: 07 de Junho de 2009, 13:04 »
Apenas as memórias persistentes do mega168 têm uma vida limitada. Desde que utilizado sempre dentro das especificações, o fabricante (ATMEL) garante que:

1) A memória de programa (FLASH) pode ser escrita/apagada pelo menos 10000 vezes

2) A memória de dados (EEPROM) pode ser escrita/apagada pelo menos 100000 vezes

Estes valores são aquilo a que se chama "endurance". Pode parecer muito mas se escrevessem dados na EEPROM 1 vez por segundo ela só durava 1 dia e umas horas. Portanto estas memórias são para ser usadas só esporádicamente, como por exemplo para guardar configurações do utilizador de umas utilizações para as outras.

A ATMEL também dá outra especificação que é a "data retention", e que indica durante quanto tempo a memória "segura" os dados guardados . No caso dos AVRs modernos esses valores são

1) Pelo menos 20 anos se a temperatura ambiente for mantida a 85ºC
2) Pelo menos 100 anos se a temperatura ambiente for mantida a 25ºC

A temperatura reduz o tempo de retenção; quanto mais quente, menos tempo aguenta (os dados derretem, lol). Entre os 2 valores acima há uma "curva". Não sei se é linear, mas se fosse, isto queria dizer por exemplo que a (25+85)/2= 55ºC a retenção seria de pelo menos (100+20)/2= 60 anos.

Estes valores são dados para todas as memórias "EEPROM". A EEPROM i2c de que fala a mensagem original também terá estes valores na sua datasheet.

Offline tr3s

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 811
  • char x=1, y=5; x^=y^=x^=y;
Re:Arduino + EEPROM i2c
« Responder #35 em: 08 de Junho de 2009, 11:16 »
...

Estes valores são dados para todas as memórias "EEPROM". A EEPROM i2c de que fala a mensagem original também terá estes valores na sua datasheet.

Exactamente Njay!  :D (Como sempre, tudo super bem explicado!)
No post inicial , há uma altura em que comparo as EEPROM da Microchip com as da Atmel e chego a referir a característica dos ciclos de escrita/leitura serem finitos e da capacidade de retenção de dados com o tempo! :)
Tr3s
Daniel Gonçalves

Offline Reonarudo

  • Mini Robot
  • *
  • Mensagens: 114
  • Nano Soldering Master
Re:Arduino + EEPROM i2c
« Responder #36 em: 08 de Junho de 2009, 13:29 »
Em vez de usar eeproms não compensaria usar sdcards? ??? ::)
Leonardo Marques

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re:Arduino + EEPROM i2c
« Responder #37 em: 08 de Junho de 2009, 13:52 »
Em vez de usar eeproms não compensaria usar sdcards? ??? ::)

Os sdcards nunca testei mas duvido que seja mais simples que estas memorias, estas memorias são a coisa mais simples que há :)

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.372
    • Tiago Rodrigues
Re:Arduino + EEPROM i2c
« Responder #38 em: 08 de Junho de 2009, 13:55 »
Eu ando agora a preparar um tutorial para SD card com Arduino, mas estou a ter uns problemas com o controlo de FAT.

Depois quando estiver tudo a funcionar posto ;)

Offline tr3s

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 811
  • char x=1, y=5; x^=y^=x^=y;
Re:Arduino + EEPROM i2c
« Responder #39 em: 08 de Junho de 2009, 13:58 »
O código que é preciso para poderes escrever e ler em SD cards é muito grande pelo que já li... Enche a memoria quase toda! Tigpt, tu que tas a fazer experiências, quanto te ocupa?
Tr3s
Daniel Gonçalves

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.372
    • Tiago Rodrigues
Re:Arduino + EEPROM i2c
« Responder #40 em: 08 de Junho de 2009, 14:07 »
Anda por volta dos 7Kb

Offline Reonarudo

  • Mini Robot
  • *
  • Mensagens: 114
  • Nano Soldering Master
Re:Arduino + EEPROM i2c
« Responder #41 em: 08 de Junho de 2009, 14:42 »
Então nem é assim tanto e se for feita uma boa API é tão simples de usar como outra memoria qualquer tem a desvantagem de ocupar mais memória mas tem a vantagem de ser facilmente substituível.
Leonardo Marques

Offline tr3s

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 811
  • char x=1, y=5; x^=y^=x^=y;
Re:Arduino + EEPROM i2c
« Responder #42 em: 08 de Junho de 2009, 14:52 »
Então nem é assim tanto e se for feita uma boa API é tão simples de usar como outra memoria qualquer tem a desvantagem de ocupar mais memória mas tem a vantagem de ser facilmente substituível.

Eu acho que é difícil justificares o uso de SD em situações em que podes utilizar uma EEPROM. Repara que num ATmega128 com o bootloader do Arduino estás a ocupar METADE da memória de código disponível apenas para ler e escrever num SD... Já para não falar que se usa um sistema de ficheiros antigo e ultrapassado/obsoleto chamado FAT... Mais, pelo que tenho lido não funciona muito bem nem imlpementa todas as funcionalidades do sistema de ficheiros (criação de ficheiros, directorias etc).
O que entendes por "ser facilmente substituivel"? ???
Tr3s
Daniel Gonçalves

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.372
    • Tiago Rodrigues
Re:Arduino + EEPROM i2c
« Responder #43 em: 08 de Junho de 2009, 14:59 »
É bom para se quisermos fazer logs bastante grandes de dados, como por exemplo, gravar temperatura e pressão atmosférica a cada meio segundo.

Contudo não é fácil utilizar, e do que consigo nem dá para criar pastas ou ficheiros, o ficheiro tem que já existir para podermos adicionar-lhe dados.

Quando conseguir meter a funcionar posto.

Offline tr3s

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 811
  • char x=1, y=5; x^=y^=x^=y;
Re:Arduino + EEPROM i2c
« Responder #44 em: 08 de Junho de 2009, 15:24 »
Claro, mas o que eu disse foi "acho que é difícil justificares o uso de SD em situações em que podes utilizar uma EEPROM", repara "situações em que podes utilizar uma EEPROM"! :P
Tr3s
Daniel Gonçalves