comunicacao serial com oscilador RC interno do AVR

Software e Hardware para ATMEL

Moderadores: 51, guest2003, brasilma

comunicacao serial com oscilador RC interno do AVR

Mensagempor RobL » 04 Mar 2007 17:24

Alguém já realizou experiência com comunicação serial usando o oscilador RC interno de um AVR?
Contexto:
1-A pergunta só é válida para novos AVRs que tem uma melhor exatidão nestes osciladores, ex ATmega 48,88, etc
2- Para uso profissional, confiável (não hobista).

A freqência varia tanto com a temperatura como com a tensão. Como a tensão é possível ser mantida constante, resta a temperatura.
A temperatura dentro do gabinete e dentro de um quadro elétrico, tem a tendência de ficar acima da ambiente, e mais constante (como se fosse um aquecimento forçado). Penso que o problema maior seria em dias muito frios. Será que a variação chega a superar 2%?
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor guest2003 » 04 Mar 2007 17:33

No AVR eu não sei... mas nos PICs você pode calibrar via software o oscilador interno...

Caso seja possivel fazer isso tambem nos AVR você pode usar uma referencia de frequencia conhecida (a rede 60Hz pode exemplo) e calibrar o oscilador interno de tempos em tempos...

Pensando bem, mesmo que não tenha calibração, você pode usar a rede como referencia e fazer a rotina da serial ser "calibravel"

[]'s
http://www.sethi.com.br (Institucional)
http://www.sethi3d.com.br (Impressoras 3d)
http://www.sethi.com.br/blog (Blog Impressoras 3d)
Avatar do usuário
guest2003
Word
 
Mensagens: 746
Registrado em: 13 Out 2006 11:48
Localização: Campinas - SP

Re: comunicacao serial com oscilador RC interno do AVR

Mensagempor silverbolt » 04 Mar 2007 22:47

RobL escreveu:Alguém já realizou experiência com comunicação serial usando o oscilador RC interno de um AVR?
Contexto:
1-A pergunta só é válida para novos AVRs que tem uma melhor exatidão nestes osciladores, ex ATmega 48,88, etc
2- Para uso profissional, confiável (não hobista).

A freqência varia tanto com a temperatura como com a tensão. Como a tensão é possível ser mantida constante, resta a temperatura.
A temperatura dentro do gabinete e dentro de um quadro elétrico, tem a tendência de ficar acima da ambiente, e mais constante (como se fosse um aquecimento forçado). Penso que o problema maior seria em dias muito frios. Será que a variação chega a superar 2%?


já usei e uso ainda
Mega 8 de 16 Mhz eu uso clock interno de 8 Mhz
uso serial com PC e com LCD serial a 9600 bps na boa.
Fui dificil no começo, mas hoje funciona belezinha
Agora esse lance de temp. eu nunca cheguei a fazer um teste assim mais rigor não.
Symphony Robotica
gravador usb, icd2 PIC, AVR e ARM.
Distribuidor BASCOM no Brasil.
www.roboticafacil.com.br
Locação de robos para eventos
www.symphony.com.br
Avatar do usuário
silverbolt
Byte
 
Mensagens: 468
Registrado em: 03 Nov 2006 10:17
Localização: Vulcano - SP

Mensagempor RobL » 06 Mar 2007 12:06

Na verdade, gostaria de obter a informação, se alguém tem um sistema desses trabalhando diariamente, por mais de 1 ano, esta seria a informação ideal.
Já que não obtive até o momento, posto aqui minhas observações:

1-Pelas curvas do ATmega48, por exemplo, por ser um chip mais novo, de 25 a 85°C o desvio é
de 3%. Melhor que os novos PICs. Os avrs também tem ajuste do oscilador interno. Comparando com os novos PICs, a variação do PIC de -40 a 85°C chegam a +-10% contra +-6 a 7% do AVR na mesma faixa.

2-O erro máximo permitido, seria:
Seja T a duração de um pulso. Como a leitura é feita no centro desse pulso, temos um tempo máximo para captura de T/2. Como pretendo usar 10 pulsos (2 start+8bits), o erro máximo permitido por pulso será de ((T/2)/10) -> T/20. O erro percentual máximo seria (T)/(T/20)*100 que daria 5% (erro independente da frequência, bom).

3-O erro de 5% é teórico, pois,não estamos considerando vários outros fatores que geram erros difíceis de estimar. Por exemplo, a deformação do pulso, na melhor das hipóteses exponencial, não vai influir no sincronismo inicial mas o valor do limiar da tensão (threshold ) varia muito com a temperatura e associado com a curva exponencial do pulso vai complicar.
Só daí devemos tirar no chute uns 1,5 a 2%. Vamos considerar que nem todo soft e hardware tem tempos exatos. Portanto a leitura pode não se dar no centro da janela. Não sei quanto de erro colocaria aqui. Mas considerando que os PCs tem cristal, vamos chutar 0,5% para tudo isso e mais um deslocamento com a temperatura. No final sobram de segurança admitir um erro máximo com a temperatura de 2,5%.

4-Com o erro máximo de 2,5% parece ser possível com o AVR trabalharmos numa faixa restrita de 5 a 55°C. Esta faixa parace razoável para aplicações no Brasil, e garantida em salas climatizadas. Deve funcionar.

5-Apesar do erro máximo, visto acima independer do "tamanho" de T (da frequência), na real, deve depender devido a maior deformação interagindo com o limiar de leitura. Com isso deve limitar a velocidade dos dados com o erro.

Ainda assim, só sabendo como funcionou no campo é que dá para confiar.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56


Voltar para AVR

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x