Fig. 1: Protótipo de monitor de temperatura baseado em sensor Beaglebone Black e LM35
Este tutorial explica como fazer a interface do sensor de temperatura LM35 com Beaglebone preto para trabalhar com interface de sensor. O LM35 é um sensor analógico que mede a temperatura e a saída linear dada em forma de tensão. O ADC é necessário para converter a saída analógica do sensor de temperatura em saída digital. Como o BBB possui um ADC no chip, você pode conectar diretamenteenfrente esses dois. O programa é escrito em script python com biblioteca GPIO adafruit.
Ferramentas necessárias:
- Beaglebone Preto
- Placa de ensaio LM35
- Conectores fêmea para fêmea
Configuração do ambiente de software:
Instale a versão mais recente do python no BBB conforme explicado no tutorial Como fazer o primeiro programa python com Beaglebone Black. Instale a biblioteca adafruit python-GPIO chamada adafruit_BBIO.
Trabalhando:
É um tutorial de aprendizagem simples que utiliza ADC com Beaglebone preto. Eu conectei o sensor de temperatura LM35 com ADC de 12 bits do BBB. A saída do LM 35 é de formato analógico que é entrada do ADC. A saída do ADC é um valor digital e é convertido em Celsius e Fahrenheit por fórmula. A tensão de referência do ADC é 1,8 V. Portanto, você pode fornecer no máximo 1,8 V no pino ADC.
O tamanho do passo do LM 35 é de 10 mV, o que significa que quando a temperatura muda em 1 grau, a tensão de saída do sensor aumenta em 10 mV.
Encontre o Stepsize do ADC seguindo a fórmula:
Tamanho do passo = Vref / 212………………………………………………….. (1)
Onde Vref é a tensão de referência do ADC (1,8 V = 1800 mV)
Tamanho do passo = 0,44 mv
A saída digital é:
Dout = Vin / Stepsize ………………………………………………… .. (2)
Onde, Vin é a tensão de entrada do ADC (saída do sensor LM 35)
Pela fórmula de combinação (1) e (2),
Dout = (Vin * 4096) / 1800………………………………………………. (3)
Aqui, a saída digital é 22,75 vezes maior do que a saída real porque o Stepsize do LM 35 é 10 mV e o Stepsize do ADC é 0,44 mV, por isso precisamos dividi-lo por 22,75 para obter a temperatura correta em Celsius.
Valor do fator = 10 mV / 0,44 mV = 22,75 mV
Temperatura em Celsius:
Celsius = (Dout)/22,75
Temperatura em Fahrenheit:
Fahrenheit = (Celsius * 9/5) + 32
Quando o script está sendo executado, ele entra em loop contínuo e exibe a temperatura em Celsius e Fahrenheit no terminal. Pressione ctrl+C para interromper a execução do programa no terminal de comando SSH.
Fig. 2: Captura de tela do console Linux mostrando leitura de temperatura
Descrição:
Vamos primeiro preparar a conexão do circuito. Pegue uma placa de ensaio e forneça VCC e aterramento do BBB até a linha da placa de ensaio. Conecte a alimentação de 3,3 V do pino número 3 do cabeçalho P9 e aterre do pino número 2 do cabeçalho P8.
O LM35 possui três terminais:
- Vcc
- Saída
- Chão
Fig. 3: Diagrama de pinos do sensor de temperatura LM35
Terminal vcc está conectado com alimentação de 3,3 V, Chão está conectado ao aterramento ADC do BBB (pino número 34 do cabeçalho P9). Terminal de saída do LM 35 está conectado à entrada de AIN1 (pino número 40 do cabeçalho P9).
Fig. 4: Imagem do Beaglebone Black usado como monitor de temperatura
Abra o terminal de comando e acesse o Beaglebone black através do SSH conforme explicado em começando com Beaglebone preto. Crie um novo arquivo usando o comando touch com extensão .py (ou seja, LM_35.py). Abra o arquivo com qualquer editor de texto (ou seja, nano, vim etc.) e escreva um código em linguagem python.
Código-fonte do projeto
###
importar Adafruit_BBIO.ADC como ADC
###
Diagramas de circuito
Diagrama de circuito-Beaglebone-Black-LM35-Sensor-Temperatura-Monitor |
Vídeo do projeto