Conexão AREF externa ATMega328

10

Na folha de dados do ATMega328 , seção 24.9.1:

As opções de referência de tensão interna não podem ser usadas se uma tensão de referência externa estiver sendo aplicada ao pino AREF.

Nas páginas de referência do Arduino :

Como alternativa, você pode conectar a tensão de referência externa ao pino AREF através de um resistor de 5K, permitindo alternar entre as tensões de referência externas e internas. Observe que o resistor alterará a tensão usada como referência, porque existe um resistor interno de 32K no pino AREF. Os dois atuam como um divisor de tensão; portanto, por exemplo, 2,5V aplicados através do resistor produzirão 2,5 * 32 / (32 + 5) = ~ 2,2V no pino AREF.

A folha de dados do ATMega328 confirma a referência "resistor interno de 32k" na tabela 29.16 Características do ADC com: Resistência de entrada de referência = 32 kOhm.

Dito isto, as duas afirmações acima parecem opostas. Eu tenho uma aplicação com alguns sensores com saída em escala 0-5V e outros com saída em escala 0-1.8V. O aplicativo se beneficiaria do aumento da resolução da mudança para AREV de 1,8V ao amostrar os sensores de 1,8V e mudar para a referência AVCC interna para os sensores de 5V.

As páginas de referência do Arduino sugerem que é uma coisa boa a se fazer, desde que você tenha acoplado ao AREF de 1,8V por meio de um resistor da série 5kOhm e responsável pelo divisor de tensão implícito com a resistência interna de 32kOhm. Este é apenas um mau conselho da referência do Arduino ou é de fato uma prática comum fazer esse tipo de coisa? A declaração de Atmel é restrita às tensões externas aplicadas ao AREF sem um resistor limitador de corrente externo (e se sim, por que, considerando a resistência interna de 32k)?

Como aparte, obviamente, pode-se obter um resultado semelhante com um amplificador operacional adequadamente construído para dimensionar os sinais de 1,8V até 5V, mas a complexidade e as partes adicionais parecem um desperdício se puder ser manuseado pelo ADC a bordo também tirando proveito da referência de tensão passível de mudança. Da mesma forma, se você conseguir se convencer de que o sinal detectado não excederá 1,1V, poderá aproveitar a referência de tensão interna. Novamente, parece-me mais elegante usar o regulador de 1,8V com o qual estou alimentando meus sensores de baixa tensão para definir a referência.

vicatcu
fonte
Além disso, você pode reformular "A declaração de Atmel é restrita a tensões externas desimpedidas aplicadas ao AREF?" Eu não entendo "restrito a desimpedido". Obrigado.
Telaclavo 23/04
@Telaclavo Eu fiz a declaração mais clara (espero)
vicatcu
Acho que acabei de ver de onde vem sua confusão, mas você pode postar um link para o esquema do Arduino específico que você está usando?
Telaclavo 23/04
@ Telaclavo sem Arduino específico em mente, o Uno seria suficiente como exemplo. Na placa base, o AREF não está conectado a nenhuma fonte de tensão, mas simplesmente desacoplado ao GND através de um capacitor de 100nF. Se eu tivesse um regulador de 1,8V, em uma blindagem, por exemplo, eu poderia, em princípio, conectá-lo ao AREF através dos conectores de blindagem por meio de um resistor de 5kOhm para referenciar o ATMega328 ADC para 1,8V e depois mudar para a referência interna do AVCC (que está conectado a 5V no Uno) no software para referenciar o ATMega328 ADC a 5V.
vicatcu
Ok, primeiro pensei que o resistor de 5 kohm está incluído no Arduinos, mas não está. Acabei de atualizar minha resposta. E eu acho que sua confusão surgiu por não reconhecer que o resistor de 32 kohm vai da AREF ao terra . Caso contrário, eu não entenderia o seu "e se sim, por que, considerando a resistência interna de 32k?"
Telaclavo 23/04

Respostas:

8

Não vejo nenhum problema em aplicar uma tensão externa, através de um resistor de 5 kohm, à entrada de referência do Arduino. Ou melhor, com o uso de um divisor de resistor, para que você gire 5 V na tensão AREF desejada e, ao mesmo tempo, exiba uma resistência de fonte de aproximadamente 5 kohm. Este segundo requisito não precisa ser preciso. Isso é apenas para limitar a corrente que fluirá do AVCC para o terra, através do circuito externo.

esquemático

Se você quiser terminar com 1,8 V na entrada AREF do MCU, basta escolher R1 e R2 para que VUMAREF=5·R2||32000R1 1+(R2||32000)=Rsovocêrce=R1 1||R2

Em resumo: seria um mau conselho se algo pudesse ser danificado, mas 1 mA não danificará nada.

Telaclavo
fonte
+1 por chamar a figura 24-1 ... o que me sugere (também) que um resistor limitador de corrente no AREF é uma aposta segura.
vicatcu
11
Eu acho que prefiro aceitar uma pequena queda de tensão no AREF e usar um único resistor externo de 5kOhm para obter 1,8V de um regulador ... mas acho que sua resposta é digna de aceitação
vicatcu
1

Ótima explicação sobre a configuração interna do PIN do Aref e também sobre o papel que esse pino desempenha quando o ADC do Arduino é usado.

Aqui estão meus dois centavos. Acabei de modificar um pouco o esquema para esclarecer que o resistor de 32 kOhms é interno. Além disso, incluí configurações alternativas para tornar mais seguro o uso de uma Vref externa. As equações para R1 e R2 são obtidas após a limitação da corrente através de 1mA. O pior cenário (switch interno fechado acidentalmente) foi considerado para obter as fórmulas para R1 e R2.

Felicidades
insira a descrição da imagem aqui

José Vicente Muñoz Díez
fonte