Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Sensor de temperatura de 1 fio DS1820 em Raspberry Pi (GPIO diretamente)

Para medir a temperatura interna ou externa com o Raspberry Pi, existem várias possibilidades. Este artigo descreve a versão com a quantidade mínima de componentes externos. Isso é baseado no sensor de temperatura DS18S20 e na emulação de software do protocolo de 1 fio.

O DS18S20 e os relacionados DS18B20 e DS1822 são circuitos integrados em um invólucro TO-92 contendo o sensor de temperatura, conversor analógico-digital e interface de 1 fio. Os tipos mencionados são compatíveis com pin e software, eles diferem substancialmente na precisão da medição e no preço. Os três conectores (veja a imagem à esquerda) são aterramento (GND, pino 1), dados (DQ pino 2) e tensão operacional (V DD , pin3). Você pode conectar V DD e GND e opere o sensor com uma fonte de alimentação parasita de 3-5 volts. A conexão do circuito com o computador é então possível com um simples cabo de par trançado de dois fios.

Neste cabo - o barramento de 1 fio - você pode conectar vários DS1820 paralelos. Cada sensor possui um código único atribuído pelo fabricante para se identificar.


Raspberry Pi e 1 fio


A medição de temperatura com o Raspberry Pi e o sensor de temperatura de 1 fio DS1820 contém uma lista de maneiras diferentes de conduzir um barramento de 1 fio do Raspberry Pi. Este artigo descreve a solução (1) com a menor quantidade de circuitos externos. Além dos sensores, é necessário apenas um único resistor, pois esta solução simula completamente o protocolo de 1 fio no software.

Apenas um resistor


A porta de dados DQ do DS1820 é conectada diretamente à porta GPIO4 da interface GPIO do Raspberry Pi. GND e V DD estão no terminal de aterramento GND. A fonte de alimentação parasita realizou um resistor pull-up de 4k7 entre a conexão de 3,3 volts 3V3 e GPIO4.

O resistor, um conector fêmea para conexão à porta GPIO e a conexão de 1 fio são soldados a uma pequena placa de ensaio, que fica diretamente na porta GPIO. A conexão de 1 fio pode ser realizada com um conector fêmea angular que economiza espaço. Tudo isso se encaixa na caixa TEK-BERRY do Raspberry Pi.

drivers de software de 1 fio


Os módulos do kernel necessários para a ativação do sensor de temperatura de 1 fio fazem parte da distribuição Raspbian “wheezy” do Linux. Você deve, no entanto, carregá-los explicitamente:
 sudo modprobe w1-gpio pullup =1sudo modprobe w1-therm 

Importante é o parâmetro pullup =1 , que informa ao módulo que uma fonte de alimentação parasita por meio de um resistor pull-up está presente. Os módulos criam um subdiretório para cada sensor localizado logo abaixo de / sys / bus / w1 / devices. O nome do diretório é composto pelo código de família do sensor e seu número de identificação único. Os sensores do tipo DS1820 e DS18S20 possuem o Código de Família 10, DS18B20 possui Código 28 e DS1822 o 22. Em cada subdiretório existe o arquivo w1_slave contendo o status do sensor e o valor da temperatura medida:
 cd / sys / bus / w1 / devicescd 10-000801b5 * cat w1_slave  0f 00 4b 46 ff ff 06 10 0c:crc =0c YES0f 00 4b 46 ff ff 06 10 0c t =7375  

O arquivo consiste em duas linhas, cada uma contendo o registro-dump hexadecimal do IC do sensor. No final da primeira linha está a soma de verificação (CRC) e a informação se é uma leitura válida (SIM). A segunda linha termina com a leitura da temperatura em milésimos de grau Celsius. No exemplo, a temperatura é, portanto, de 7,375 ° C. A precisão de três casas após a vírgula é, obviamente, apenas aparente; a folha de dados do DS18S20 afirma, por exemplo, que a precisão da medição é de apenas ± 0,5 ° C. A temperatura real é algo em qualquer lugar de 6,8 a 7,9 ° C.

Se tudo funcionar até agora, você deve inserir os dois módulos necessários no arquivo / etc / modules para fazê-los carregar automaticamente no momento da inicialização:
 # / etc / modulesw1-gpio pullup =1w1-therm 

Banco de dados Round Robin RRDtool


Para um registro de longo prazo das leituras de temperatura e geração confortável de gráficos, o uso de RRDtool é recomendado. Os artigos Aquisição de dados meteorológicos com USB WDE1 e Medição de temperatura com Raspberry Pi (USB-serial) explicam esta ferramenta em detalhes.

Primeiro você deve instalar o RRDtool com a ajuda do Gerenciador de Pacotes no Raspberry Pi:
 sudo apt-get install rrdtool python-rrdtool 

O segundo pacote instalado python-rrdtool é uma interface Python para RRDtool, que será usada posteriormente. No início do trabalho com RRDtool está a definição do banco de dados. O exemplo a seguir cria um banco de dados para dois sensores de temperatura temp0 und temp1 . O objetivo é armazenar um valor por quarto de hora (900 segundos). Após dez dias (=960 valores), ocorre uma redução para um valor médio, mínimo e máximo por dia. O tempo de retenção desses valores diários é de dez anos (=3600 valores):
 rrdtool create temperature.rrd --step 900 \ DS:temp0:GAUGE:1200:-40:80 \ DS:temp1:GAUGE:1200:-40:80 \ RRA:AVERAGE:0,5:1:960 \ RRA:MIN:0,5:96:3600 \ RRA:MAX:0,5:96:3600 \ RRA:MÉDIA:0,5:96:3600 

Aquisição de dados com Python


Um script Python lê os arquivos especiais w1_slave e insere os valores de temperatura no banco de dados round-robin:



Para mais detalhes:sensor de temperatura de 1 fio DS1820 em Raspberry Pi (GPIO diretamente)

Processo de manufatura

  1. Registrador de temperatura Raspberry Pi
  2. Meça temperaturas com um sensor DS18B20 de 1 fio e Raspberry Pi
  3. Ler a temperatura com DS18B20 | Raspberry Pi 2
  4. Monitoramento de temperatura no Raspberry Pi
  5. Medindo a temperatura com RASPBERRY PI
  6. Biblioteca Python do sensor de temperatura TMP006 usando Raspberry pi,
  7. Sensor de temperatura Python e Raspberry Pi
  8. Estação meteorológica Raspberry Pi
  9. Monitorando a temperatura com Raspberry Pi
  10. Sensor ultrassônico (HC-SR04) + Raspberry Pi