collapse

* Posts Recentes

Problema em Impressora por almamater
[Hoje às 12:18]


Perfi aluminio por senso
[23 de Janeiro de 2020, 14:01]


OPAMPs - configuracoes inversora, nao inversora por jm_araujo
[23 de Janeiro de 2020, 13:42]


Aplicação de IC TP4056 - dissipador por SerraCabo
[22 de Janeiro de 2020, 10:26]


Ajuda atualizar hora NTP Verão/Inverno por vasco
[19 de Janeiro de 2020, 01:31]


Audio - Controlo Volume por SerraCabo
[17 de Janeiro de 2020, 21:20]


Mau condutor por vasco
[14 de Janeiro de 2020, 16:44]


Pequena impressora por jm_araujo
[13 de Janeiro de 2020, 10:34]


Martelo??? por Njay
[13 de Janeiro de 2020, 02:30]


Circuito de proteção para ferro de soldar. por vasco
[11 de Janeiro de 2020, 20:49]

Autor Tópico: Arduino + EEPROM i2c  (Lida 67863 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.348
    • 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.437
    • 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.348
    • 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.348
    • 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.348
    • 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