Meça a temperatura usando interface LM35 com Beaglebone preto (Parte 15/15)

Meça a temperatura usando interface LM35 com Beaglebone preto (Parte 15/15)

Protótipo de monitor de temperatura baseado em sensor Beaglebone Black e LM35

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.

Captura de tela do console Linux mostrando leitura de temperatura

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

Diagrama de pinos do sensor de temperatura LM35

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).

Imagem do Beaglebone Black usado como monitor de temperatura

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
hora de importação Sensor = "P9_40" Configuração ADC (Sensor) enquanto Verdadeiro: Temperatura = (float(ADC.read_raw(Sensor))*4096)/1800 Celsius = (Temperatura)/22,75 Fahrenheit = (Celsius * 9/5) + 32 print('Temp em C: %dnTemp em F: %dn'%(Celsius, Fahrenheit)) hora.sleep(1)

###

Diagramas de circuito

Diagrama de circuito-Beaglebone-Black-LM35-Sensor-Temperatura-Monitor

Vídeo do projeto

Conteúdo Relacionado

Uma rede de sensores é incorporada em todos os...
O controlador do motor é um dos componentes mais...
ESP32-CAM é um módulo de câmera compacto que combina...
A evolução dos padrões USB foi fundamental para moldar...
A SCHURTER anuncia um aprimoramento para sua conhecida série...
A Sealevel Systems anuncia o lançamento da Interface Serial...
A STMicroelectronics introduziu Diodos retificadores Schottky de trincheira de...
Determinar uma localização precisa é necessário em várias indústrias...
O novo VIPerGaN50 da STMicroelectronics simplifica a construção de...
A Samsung Electronics, fornecedora de tecnologia de memória avançada,...
O mercado embarcado tem uma necessidade de soluções de...
Você provavelmente já se deparou com o termo 'arrastar'...
Você provavelmente tem um Isolador de suporte Se você...
Você provavelmente já viu permanecer um isolante sente-se em...
Você provavelmente já viu Isoladores de manilha entronizados em...
Você provavelmente já passou por situações em que o...
Vissza a blogba

Hozzászólás írása

Felhívjuk a figyelmedet, hogy a hozzászólásokat jóvá kell hagyni a közzétételük előtt.