John Errington’s Experiments with an Arduino
On Novembro 28, 2021 by adminMedição precisa da tensão com a placa Arduino.
A gama de microcontroladores Arduino fornece entradas analógicas que podem ser usadas para medir a tensão. Podemos usar isto para construir um voltímetro.
A função analogRead() lê a tensão e a converte para um número entre 0 e 1023.
Aula Arduino (1) http://arduino.cc/en/Tutorial/ReadAnalogVoltage tem este exemplo:
Isto é ERRADO! Para um melhor uso do resultado (sensorValor + 0.5) * 5.0 / 1024.0 – veja explicação aqui
Isto nos leva a acreditar que uma leitura de 0 corresponde a uma entrada de 0.000V; e 1023 corresponde a uma tensão de entrada de 5.000 volts. Isto não é inteiramente verdade. Vamos olhar para a folha de dados e ver o que nos diz.
O chip ATMEGA utilizado no Arduino tem entradas analógicas que podem ser utilizadas para medir com precisão a tensão
O microcontrolador Arduino é fornecido com um tipo de aproximação sucessiva Conversor analógico para digital (ADC) que tem a seguinte especificação. As referências mostradas entre parênteses assim (2: 26.1) referem-se a secções da folha de dados AtMega 2560.
(2: 26.1): ATMega328 e 32U4 têm valores similares.
Estas especificações nos dizem que o Arduino é capaz de medir tensões com uma precisão
de ± 2 LSB – assim o erro máximo é de 2 bits (4 decimais) em 10 bits (1024 decimais)
Assim o pior caso de precisão do conversor é 4 / 1024 ou 1 parte em 256 i.e. 0,25%.
No entanto o limite da precisão da medição depende da referência de tensão utilizada.
O Arduino tem as suas próprias referências de tensão – mas não são muito precisas
O chip – dependendo do tipo – é fornecido com ALGUMAS das seguintes tensões de referência (6)
DEFAULT: a referência analógica padrão de 5 volts (em placas Arduino de 5V) ou 3.3 volts (nas placas Arduino 3.3V)
INTERNAL: uma referência incorporada, igual a 1.1 volts nas placas ATmega168 ou ATmega328 e 2.56 volts nas placas chip ATmega8 e 32U4.
esta é produzida internamente através da amplificação da referência 1.1V. 2,56V é apenas um valor “típico”.
EXTERNAL: a tensão aplicada ao pino AREF (0 a 5V apenas). (A MicroPro 32U4, NodeMCU e ESP32 não têm um pino para uma referência externa – veja abaixo para mais informações.)
A precisão da referência contra a qual a tensão é medida – usando qualquer uma das referências acima – é na melhor das hipóteses apenas 5,25 – 5,0/5,0 * 100 = 5% – muito pior que os 0,25% que o ADC fornece. Claramente, se quisermos medir as tensões com a precisão fornecida pelo Arduino, as referências em chip não são suficientemente boas. O diagrama abaixo mostra estes erros em relação a uma referência de 4.096V descrita abaixo.
Deixe uma resposta