As Interfaces Modbus são uma família de módulos de entradas e saídas analógicas e digitais que comunicam pelo protocolo Modbus.

  • Protocolo de comunicação: Modbus RTU
  • Modbus mestre e escravo
  • Seleção de endereço por DIP switch
  • Alimentação: 10 a 30 VCC
  • Consumo máximo de 200 mA

A família de interfaces Modbus da Alfacomp foi especialmente desenvolvida para compor sistemas de alto desempenho e baixo custo. As interfaces funcionam como remotas de I/O distribuído e, portanto, podem ser aplicadas nas mais diversas áreas da automação industrial, como monitoramento remoto de variáveis de processo e controles, ligar e desligar um motor remotamente, etc.

As IMs da Alfacomp estão disponíveis em seis diferentes configurações, cada uma com caraterísticas específicas para sua aplicação. Todos modelos possuem interface serial RS485 para conexão com outros dispositivos como Rádio Modem e Modem GPRS. O protocolo de comunicação disponível nas interfaces é o Modbus RTU, com possibilidade de operar como mestre ou escravo da rede.

Modelos e configurações das interfaces Modbus

IM4000 04 entradas analógicas 0 a 20 ou 4 a 20mA
IM0400 04 saídas analógicas 4 a 20mA
IM0080 08 entradas digitais
IM0008 08 saídas digitais
IM2020 02 entradas analógicas 0 a 20 ou 4 a 20mA + 02 entradas digitais
IM0202 02 saídas analógicas 4 a 20mA + 02 saídas digitais

Especificações técnicas das interfaces Modbus

  • Tensão de Alimentação: 10 a 30 VCC
  • Consumo máximo: 200mA
  • Proteção: Supressor de transientes e fusíveis rearmáveis
  • Protocolo: MODBUS RTU — mestre e escravo (IM0400, IM0008 e IM0202) escravo (IM4000, IM0080 e IM2020)
  • Velocidade serial: 1200, 9600, 57600 e 115200 bps
  • Entradas Analógicas: 0 a 20 ou 4 a 20mA, impedância de 220ohms
  • Saídas Analógicas: 4 a 20mA
  • Resolução das entradas analógicas: 12bits
  • Resolução das saídas analógicas: 10 bits
  • Entradas Digitais: tipo PNP em 12 ou 24V
  • Saídas Digitais: tipo PNP 12 ou 24Vcc/0,5A máx
  • Temperatura de operação: 0° a +60°C
  • Dimensões (AxLxP): 95 x 23 x 130mm

Interface Modbus com 4 entradas analógicas – IM4000

Interface Modbus com 4 saídas analógicas – IM0400

Interface Modbus com 8 entradas digitais – IM0080

Interface Modbus com 8 entradas digitais – IM0080

Interface Modbus com 8 saídas digitais – IM0008

Interface Modbus com 8 saídas digitais – IM0008

Interface Modbus com 2 entradas analógicas e 2 entradas digitais – IM2020

Protocolo MODBUS

Interface Modbus com 2 saídas analógicas e 2 saídas digitais – IM0202

Interface Modbus com 2 saídas analógicas e 2 saídas digitais – IM0202

Solicite informações adicionais ou uma cotação

Protocolo Modbus

Modbus é um Protocolo de comunicação de dados utilizado em sistemas de automação industrial. Criado originalmente no final da década de 1970, mais especificamente em 1979, pela fabricante de equipamentos Modicon. É um dos mais antigos e até hoje mais utilizados protocolos em redes de Controladores lógicos programáveis (CLP) para aquisição de sinais (0 ou 1) de instrumentos e comandar atuadores. A Schneider Electric (atual controladora da Modicon) transferiu os direitos do protocolo para a Modbus Organization (Organização Modbus) em 2004 e a utilização é livre de taxas de licenciamento. Por esta razão, e também por se adequar facilmente a diversos meios físicos, é utilizado em milhares de equipamentos existentes e é uma das soluções de rede mais baratas a serem utilizadas em Automação Industrial.

Características técnicas do Modbus

O Modbus equivale a uma camada de aplicação e pode utilizar o RS232RS485 ou Ethernet como meios físicos – equivalentes camada de enlace (ou link) e camada física do modelo. O protocolo possui comandos para envio de dados discretos (entradas e saídas digitais) ou numéricos (entradas e saídas analógicas).

Modelo de comunicação

O protocolo Modbus define que o modelo de comunicação é do tipo mestre-escravo (ou cliente-servidor). Assim, um escravo não deve iniciar nenhum tipo de comunicação no meio físico enquanto não tiver sido requisitado pelo mestre. Por exemplo, a estação mestre (geralmente um PLC) envia mensagens solicitando dos escravos que enviem os dados lidos pela instrumentação ou envia sinais a serem escritos nas saídas, para o controle dos atuadores ou nos registradores. A imagem abaixo mostra um exemplo de rede Modbus com um mestre (CLP) e três escravos (módulos de entradas e saídas, ou simplesmente E/S). Em cada ciclo de comunicação, o CLP lê e escreve valores em cada um dos escravos.

Colisões de comunicação

É possível haver colisões durante o acesso ao meio compartilhado, e o protocolo não é específico em como solucioná-las. Como ilustração de um problema possível, suponha que, em uma dada aplicação do protocolo Modbus sobre um barramento RS485, o mestre requisita seus escravos em sequência. Suponha também que o mestre, após um tempo específico, passa a requisitar o escravo seguinte, tendo recebido ou não uma resposta do escravo anterior. Nesse caso, se o primeiro escravo demora mais tempo para responder do que o tempo que o mestre espera, pode acontecer de o primeiro escravo responder bem no período em que o mestre resolveu fazer a requisição ao escravo seguinte, ou no período em que o segundo escravo já tinha iniciado sua resposta, havendo colisão no meio. Não há nada especificado no protocolo para resolver esse tipo de problema. Cabe à aplicação implementar corretamente o acesso ao meio, os parâmetros de time-out etc.

Frames de comunicação

A comunicação em Modbus obedece a um frame que contém o endereço do escravo, o comando a ser executado, uma quantidade variável de dados complementares e uma verificação de consistência de dados (CRC).

Exemplo-1: Se o PLC precisa ler as 10 primeiras entradas analógicas (do endereço 0000 ao 0009) no módulo 2. Para isso é preciso utilizar o comando de leitura de múltiplos registros analógicos (comando 3). O frame de comunicação utilizado é mostrado abaixo (os endereços são mostrados em sistema hexadecimal):

A resposta do escravo seria um frame semelhante composto das seguintes partes: O endereço do escravo, o número do comando, os dez valores solicitados e um verificador de erros (CRC). Em caso de erros de resposta (por exemplo um dos endereços solicitados não existe) o escravo responde com um código de erro.

Uma pequena recordação: Para se entender este frame de resposta, antes precisamos saber corretamente o que é um byte. Cada palavra tem as seguintes formas, – bit, – nible, – byte e – word. Segue abaixo uma tabela representação de cada formato.

A resposta para a pergunta acima seria a seguinte:

O primeiro byte (02) é o endereço do Escravo; O segundo byte (03) é a função utilizada para leitura, sendo essa um Holding Register; O terceiro byte é a quantidade de endereços que o Escravo está enviando ao Mestre, sendo que a cada 2 bytes se forma uma Word que significa uma palavra de 16 bit, por isso este frame tem 14 (hexadecimal) = 20 bytes que é = 10 word ou 10 palavras de 16 bits que tem seu range mínimo de -32768 até 32767. Com isso entendemos que o Escravo respondeu 10 endereços ao Mestre e todos com o valor zero.

Comandos Modbus

A tabela a seguir apresenta os principais comando (funções) do protocolo Modbus.

Modbus RTU

O termo RTU, do inglês Remote Terminal Unit, refere-se ao modo de transmissão onde endereços e valores são representados em formato binário. Neste modo para cada byte transmitido são codificados dois caracteres. Números inteiros variando entre -32768 e 32767 podem ser representados por 2 bytes. O mesmo número precisaria de quatro caracteres ASCII para ser representado (em hexadecimal). O tamanho da palavra no modo RTU é de 8 bits.

Modbus ASCII

Os dados são dados codificados e transmitidos através de caracteres ASCII – cada byte é transmitido através de dois caracteres. Apesar de gerar mensagens legíveis por pessoas este modo consome mais recursos da rede. Por exemplo, para transmitir o byte 0x5B este deverá ser codificado em dois caracteres ASCII: 0x35 (“5”) e 0x42 (“B”). O tamanho da palavra no modo ASCII é de 7 bits. Somente são permitidos caracteres contidos nos intervalos:

  • 0-9
  • A-F

O intervalo entre duas mensagens deve ser de 3,5 caracteres.

Modbus TCP

Aqui os dados são encapsulados em formato binário em frames TCP para a utilização do meio físico Ethernet (IEEE 802.3). Quando o Modbus/TCP é utilizado, o mecanismo de controle de acesso é o CSMA-CD (Próprio da rede Ethernet) e as estações utilizam o modelo cliente-servidor.

Retrocompatibilidade e Conversores

Suponha que um PLC precisa trocar dados usando o protocolo Modbus-TCP com dispositivos antigos, que não suportam esse protocolo, e estão conectados em um barramento RS-485. Nesse caso, existem no mercado conversores Modbus-TCP<->Modbus Serial RS-232/485. Esses dispositivos diferem de um conversor puramente físico, que somente converteria os sinais elétricos de um protocolo físico para outro. Eles, em vez disso, implementam os protocolos TCP e IP, além de implementar também o protocolo Modbus.

Isso é necessário, pois é preciso haver uma conexão TCP entre o conversor e o CLP, já que essa conexão não pode existir diretamente com os equipamentos antigos. O conversor precisa, portanto, implementar o protocolo TCP e aceitar conexões através de sockets etc. Caso contrário, a comunicação não seria possível.

Além disso, o conversor precisará tirar os dados Modbus – que estão dentro do pacote IP, que por sua vez está dentro do quadro Ethernet – para enviar ao escravo correto no barramento RS-485.

Há também conversores com várias saídas seriais. Nesse caso, é possível separar os escravos em vários barramentos distintos, cada um em uma porta. No primeiro barramento, podem ser colocados os escravos cujos endereços vão de 1 ao 10; no segundo, de 11 a 20, e por aí em diante – isso é só um exemplo.

Nessa configuração, o conversor precisaria ler o pacote Modbus, interpretá-lo ao ponto de saber qual é o endereço do escravo de destino, para então enviá-lo à porta de saída correta.

Leia também

Em aplicações onde as distâncias são grandes ou o uso de cabos seriais é difícil, ou até impossível. Considere a utilização de rádios modem nas faixas de 900 MHz e 2.4 GHz. A principal utilização dos rádios modem dessa categoria está na comunicação de dados entre dispositivos que utilizam interface serial RS232 ou RS485 com velocidades entre 1.200 e 115.200 bps em distâncias de dezenas de metros até 32 km com visada direta. Ex: telemetria de reservatórios e elevatórias de água e esgoto no saneamento.

Topologia da rede – Redes ponto a ponto

A topologia de uma rede se refere à forma como as unidades que a compõem se interconectam umas às outras, e à forma através da qual as mesmas se comunicam. A rede ponto a ponto consiste de um simples par de transceptores. A rede ponto a ponto substitui um cabo de comunicação. Esse tipo de configuração pode, por exemplo, estabelecer comunicação entre dois CLPs.

Topologia de rede – Redes ponto-multiponto

Sistemas Ponto-Multiponto possuem uma estação central (Servidor), que controla a comunicação, e diversas outras unidades chamadas remotas (Clientes). Programando os transceptores com diferentes configurações de canal e identificador de sistema (ID), podemos criar redes diferentes dentro de uma mesma área.

Utilização do rádio modem em painel de telemetria

A figura abaixo apresenta uma utilização típica de rádio modem em um painel de telemetria.

  • O painel é alimentado pela rede e possui um seccionador e DPS SW3300.
  • A fonte de alimentação com bateria fornece 24V para o CLP e para o rádio.
  • O rádio modem é ligado ao centelhador de RF por um cabo interno de RF.
  • O cabo interno de RF é composto por um cabo RG58 dotado de conectores SMA macho e N macho.
  • O centelhador de RF é instalado na lateral, ou na base do quadro e fornece uma conexão N para dentro e outra para fora do painel.
  • O cabo externo de RF interliga o painel e a antena.
  • O cabo externo de RF é composto por um cabo RGC213 dotado de conectores N macho.

Utilização do rádio modem junto à antena

A figura abaixo apresenta uma utilização típica de rádio modem próximo à antena, utilizando a interface RS485. Essa forma de utilização oferece as seguintes vantagens:

  • A perda no cabo de RF é virtualmente zerada.
  • O cabo CAT5 tem baixo custo e é de fácil instalação.
  • O rádio e a antena podem ser colocados bem mais afastados do CLP do que utilizando cabos de RF.
  • Nesse tipo de instalação, sugerimos a utilização do conversor CS485-V interligando o CLP ao rádio.
  • A instalação do rádio modem próximo à antena é facilitada pelo emprego do KIT RPE1.

Testando rádios passo a passo

Antes de instalar os rádios no campo, em seus painéis de telemetria, conectados aos dispositivos que deverão comunicar através desses, sugerimos que sejam feitos testes em bancada.

  1. Programar os rádios, um rádio como SERVIDOR e os demais como CLIENTES.
  2. Executar o teste serial de ECO em bancada que está descrito na sequência. Afaste os rádios de pelo menos 2 metros. O excesso de sinal dificulta a comunicação.
  3. Executar o teste de comunicação entre os equipamentos definitivos, em bancada. Exemplo: software supervisório e CLP.
  4. Instalar os rádios no campo e testar os enlaces utilizando o software de teste de enlaces.
  5. Executar novamente o teste de ECO, agora utilizando antenas e à distância.
  6. Por fim, testar a comunicação entre os equipamentos definitivos como foi feito em bancada.

Conectando equipamentos para o teste de ECO

Ligue os rádios às suas fontes de alimentação, instale as antenas de teste e afaste os mesmo de pelo menos 2 metros, pois o excesso de sinal causa falhas de comunicação.

Leia também

O data logger DL2016 da Alfacomp é um dispositivo capaz de coletar, armazenar, controlar, rastrear, enviar e receber dados via rede GSM/GPRS.

Através das IOs que o equipamento possui, ele possibilita o controle e monitoramento de grandezas elétricas e ou físicas como, por exemplo, tensão, corrente, temperatura, velocidade do vento, nível de água, quantidade de chuva e também o controle de cargas de potência através dos três relés de saída.

A tecnologia GPRS permite acesso seguro e direto às informações através do uso de tablets, smarphones e computadores. Adicionalmente, não existem gargalos de comunicação nas centrais de monitoração e servidores de dados de sistemas complexos de monitoração. Um roteador HDSPA utilizado na estação central pode fornecer velocidades de comunicação de até 10 Mbits/s quando são utilizados links fixos para o provedor dos serviços de telefonia.

Aplicações

Entre as muitas áreas de aplicação estão a telemetria de água e esgoto, agricultura, controle ambiental, industrias de óleo e gás, leitura remota de consumo de energia, gás e água, e monitoração de utilidades.

DL2016 – Data Logger

O benefício básico dos sistemas wireless em GSM e GPRS reside na monitoração e controle com baixos custos e rapidez de implantação, distância virtualmente ilimitada entre remotas e centros de monitoração, independência de relevo e obstruções da visada, antenas de pequeno porte, e ainda a possibilidade de alarmes diretos para telefones celulares das pessoas responsáveis pelos serviços de monitoração.

A comunicação por exceção (quando a remota toma a iniciativa enviar dados dentro de circunstâncias pré-definidas) permite o recebimento rápido e simultâneo de informações das estações de campo, mesmo no caso de instalações contendo centenas de pontos de monitoração. Entre os benefícios da telemetria via GPRS estão:

  • supervisão on-line sem a necessidade de estabelecer conexões;
  • possibilidade de interação com qualquer remota a qualquer momento e em qualquer distância;
  • envio imediato de alarmes e informações sobre eventos importantes;
  • capacidade de monitoração e controle via dispositivos móveis;
  • acesso via internet de dados de estações remotas;
  • alarme de ameaças e prevenção de falhas antes que as mesmas aconteçam;
  • diagnósticos remotos;
  • controle de acesso e segurança.

Estas IOs também podem ser lidas ou controladas através de comandos SMS.

Vantagens do GPRS sobre o GSM

O GPRS utiliza a mesma estrutura de comunicação que o GSM. Foi desenvolvido para a transmissão de dados tais como MMS (envio de textos e imagens), navegação na internet e M2M (machine-to-machine, comunicação entre máquinas). Entre as vantagens do GPRS sobre o GSM estão os menores custos de operação baseados em pacotes de dados mensais. A comunicação via GPRS acontece via internet com a utilização de protocolos padrão TCP/IP.

Datalogger DL2016

Possui interface para conexão de cartões do tipo SDCard, permitindo assim o armazenamento em massa das grandezas medidas em arquivos de texto, facilitando assim a sua coleta e visualização em computadores comuns. Também é possível fazer com que outros equipamentos comuniquem via internet através das interfaces RS232 e RS485.

Conexão de antena e portas seriais

DL2016 – Data Logger

Alimentação por bateria

Na falta de energia, o data logger é capaz de se manter em funcionamento por várias horas através de uma bateria conectada externamente. A carga da bateria é completamente gerenciada pelo próprio software interno do equipamento, evitando-se assim a preocupação em colocar baterias e gerenciadores de cargas extras.

DL2016 – Data Logger

Especificações Técnicas

Tensão de Alimentação 8 a 30 VCC
Carregador de bateria Para baterias de 7,2V/1500mAh
Interfaces Seriais RS232 e RS485
Protocolos Smart M2M, MQTT e MODBUS
Velocidade serial 110 a 256000 bps
Entradas Digitais 06 entradas digitais
Saídas Digitais 03 saídas digitais a relê
Entradas Analógicas 07 entradas analógicas de 12 bits
GPS Antena ativa externa
GPRS Entrada para dois SIM CARDs (SIM 1, SIM 2)
Consumo de energia 260mA Max
Temperatura de operação 0° a +60°C
Dimensões (montado em trilho DIN horizontal) 110 x 95 x 40mm

Software Smart M2M Control

Os ajustes de parâmetros do DL2016 são realizados através do software Smart M2M Control. Através deste software é possível configurar e monitorar completamente o funcionamento do seu datal logger. Faça o download no site www.alfacomp.net , na página do produto ou secção de downloads.

Licença de uso

O Smart M2M Control possui o uso controlado através de licença de uso. Esta licença pode ser verificada na aba “Sobre” do software. Para ativar o software é preciso enviar a Chave gerada (após instalação) para www.alfacomp.net ou entrar em contato através dos telefones disponíveis em nosso site. Você receberá a Chave gravada. Insira em seu respectivo campo e clique em Registrar. Após este procedimento o seu Smart M2M Control estará pronto para ser utilizado.

DL2016 – Data Logger

Driver USB

Antes de conectar seu data logger ao PC, é preciso instalar o driver de comunicação. Realize o download do driver no site www.alfacomp.net , localize as propriedades de hardware do seu sistema e instale o driver.

Estabelecendo comunicação

Para estabelecer conexão entre PC e data logger, vá até a aba “Comunicação” do software Smart M2M Control, selecione a porta COM atribuída ao data logger pelo sistema, e clique em Conectar. Se o seu data logger está na rede TCP, utilize os campos host e Porta para se conectar remotamente.

DL2016 – Data Logger

Configuração

IMPORTANTE: PARA CADA CONFIGURAÇÃO REALIZADA, CLIQUE NO BOTÃO “CONFIGURAR” PARA VALIDÁ-LA.

DL2016 – Data Logger

RTC

Nesta função você poderá sincronizar o relógio de tempo real do seu data logger com o relógio do computador.

DL2016 – Data Logger

Ajuste do relógio de tempo real

Seriais

Interface para configurar as portas seriais do DL2016. Por padrão, a comunicação serial é 9600bps, 8 bits de dados, 1 stop bit e sem paridade.

DL2016 – Data Logger

Sockets

Estão disponíveis quatro sockets de comunicação no DL2016. Socket Serial, IO (protocolo proprietário), MQTT e Modbus. Os quatro sockets podem estar habitados simultaneamente.

Cada socket pode ser configurado de forma independente. Os parâmetros a serem configurados são os mesmos para todos os sockets, exceto o Modbus que possui campo para o endereço RTU.

  • Estado de funcionamento: habilita ou não a comunicação do socket;
  • Modo de conexão: como servidor, aguarda conexões. Como cliente, força conexão com endereço de destino (remoto);
  • Gerência de conexão: Esta configuração está em desenvolvimento;
  • IP Remoto: endereço IP do servidor remoto
  • Porta Remota: porta de comunicação, complementar ao endereço IP;
  • URL: endereço URL do servidor remoto (caso não utilize IP fixo);
  • Log no SD-Card: personalização do logger. Esta configuração está em desenvolvimento. Por hora, todos os sockets geram arquivo de log.
  • Mensagem de identificação: mensagem personalizada que será enviada a cada conexão;
  • KeepAlive: mensagem personalizada com envio periódico;

APENAS MODBUS:

  • Endereço Modbus: atribui endereço Modbus ao data logger.

DL2016 – Data Logger

GSM/GPRS

Configuração de login para conexão GSM/GPRS, APN, usuário e senha são definidas pela operadora celular.

DL2016 – Data Logger

Leia também

O data logger DL2016 da Alfacomp é um dispositivo capaz de coletar, armazenar, controlar, rastrear, enviar e receber dados via rede GSM/GPRS.

Através das IOs que o equipamento possui, ele possibilita o controle e monitoramento de grandezas elétricas e ou físicas como, por exemplo, tensão, corrente, temperatura, velocidade do vento, nível de água, quantidade de chuva e também o controle de cargas de potência através dos três relés de saída.

A tecnologia GPRS permite acesso seguro e direto às informações através do uso de tablets, smarphones e computadores. Adicionalmente, não existem gargalos de comunicação nas centrais de monitoração e servidores de dados de sistemas complexos de monitoração. Um roteador HDSPA utilizado na estação central pode fornecer velocidades de comunicação de até 10 Mbits/s quando são utilizados links fixos para o provedor dos serviços de telefonia.

Aplicações

Entre as muitas áreas de aplicação estão a telemetria de água e esgoto, agricultura, controle ambiental, industrias de óleo e gás, leitura remota de consumo de energia, gás e água, e monitoração de utilidades.

DL2016 – Data Logger

O benefício básico dos sistemas wireless em GSM e GPRS reside na monitoração e controle com baixos custos e rapidez de implantação, distância virtualmente ilimitada entre remotas e centros de monitoração, independência de relevo e obstruções da visada, antenas de pequeno porte, e ainda a possibilidade de alarmes diretos para telefones celulares das pessoas responsáveis pelos serviços de monitoração.

A comunicação por exceção (quando a remota toma a iniciativa enviar dados dentro de circunstâncias pré-definidas) permite o recebimento rápido e simultâneo de informações das estações de campo, mesmo no caso de instalações contendo centenas de pontos de monitoração. Entre os benefícios da telemetria via GPRS estão:

  • supervisão on-line sem a necessidade de estabelecer conexões;
  • possibilidade de interação com qualquer remota a qualquer momento e em qualquer distância;
  • envio imediato de alarmes e informações sobre eventos importantes;
  • capacidade de monitoração e controle via dispositivos móveis;
  • acesso via internet de dados de estações remotas;
  • alarme de ameaças e prevenção de falhas antes que as mesmas aconteçam;
  • diagnósticos remotos;
  • controle de acesso e segurança.

Estas IOs também podem ser lidas ou controladas através de comandos SMS.

Vantagens do GPRS sobre o GSM

O GPRS utiliza a mesma estrutura de comunicação que o GSM. Foi desenvolvido para a transmissão de dados tais como MMS (envio de textos e imagens), navegação na internet e M2M (machine-to-machine, comunicação entre máquinas). Entre as vantagens do GPRS sobre o GSM estão os menores custos de operação baseados em pacotes de dados mensais. A comunicação via GPRS acontece via internet com a utilização de protocolos padrão TCP/IP.

Datalogger DL2016

Possui interface para conexão de cartões do tipo SDCard, permitindo assim o armazenamento em massa das grandezas medidas em arquivos de texto, facilitando assim a sua coleta e visualização em computadores comuns. Também é possível fazer com que outros equipamentos comuniquem via internet através das interfaces RS232 e RS485.

Conexão de antena e portas seriais

DL2016 – Data Logger

Alimentação por bateria

Na falta de energia, o data logger é capaz de se manter em funcionamento por várias horas através de uma bateria conectada externamente. A carga da bateria é completamente gerenciada pelo próprio software interno do equipamento, evitando-se assim a preocupação em colocar baterias e gerenciadores de cargas extras.

DL2016 – Data Logger

Especificações Técnicas

Tensão de Alimentação 8 a 30 VCC
Carregador de bateria Para baterias de 7,2V/1500mAh
Interfaces Seriais RS232 e RS485
Protocolos Smart M2M, MQTT e MODBUS
Velocidade serial 110 a 256000 bps
Entradas Digitais 06 entradas digitais
Saídas Digitais 03 saídas digitais a relê
Entradas Analógicas 07 entradas analógicas de 12 bits
GPS Antena ativa externa
GPRS Entrada para dois SIM CARDs (SIM 1, SIM 2)
Consumo de energia 260mA Max
Temperatura de operação 0° a +60°C
Dimensões (montado em trilho DIN horizontal) 110 x 95 x 40mm

Software Smart M2M Control

Os ajustes de parâmetros do DL2016 são realizados através do software Smart M2M Control. Através deste software é possível configurar e monitorar completamente o funcionamento do seu datal logger. Faça o download no site www.alfacomp.net , na página do produto ou secção de downloads.

Licença de uso

O Smart M2M Control possui o uso controlado através de licença de uso. Esta licença pode ser verificada na aba “Sobre” do software. Para ativar o software é preciso enviar a Chave gerada (após instalação) para www.alfacomp.net ou entrar em contato através dos telefones disponíveis em nosso site. Você receberá a Chave gravada. Insira em seu respectivo campo e clique em Registrar. Após este procedimento o seu Smart M2M Control estará pronto para ser utilizado.

DL2016 – Data Logger

Driver USB

Antes de conectar seu data logger ao PC, é preciso instalar o driver de comunicação. Realize o download do driver no site www.alfacomp.net , localize as propriedades de hardware do seu sistema e instale o driver.

Estabelecendo comunicação

Para estabelecer conexão entre PC e data logger, vá até a aba “Comunicação” do software Smart M2M Control, selecione a porta COM atribuída ao data logger pelo sistema, e clique em Conectar. Se o seu data logger está na rede TCP, utilize os campos host e Porta para se conectar remotamente.

DL2016 – Data Logger

Configuração

IMPORTANTE: PARA CADA CONFIGURAÇÃO REALIZADA, CLIQUE NO BOTÃO “CONFIGURAR” PARA VALIDÁ-LA.

DL2016 – Data Logger

RTC

Nesta função você poderá sincronizar o relógio de tempo real do seu data logger com o relógio do computador.

DL2016 – Data Logger

Ajuste do relógio de tempo real

Seriais

Interface para configurar as portas seriais do DL2016. Por padrão, a comunicação serial é 9600bps, 8 bits de dados, 1 stop bit e sem paridade.

DL2016 – Data Logger

Sockets

Estão disponíveis quatro sockets de comunicação no DL2016. Socket Serial, IO (protocolo proprietário), MQTT e Modbus. Os quatro sockets podem estar habitados simultaneamente.

Cada socket pode ser configurado de forma independente. Os parâmetros a serem configurados são os mesmos para todos os sockets, exceto o Modbus que possui campo para o endereço RTU.

  • Estado de funcionamento: habilita ou não a comunicação do socket;
  • Modo de conexão: como servidor, aguarda conexões. Como cliente, força conexão com endereço de destino (remoto);
  • Gerência de conexão: Esta configuração está em desenvolvimento;
  • IP Remoto: endereço IP do servidor remoto
  • Porta Remota: porta de comunicação, complementar ao endereço IP;
  • URL: endereço URL do servidor remoto (caso não utilize IP fixo);
  • Log no SD-Card: personalização do logger. Esta configuração está em desenvolvimento. Por hora, todos os sockets geram arquivo de log.
  • Mensagem de identificação: mensagem personalizada que será enviada a cada conexão;
  • KeepAlive: mensagem personalizada com envio periódico;

APENAS MODBUS:

  • Endereço Modbus: atribui endereço Modbus ao data logger.

DL2016 – Data Logger

GSM/GPRS

Configuração de login para conexão GSM/GPRS, APN, usuário e senha são definidas pela operadora celular.

DL2016 – Data Logger

Leia também

This article is the second in the series “All about municipal water supply telemetry.

If you want to design and implement a telemetry system for water and wastewater reservoirs and pumping stations, water and wastewater treatment plants, pressure regulating stations, and macro-measurement points, you will find in this series of articles all the knowledge you need to design, build, and implement complete systems.

Along with the articles, links are provided to download complete electrical panel designs, as well as Ladder software for station automation and customizable SCADA software with screens for up to 10 tanks and 10 water lifts, all absolutely free of charge.

General operation of the water supply

In this article we will present the basic topology of municipal water systems with their raw water intake stations, treatment plants, pumping stations, reservoirs, boosters, and other control and monitoring points.

To reach each consumer unit, drinking water basically goes through three stages: abstraction, treatment, and distribution.

In each municipality, in each situation, there are many ways of collecting raw water from nature, treating the raw water by transforming it into treated water, and distributing the treated water by transporting it to the points of consumption.

Raw water intake

There are several natural sources of raw water. We can cite the following as the most usual:

  • Rivers
  • Lakes
  • Dams
  • Aquifers
  • Seas (desalination demand)

The abstraction of raw water usually involves pumping the water from the collection point, to the treatment plants. Exception is made for situations where it is possible to transport by gravity from the collection point to the treatment.

Stations involved in the abstraction of raw water


At the intake stage we can find the following types of stations:

  • Raw water booster station: normally built in the bed of rivers, lakes, and dams at a depth that allows the water to be captured from the bottom of the spring.
  • Artesian wells: usually built in low-lying areas in rural areas close to the municipalities.
  • Dam gate: in dams that are at a higher altitude than the treatment plants. The water is driven by gravity.
  • Floating raft: normally used in water sources with great variation in water level.

Water treatment – Typical conventional process

A conventional treatment consists of the following steps:

1. Coagulation and Flocculation

In these stages, the impurities present in the water are grouped by the action of the coagulant into larger particles (flocs) that can be removed by the decantation process. The reagents used are called coagulants, which are usually Aluminum Sulfate and Ferric Chloride.

Afterwards, it goes through a strong agitation with the objective of facilitating the agglomeration of the particles.

At this stage it may also be necessary to use an alkalinizer (hydrated lime or virgin lime), which will make the necessary pH correction for a more effective coagulant action.

In coagulation occurs the phenomenon of grouping of impurities present in the water and, in flocculation, the effective production of flocs.

2. Decantation

This stage consists of the moment when the flakes, formed in the previous stage, are deposited at the bottom of the tank. The flakes formed are separated from the water by the action of gravity.

3. Filtration

The decanted water is forwarded to the filtering units where the filtration process is carried out. A filter consists of a porous granular medium, usually sand, of one or more layers, installed over a drainage system, capable of retaining and removing impurities still present in the water. A final pH correction of the water can be performed to prevent corrosion of the pipes.

4. Disinfection

To disinfect water supplies, a physical or chemical agent (disinfectant) is used, whose purpose is the destruction of pathogenic microorganisms that can transmit diseases through them.

Normally the following disinfecting agents are used in public supplies, in order of frequency: chlorine, ozone, ultraviolet light, and silver ions.

Chlorine in its gaseous form can be used as a disinfectant agent, which is dosed into the water through equipment that allows for a systematic control of its application.

5. Fluoridation

Fluoridation of water supplies is carried out using fluoride-based compounds. The application of these compounds in public water supplies contributes to reducing the incidence of dental caries by up to 60%, if children ingest adequate amounts of fluoride ion from birth.

Distribution of the treated water

In the distribution of treated water the most numerous types of stations in the municipal water supply system are involved. The following figure gives an idea of the different seasons.

Treated water pumping station

Popularly called pump house or pumping station, this type of installation has the function of pumping water from a lower point to a higher point, usually a reservoir that in turn will supply a region of the municipality by gravity.

The treated water lift usually consists of motor-pump groups, one or more, driven by MCC (motor control center) panels, consisting of star delta circuits, compensator switches, soft starters, or frequency inverters.

The elevators can also contain check valves, manual valves, and motorized valves.
The main variables of interest in controlling a treated water lift are:

  • Suction pressure;
  • Back pressure;
  • Electric currents, grid voltages and power factor;
  • Feedback from the motors (ON/OFF status, trip, temperature and vibration alarms).

Treated water reservoir

Usually, reservoirs are built on high points and supply a neighborhood or region by gravity.

The main variables of interest in the control of treated water reservoirs are:

  • Level;
  • Flow;
  • Stored volume;
  • Chlorine level.

Booster

The booster’s function is to reinforce and guarantee pressure in the network. They are normally built at points in the network where the pressure is low, mainly due to the pressure drop in the piping. Generally, the pressure at these points is lower during the day and at times of higher consumption, and higher at night, when consumption is higher. To keep the pressure constant, frequency in verters are used to control the motors and the back pressure is monitored. The speed is controlled so as to keep the pressure constant.

The main variables of interest in controlling a booster are:

  • Suction pressure;
  • Back pressure;
  • Electric currents, grid voltages and power factor;
  • Feedback from the motors (ON/OFF status, trip, temperature and vibration alarms).

Macro Flow Meter

Macro flow meters are installed at starting points in a sector. Sectorization is fundamental in loss control. When the network is sectored it is possible to compare the total water supplied to that sector(macro measurement), which can be a neighborhood, with the total water sold to that population, counted as the sum of all consumption registered in the hydrometers (micro measurement).

The main variables of interest in macro meter monitoring are:

  • Instantaneous flow rate (usually and liters per second);
  • Accumulated volume (usually in cubic meters per hour);
  • Pressure.

VRP – Pressure Regulating Valve

The VRPs are installed at points in the network that need limitation to prevent pipeline rupture due to excess pressure. These are electromechanical devices that can be controlled by pressure feedback downstream, i.e. at the valve outlet. VRPs can also be remote-controlled motorized valves.

The main variables of interest in the control and monitoring of VRPs are:

  • Upstream pressure;
  • Downstream pressure;
  • Valve opening ( 0 to 100% );
  • Command to open and close the valve.

Read more

[recent_posts style=”1″ rows=”one” title=”Amazing Content” text_excerpt=”Y” mode=”selectable_posts” posts_num=”” selectable_posts=”3112, 2069, 1910, 1104, 1238, 1156″ text_color=”undefined” hide_author=””][/recent_posts]

 

Este artigo é o segundo da série “Tudo sobre telemetria do abastecimento municipal de água.

Se você deseja elaborar e implantar um sistema de telemetria para os reservatórios e elevatórias de água e esgoto, ETAs e ETEs, estações reguladoras de pressão e pontos de macromedição, encontrará nessa série de artigos, todo o conhecimento necessário para projetar, construir e implantar sistemas completos.

Juntamente com os artigos, são fornecidos links para download de projetos elétricos completos dos painéis, assim como softwares Ladder para automação das estações e o software customizável SCADA com telas para até 10 reservatórios e 10 elevatórias de água, tudo absolutamente sem custo.

Funcionamento geral do abastecimento de água

Nesse artigo apresentaremos a topologia básica dos sistemas municipais de água com suas estações de captação de água bruta, estações de tratamento, estações elevatórias, reservatórios, boosters e demais pontos de controle e monitoração.

Para chegar a cada unidade consumidora, a água potável passa basicamente por três etapas: Captação, Tratamento e Distribuição.

Em cada município, em cada situação, são muitas as formas de captar a água bruta da natureza, tratar a água bruta transformando-a em água tratada, e distribuir a água tratada, transportando a mesma até os pontos de consumo.

Captação de água bruta

São diversas as fontes naturais de água bruta. Podemos citar as seguintes como mais usuais:

  • Rios
  • Lagos
  • Barragens
  • Aquíferos
  • Mares (demanda a dessalinização)

A captação de água bruta envolve, normalmente, o bombeamento da água do ponto de coleta, até as estações de tratamento. Exceção se faz às situações onde é possível transportar por gravidade do ponto de coleta até o tratamento.

Estações envolvidas na captação da água bruta


Na etapa da captação podemos encontrar os seguintes tipos de estações:

  • Estação elevatória de água bruta: normalmente construída no leito de rios, lagos e barragens em profundidade que permita captar a água do fundo do manancial.
  • Poço artesiano: normalmente construídos em áreas de baixa altitude em zona rural próxima aos municípios.
  • Comporta de barragem: em barragens que estão em altitude maior que as estações de tratamento. A água é conduzida pela gravidade.
  • Balsa flutuante: normalmente utilizado em mananciais com grande variação do nível d’água.

Tratamento de água – Processo convencional típico

Um tratamento convencional é composto das seguintes etapas:

1. Coagulação e Floculação

Nestas etapas, as impurezas presentes na água são agrupadas pela ação do coagulante, em partículas maiores ( flocos) que possam ser removidas pelo processo de decantação. Os reagentes utilizados são denominados de coagulantes, que normalmente são o Sulfato de Alumínio e o Cloreto Férrico.

Posteriormente, ela passa por uma forte agitação com o objetivo de facilitar a aglomeração das partículas.

Nesta etapa também poderá ser necessária a utilização de um alcalinizante (Cal Hidratada ou Cal Virgem) que fará a necessária correção de pH para uma atuação mais efetiva do coagulante.

Na coagulação ocorre o fenômeno de agrupamento das impurezas presentes na água e , na floculação, a produção efetiva de flocos.

2. Decantação

Esse estágio consiste no momento em que os flocos, formados na etapa anterior, depositam-se ao fundo do tanque. Os flocos formados são separados da água pela ação da gravidade.

3. Filtração

A água decantada é encaminhada às unidades filtrantes onde é efetuado o processo de filtração. Um filtro é constituído de um meio poroso granular, normalmente areia, de uma ou mais camadas, instalado sobre um sistema de drenagem, capaz de reter e remover as impurezas ainda presentes na água. Pode ser realizada uma última correção do pH da água que visa evitar a corrosão das tubulações.

4. Desinfecção

Para efetuar a desinfecção de águas de abastecimento utiliza-se um agente físico ou químico (desinfetante), cuja finalidade é a destruição de microrganismos patogênicos que possam transmitir doenças através das mesmas.

Normalmente são utilizados em abastecimento público os seguintes agentes desinfetantes, em ordem de freqüência: cloro, ozona, luz ultravioleta e íons de prata.

Pode ser utilizado como agente desinfetante o cloro na sua forma gasosa, que é dosado na água através de equipamentos que permitem um controle sistemático de sua aplicação.

5. Fluoretação

A fluoretação da água de abastecimento público é efetuada através de compostos à base de flúor. A aplicação destes compostos na água de abastecimento público contribui para a redução da incidência de cárie dentária em até 60%, se as crianças ingerirem desde o seu nascimento quantidades adequadas de íon fluoreto.

Distribuição da água tratada

Na distribuição de água tratada estão envolvidos os tipos mais numerosos de estações do sistema de abastecimento de água municipal. A figura a seguir apresenta uma ideia das diferentes estações.

Elevatória de água tratada

Chamada popularmente de casa de bombas ou estação de bombeamento, esse tipo de instalação tem como função, bombear a água de um ponto mais baixo para um ponto mais alto, normalmente um reservatório que por sua vez irá abastecer uma região do município por gravidade.

A elevatória de água tratada normalmente é constituída por grupos moto bomba, um ou mais, acionados por painéis CCM (centro de contro de motor), constituídos por circuitos triângulo-estrela, chaves compensadoras, soft starters ou inversores de frequência.

As elevatórias podem conter, ainda, válvulas de retenção, válvulas manuais e válvulas motorizadas.
As principais variáveis de interesse no controle de uma elevatória de água tratada são:

  • Pressão de succção;
  • Pressão de recalque;
  • Corrente elétricas, tensões de rede e fator de potência;
  • Feedback dos motores (estado ON/OFF, alarmes de desarme, temperatura e vibração).

Reservatório de água tratada

Normalmente, os reservatórios são construídos em pontos elevados e abastecem um bairro ou região por gravidade.

As principais variáveis de interesse no controle de reservatórios de água tratada são:

  • Nível;
  • Vazão;
  • Volume armazenado;
  • Nível de cloro.

Booster

O booster tem por função reforçar e garantir a pressão na rede. Normalmente são construídos em pontos da rede em que a pressão está baixa, principalmente devido a perda de carga da tubulação. Geralmente, a pressão nesses pontos é mais baixa durante o dia e nos momentos de maior consumo, e mais alta à noite, quando o consumo é maior. Para manter a pressão constante, são utilizados inversores de frequência no controle dos motores e é monitorada a pressão de recalque. A velocidade é controlada de forma a manter constante a pressão.

As principais variáveis de interesse no controle de um booster são:

  • Pressão de succção;
  • Pressão de recalque;
  • Corrente elétricas, tensões de rede e fator de potência;
  • Feedback dos motores (estado ON/OFF, alarmes de desarme, temperatura e vibração).

Macro medidor de vazão

Os macro medidores de vazão são instalados em pontos de início de um setor. A setorização é fundamental no controle de perdas. Quando a rede está setorizada é possível comparar o total de água fornecida àquele setor (macro medição), que pode ser um bairro, com o total de água vendida àquela população, contabilizada como a soma de todos os consumos registrados nos hidrômetros (micro medição).

As principais variáveis de interesse na monitoração dos macro medidores são:

  • Vazão instantânea (normalmente e litros por segundo);
  • Volume acumulado (normalmente em metros cúbicos por hora);
  • Pressão.

VRP – Válvula reguladora de pressão

As VRPs são instaladas em pontos da rede que precisam de limitação para evitar o rompimento de adutoras pelo excesso de pressão. São dispositivos eletromecânicos que podem ter o controle pela realimentação da pressão a jusante, ou seja na saída da válvula. As VRPs podem também ser válvulas motorizadas de controle remoto.

As principais variáveis de interesse no controle e monitoração das VRPs são:

  • Pressão a montante;
  • Pressão a jusante;
  • Abertura da válvula ( 0 a 100% );
  • Comando de abertura e fechamento da válvula.

Leia também

[recent_posts style=”1″ rows=”one” title = “Amazing Content” text_excerpt=”Y” mode=”selectable_posts” posts_num=”” selectable_posts=”3112, 2069, 1910, 1104, 1238, 1156″ text_color=”undefined” hide_author=”” ][/recent_posts]

 

This article is the first of a series in which we share all the knowledge we have accumulated over more than 25 years supplying automation and telemetry systems for water and sewage in municipalities from north to south of Brazil.

If you want to design and implement a telemetry system for water and wastewater reservoirs and pumping stations, water and wastewater treatment plants, pressure regulating stations, and macro-measurement points, you will find in this series of articles all the knowledge you need to design, build, and implement complete systems.

Subject that will be treated in this series of articles

  1. General operation of the water supply
  2. Operating Logic of Reservoirs and Pumping Stations
  3. CCO – Control and Operation Center
  4. Radio telemetry of treated water distribution
  5. Telemetry remotes used in sanitation
  6. Transmitters and sensors used in sanitation telemetry
  7. PLCs for municipal water distribution telemetry
  8. SCADA – Supervisory Software
  9. Automation project for a water lift
  10. Automation project for a treated water reservoir

Schematics and Free Software

Along with the articles, links will be provided to download complete electrical panel designs, as well as Ladder software for station automation and customizable SCADA software with screens for up to 10 reservoirs and 10 water elevators, all absolutely free of charge.

Preview of articles in the series

In this article we present the basic topology of municipal water systems and describe the main types of telemetry component stations, such as reservoir, lift stations, boosters, VRPs, macrometers, ETAs and ETEs.

 


This paper presents the interlocking logic between reservoirs and their respective booster stations, hydraulic and electrical sensors, and operation adjustment parameters.

 


This article presents the equipment and software involved in the composition of the control center of the water and wastewater telemetry system.

 


This article discusses the modem radios used in the composition of the communication system, radio topologies, radio link feasibility analysis, and provides the spreadsheets used to calculate the links.

 


We present in this article the complete project of panels composed by PLC, HMI, radio modem, and other components for the control and monitoring of reservoirs, pumping stations, and other remote stations, including the complete electrical projects and control software to download and use at no cost.

In this article we discuss the field sensors used in sanitation telemetry, such as pressure, level and flow transmitters, multimeters of electrical quantities, among others.

 


This article presents the PLCs used in water and wastewater telemetry, their particularities, installation details, and interface modules for acquiring signals from field sensors and controlling actuators.

This article presents a free SCADA supervisory software and makes available for download an already configured template for a municipal telemetry system consisting of 10 reservoirs and 10 elevators ready to use and free of charge. It can be adapted, reduced or enlarged by the user and is free of charge.

 


Complete automation and telemetry project for a treated water pumping station with two groups of motor pumps.

The telemetry panel with schematic, Ladder, and Design and User Manual complete with download link are presented.

 

In this article we present the complete hardware and software project for the automation, control and telemetry of a treated water reservoir.

Read more

 

Este artigo é o primeiro de uma série na qual repassamos todo o conhecimento que acumulamos ao longo de mais de 25 anos fornecendo sistemas de automação e telemetria de água e esgoto em municípios de norte a sul do Brasil.

Se você deseja elaborar e implantar um sistema de telemetria para os reservatórios e elevatórias de água e esgoto, ETAs e ETEs, estações reguladoras de pressão e pontos de macromedição, encontrará nessa série de artigos, todo o conhecimento necessário para projetar, construir e implantar sistemas completos.

Assunto que serão tratados nesta série de artigos

  1. Funcionamento geral do abastecimento de água
  2. Lógica de funcionamento de reservatórios e elevatórias
  3. CCO – Centro de Controle e Operação
  4. Telemetria via rádio da distribuição de água tratada
  5. Remotas de telemetria utilizadas no saneamento
  6. Transmissores e sensores utilizados na telemetria do saneamento
  7. CLPs para a telemetria da distribuição de água municipal
  8. SCADA – Software supervisório
  9. Projeto de automação de uma elevatória de água
  10. Projeto de automação de um reservatório de água tratada

Esquemáticos e softwares gratuitos

Juntamente com os artigos, serão fornecidos links para download de projetos elétricos completos dos painéis, assim como softwares Ladder para automação das estações e o software customizável SCADA com telas para até 10 reservatórios e 10 elevatórias de água, tudo absolutamente sem custo.

Prévia dos artigos da série

Nesse artigo apresentamos a topologia básica dos sistemas municipais de água e descreve os principais tipos de estações componentes da telemetria, como reservatório, elevatórias, boosters, VRPs, macromedidores, ETAs e ETEs.

 


Esse artigo apresenta a lógica de intertravamento entre reservatórios e suas respectivas estações elevatórias, sensores hidráulicos e elétricos, e parâmetros de ajuste de funcionamento.

 


Esse artigo apresenta os equipamento e softwares envolvidos na composição do centro de controle do sistema de telemetria de água e esgoto.

 


Nesse artigo são abordados os rádios modem utilizados na composição do sistema de comunicação, topologias de rádios, análises de viabilidade de rádio enlace e fornecidas as planilhas utilizadas para o cálculo dos enlaces.

 


Apresentamos nesse artigo o projeto completo de painéis compostos por CLP, IHM, rádio modem e demais componentes para o controle e monitoração de reservatórios, elevatórias e demais estações remotas, incluindo os projetos elétricos completos e softwares de controle para download e utilização sem custo.

Abordamos nesse artigo os sensores de campo utilizados na telemetria do saneamento, tai como: transmissores de pressão, nível e vazão, multimedidores de grandezas elétricas, entre outros.

 


Esse artigo apresenta os CLPs utilizados na telemetria de água e esgoto, suas particularidades, detalhes de instalação e módulos interface para aquisição dos sinais dos sensores de campo e comando dos atuadores.

Esse artigo apresenta um software supervisório SCADA gratuito e disponibiliza  para download um template já configurado para um sistema de telemetria municipal composto por 10 reservatórios e 10 elevatórias pronto para utilizar e sem custo. O mesmo pode ser adaptado, reduzido ou ampliado pelo usuário e não tem custo.

 


Projeto completo de automação e telemetria de uma estação elevatória de água tratada com dois grupos de moto bombas.

São apresentados o painel de telemetria com esquemático, o Ladder e o Manual de Projeto e Utilização completos com link para download.

 

Neste artigo apresentamos o projeto completo de hardware e software para a automação, controle e telemetria de um reservatório de água tratada.

Leia também

 

Descrição geral do sensor DS18B20

 

O DS18B20 é um sensor de temperatura da Dallas/Maxim com saída digital programável de 9 a 12 bits. Contém também uma função de alarme, também programável, cujos dados são armazenados em uma área não volátil  de memória EEPROM.

A comunicação entre o microcontrolador e o sensor se dá sobre um barramento de um fio, do qual pode-se derivar sua alimentação (parasitic power).

A temperatura de operação é de -55 a +125°C, com uma precisão de ±0.5°C entre -10 e +85°C.

Cada unidade de DS18B20 contém um código serial único de 64 bits que permite o funcionamento de diversos sensores no mesmo barramento.

É disponível nos encapsulamentos TO-92 de três  pinos, e em SO e uSO com 8 pinos para montagem SMD.

O componente pode ser alimentado por tensão entre 3 e 5,5V com uma corrente de standby de menos de 3uA. A conversão de temperatura em 12 bits é realizada em 750 ms, enquanto a medição em 9 bits acontece em menos de 94 ms.

Estrutura interna do DS18B20

A figura a seguir apresenta o bloco diagrama do DS18B20.

Um sensor interno de temperatura gera uma tensão proporcional a temperatura, que é digitalizada e memorizada em dois bytes da memória scratchpad. Adicionalmente, a área de memória scratchpad permite o acesso aos registros de 1 byte de alarme alto a baixo de temperatura programáveis (TH e TL) e ao registro de configuração.

O registro de configuração permite ao usuário definir a resolução da conversão digital em 9, 10, 11 ou 12 bits. Esses 3 registros são copiados em memória não volátil EEPROM que conserva os dados armazenados na falta de energia. O dispositivo contém também um gerador de CRC que permite ao mestre verificar a integridade dos dados transmitidos. A ROM de 64 bits contém o código serial único do dispositivo.

O DS18B20 utiliza um barramento 1-Wire da Maxim que implementa a comunicação utilizando um único sinal (mais o GND). O barramento é open-drain e demanda um resistor de pull-up, pois todos os dispositivos ligados ao barramento são three-state ou open-drain. O microprocessador mestre identifica cada dispositivo por seu código único. Dado que o código possui 64 bits, o número possível de códigos é muito elevado.

A alimentação direta do barramento (parasitic poweré obtida derivando por um diodo a tensão de nível alto (estado de inatividade), e carregando um capacitor interno Cpp que fornece energia durante os momentos em que o barramento está em nível baixo. Essa função é ativada quando se liga o pino Vdd ao GND.

Medição de temperatura com o DS18B20

A funcionalidade básica do DS18B20 é a medição de temperatura com saída diretamente em digital.  A resolução do sensor de temperatura é configurada pelo usuário em 9, 10, 11 e 12 bits, correspondendo a incrementos 0,5 °C, 0.25 °C, 0.125 °C, e 0,0625 °C por bit respectivamente.

A resolução pré-definida de fábrica é 12 bits e o DS18B20 é posto em um estado de baixo consumo.

Para realizar uma medição de temperatura, o mestre deve enviar um comando Convert T [44h]. Após a conversão, o dado resultante é armazenado em dois bytes do registro scratchpad e o DS18B20 retorna ao estado inativo. O mestre deverá solicitar uma cópia do scratchpad para ler a temperatura.

Se o DS18B20 é alimentado com uma tensão externa ao barramento, o mestre pode enviar um “read time slot” (função descrita mais adiante) após o comando Convert T, e o DS18B20 responderá transmitindo 0 enquanto a conversão da temperatura está um curso e 1 quando a conversão é concluída.

Se o DS18D20 é alimentado pelo barramento, esta técnica de comunicação não pode ser utilizada pois o barramento deve ser enviado para nível alto por um pull-up forte durante toda a conversão de temperatura de forma a garantir a alimentação com corrente suficiente. Os requisitos do barramento para utilizar a alimentação parasita são detalhados mais adiante.

A temperatura é calibrada em graus Celsius. Para aplicações em graus Fahrenheit é necessário utilizar uma tabela ou rotina de conversão. A informação de temperatura é armazenada como um número decimal em complemento de dois (sign-extended two’s complement) no registro de temperatura.

Os bits de sinal (S), indicam se a temperatura é positiva ou negativa: para o números positivos, S = 0 e para os números negativos, S = 1.

Se o DS18B20 é configurado para a resolução de 12 bits, todo o registro de temperatura conterá dados válidos. Para a resolução de 11 bits, o bit 0 é indefinido. Na resolução de 10 bits, os bits 0 e 1 serão indefinidos, e na resolução de 9 bits, os bits 0, 1 e 2 serão indefinidos. A tabela seguinte fornece exemplos de dados na saída digital e suas correspondentes temperaturas de leitura para as resoluções de conversão em 12 bits.

Quando o dispositivo é alimentado, contém o valor inicial correspondente a +85°C.


Este módulo possui quatro canais de leitura de sensores DS18B20 ou SHT11 de temperatura e umidade. As precisões de conversão são de 9 a 12 bits.


Sinalização de alarme no DS18B20

Ao final da conversão AD, o valor de temperatura é comparado com dois valores de ativação de alarme definidos pelo usuário e armazenados nos bytes TH e TL.

O bit de sinal (S) indica se o valor é positivo ou negativo. Para os números positivos, S = 0 e para os números negativos, S = 1. Os registros TH e TL estão em memória não volátil (EEPROM) de forma a conservar os dados quando o dispositivo está desenergizado. Se pode acessar TH e TL através dos bytes 2 e 3 da memória scratchpad.

Apenas os 8 bits de 11 a 4 do registro de temperatura são utilizados na comparação com TH e TL (que são registros de 8 bits). Se a temperatura medida é inferior ou igual a TL, ou superior ou igual a TH, um flag de alarme é acionado internamente no DS18B20. Este flag é atualizado após cada medição da temperatura; portanto, se a condição de alarme cessa, o flag será desligado após a próxima conversão de temperatura.

O dispositivo mestre pode controlar o estado de sinalização de alarme de todos os DS18B20 presentes no barramento enviando um comando de busca de alarme [ECh]. Dispositivos eventualmente com a flag de alarme acionada responderão ao comando. Se uma condição de alarme e os ajustes de TH ou TL são alteradas, uma nova conversão de temperatura deve ser feita para validar a condição de alarme.

Alimentação do DS18B20

O DS18B20 pode ser alimentado por uma fonte externa pelo pino VDD.

Outra modalidade é a alimentação “parasita”, que permite funcionar sem um alimentação externa local.

Essa modalidade é útil em aplicações que exigem a monitoração de uma temperatura remota ou de limitação de espaço. Quando o DS18B20 é usado na modalidade de alimentação “parasita”, o pino VDD deve ser ligado à massa.

Contudo, para poder usufruir o desempenho máximo do dispositivo, é necessário utilizar um MOSFET como um pull-up forte, o qual deve ser colocado no estado de condução durante a fase de conversão, de forma a fornecer corrente suficiente de alimentação. Isso exige um sinal adicional de comando no dispositivo mestre. O pull-up deve ser desligado durante a fase na qual um dispositivo escravo ou o mestre acessam o barramento (sem o que, aconteceria um caminho direto entre o VCC e o GND através do  line driver  do dispositivo que acessa o barramento).

Identificador a 64 bits

Cada DS18B20 contém um código identificador único de 64 bits memorizado na ROM.

Os 8 bits menos significativos do código ROM contém o código da família do DS18B20 que é 28h.  Os 48 bits subsequentes contém o número de série único. Esse número é inserido no momento da fabricação do chip e é diferente de um componente para outro, portanto, cada escravo no barramento 1-Wire possui um identificador próprio e diferente de qualquer outro. Esta solução permite compor o barramento com vários dispositivos, que o mestre irá acessar por seus identificadores.

Os 8 bits mais significativos contém um código de checagem cíclica redundante (CRC) calculado com base nos 56 bits do código ROM.

Memória do DS18B20

A memória do DS18B20 é organizada como na figura que segue:

A memória é constituída de uma área SRAM adicionada de uma área EEPROM para os registros altos e baixos de ativação dos alarmes (TH e TL) e registro de configuração.

Observe-se que se a função de alarme não for utilizada, os registros TH e TL podem servir de memória de uso geral não volátil, caso em que não se deverá considerar o flag de alarme.

Todos os comandos relativos à memória são descritos em detalhes na seção Comandos.

Detalhe dos registros:

  • Byte 0 byte 1 do scratchpad contém o LSB e MSB do registro de temperatura, respectivamente. Esses byte são apenas de leitura.
  • Byte 2 3 fornecem acesso aos registros TH e TL.
  • Byte 4 contém os dados do registro de configuração.
  • Byte 56, e 7 são reservados para uso interno e não podem ser sobre escritos.
  • Byte 8 é de leitura apenas e contém o código CRC para os bytes de 0 a 7 do scratchpad.

Para escrever nos bytes 2, 3 e 4 se utiliza o comando Write [4Eh]; os dados devem ser transmitidos ao DS18B20 iniciando com o bit menos significativo do byte 2.

Para verificar a integridade dos dados se pode reler o scratchpad com o comando Read Scratchpad [BEh]. Durante a leitura, os dados são transferidos pelo barramento 1-Wire a partir do bit menos significativodo byte 0. Para transferir o TH, o TL e os dados de configuração do scratchpad para EEPROM, o mestre deve enviar o comando Copy Scratchpad [48h].

Os dados na EEPROM são mantidos quando o dispositivo está desligado; quando o dispositivo é alimentado, os dados da EEPROM são carregados nas respectivas posições do scratchpad.

Os dados podem também ser recarregados da EEPROM para o scratchpad a qualquer momento, utilizando o comando Recall E2 [B8h]. Dado que a operação exige um certo tempo, o mestre pode enviar a intervalos de tempo uma solicitação de leitura e o DS18B20 informará o estado transmitindo 0 enquanto a solicitação está em curso e 1 quando a solicitação tiver sido concluída.

O registro de configuração do DS18B20

O byte 4 da memória scratchpad contém o registro de configuração, que é organizado como segue:

O usuário pode ajustar a resolução de conversão utilizando os bits R0 e R1 neste registro.

O bit 7 e os bits 0 a 4 do registro de configuração são reservados para uso interno do dispositivo.

Observe-se que a resolução influi no tempo de conversão: quanto maior a resolução, maior o tempo necessário para completar a conversão.

O valor default na energização desses bits é R0=1 e R1=1 (resolução de 12 bits).

CRC

O código ROM CRC é calculado sobre os primeiros 56 bits do código ROM e é armazenado no byte mais significativo da memória ROM. O código CRC scratchpad é calculado sobre os dados memorizados no scratchpad e, por consequência, é alterado quando os dados no scratchpad  mudam.

Os códigos CRC fornecem ao mestre um meio de validação quando os dados são enviados pelo DS18B20. Para verificar a validade da transmissão, o mestre deve recalcular o CRC dos dados recebidos e então comparar o valor recebido com o valor calculado. Se o valor de CRC calculado for igual ao valor recebido, os dados foram recebidos sem erro. A validação do CRC e a decisão de prosseguir com a comunicação são determinações exclusivas do mestre. Não existe internamente ao DS18B20 um circuito que impeça a comunicação de comandos do mestre se houver falhas de CRC. A função polinomial equivalente ao CRC é:

CRC = X8 + X5 +  X4 + 1

Esquematicamente:

Se trata de um registro de deslocamento binário (shift register) e três portas XOR; os bits do registro de deslocamento são inicializados em zero. Inicia-se com o bit menos significativo do código ROM ou o bit menos significativo no scratchpad, então um bit por vez é movido no registro de deslocamento. Após a movimentação no bit 56 da ROM ou no bit mais significativo do byte 7 do scratchpad o CRC estará calculado.

Hardware do barramento 1-Wire

O barramento 1-Wire tem, por definição, apenas uma linha de dados. Cada dispositivo (mestre ou escravo) se conecta ao barramento por uma interface open-drain ou tri-state. Isso permite a cada dispositivo liberar o barramento quando não estão transmitindo dados de forma que o barramento possa ser utilizado por outros dispositivos. A porta 1-Wire do DS18B20 é open-drain com um circuito interno equivalente àquele mostrado na figura seguinte.

Na forma mais simples, o barramento 1-Wire necessita apenas uma porta I/O do microcontrolador, ajustável como saída ou entrada e um resistor de pull-up externo de cerca de 5 kΩ; nesse modo, o estado de inatividade é nível alto. Se o barramento form mantido baixo por mais de 480μs, todos os dispositivos de barramento serão resetados.

O dispositivo sem o emprego de um pull-up forte deve ser alimentado por uma alimentação própria.

O pull-up forte demanda um I/O adicional do microprocessador para comandar o MOSFET e instruções adicionais ao programa de controle. Adicionalmente, é necessário garantir que o MOSFET de pull-up seja desabilitado durante a fase de comunicação, de forma a evitar um curto circuito entre VDD e GND através dos semicondutores internos aos dispositivos conectados ao barramento quando os mesmos levam o barramento ao nível baixo.

O acesso ao DS18B20

A sequência para o acesso é a seguinte:

  1. Inicialização;
  2. Comando ROM (seguido de uma troca qualquer de dados quando solicitados);
  3. Comando Função (seguido de uma troca qualquer de dados quando solicitados).

É muito importante seguir esta sequência em cada comunicação, visto que o DS18B20 não responde se um passo da sequência faltar. As exceções a esta regra são os comando Busca ROM [F0h] e Busca Alarme [ECh]. Após a emissão de um desses comandos, o mestre deve retornar ao passo 1 da sequência.

Inicialização do DS18B20

Todas as comunicações sobre o barramento 1-Wire iniciam com uma sequência de inicialização. A sequência de inicialização é constituída de um impulso de reset transmitido pelo mestre e seguido de um impulso de presença transmitido pelos escravos. O impulso de presença permite ao mestre saber que dispositivos escravos presentes no barramento estão prontos a operar.

Comandos ROM

Após o mestre liberar o impulso de presença, poderá enviar um comando ROM. Esses comandos permitem identificar um dispositivo específico (caso estejam presentes mais de um no barramento) determinando também quantos e quais dispositivos estão ligados ou se um dispositivo possui registro de alarme ativo. Existem cinco comandos ROM, e cada comando possui 8 bits. O mestre deve enviar um comando ROM apropriado antes de um comando de função. Um diagrama de fluxo do funcionamento dos comandos ROM é mostrado no anexo A.

Os comandos ROM são os seguintes:

Busca ROM [F0h]

Quando um sistema é acessado inicialmente, o mestre deve identificar os códigos ROM de todos os dispositivos escravos no barramento, para determinar o número de escravos e tipos de dispositivos. O mestre descobre os códigos ROM através de um processo de eliminação que exige um ciclo de Busca ROM (isso é, de um comando Busca ROM seguido de uma troca de dados) o número de vezes necessário para identificar todos os dispositivos presentes.

Se apenas um dispositivo está presente no barramento, o comando Lê ROM pode ser utilizado no lugar do comando Busca ROM.

Uma explicação completa do procedimento de Busca ROM está contido no documento iButton® no Standards em www.maxim-ic.com/ibuttonbook.

Após cada ciclo de Busca ROM, o mestre deve retornar ao passo 1 (inicialização) na sequência da transação.

Lê ROM [33h]

Este comando pode ser utilizado apenas quando existe apenas um escravo no barramento. Permite ao mestre do barramento ler o código ROM de 64 bits do escravo sem utilizar o procedimento de Busca ROM. Se este comando é utilizado quando estão presentes mais de um dispositivo no barramento, uma colisão de dados irá acontecer pois todos os dispositivos irão responder ao mesmo tempo.

Match ROM [55h]

O comando seguido de uma sequência de 64 bits de código ROM permite ao mestre comunicar com um dispositivo específico quando se tem um barramento multidrop  ou single-loop. Apenas o escravo que corresponde exatamente a sequência transmitida responderá ao comando função enviado pelo mestre; todos os outros dispositivos no barramento aguardarão um impulso de reset.

Skip ROM [CCh]

O mestre pode utilizar este comando para acessar todos os dispositivos do barramento simultaneamente sem enviar nenhuma informação de código ROM. Por exemplo, o mestre pode ordenar a todos DS18B20 do barramento a executar uma conversão de temperatura simultaneamente enviando um comando SKIP ROM seguido de um comando Converter T [44h].

Observe-se que o comando Lê Scratchpad [BEh] pode seguir o comando Skip ROM apenas se existir apenas um dispositivo escravo no barramento. Nesse caso, se poupa tempo permitindo ao mestre ler do escravo sem ter de enviar um código ROM de 64 bits. Um comando Skip ROM seguido de um comando de leitura scratchpad causará uma colisão de dados no barramento se existirem mais de um dispositivo escravo transmitindo dados ao mesmo tempo.

Busca Alarme [ECh]

O funcionamento deste comando é idêntico ao funcionamento do comando Busca ROM, salvo ao fato que responderão apenas os escravos com um flag de alarme ativo. Este comando permite ao mestre mapear os eventuais DS18B20 que tenham sinalizado uma condição de alarme seguido a conversão de temperatura mais recente. Após cada ciclo de Busca Alarme, o mestre deve retornar ao passo 1 (inicialização) na sequência de transações.

Comandos de Função

Após o mestre do barramento ter utilizado um Comando ROM para acessar um DS18B20 com o qual deseja comunicar-se, o mestre pode enviar um comando função. Esses comandos permitem ao mestre escrever e ler da memória scratchpad do DS18B20, iniciar conversões de temperatura e determinar o modo de alimentação. Os comandos função descritos a seguir tem o diagrama de fluxo apresentado no anexo B.

Os Comandos de Função são os seguintes:Convert T [44h]

Este comando inicia uma conversão única de temperatura. Após a conversão, o dado resultante é memorizado no registro de temperatura da memória scratchpad e o DS18B20 retorna ao estado de inatividade em baixo consumo.

Cuidados com a alimentação:

  • Se o dispositivo estiver utilizando a modalidade de alimentação “parasita”, dentro de  10μs (máx) após o envio deste comando, o mestre deve ativar um pull-up forte no barramento 1-Wire pelo tempo que durar a conversão (tCONV).
  • Se o DS18B20 é alimentado por uma fonte externa, o mestre pode enviar em intervalos de tempo, impulsos de leitura após o comando Convert T e o DS18B20 responderá transmitindo 0 se a conversão da temperatura estiver em curso e 1 quando a conversão for concluída. Em modalidade de alimentação “parasita” esta técnica de comunicação não pode ser utilizada enquanto o barramento está ligado ao VCC pelo pull-up forte durante a conversão.

Write Scratchpad [4Eh]

Este comando permite ao mestre escrever 3 bytes de dados no scratchpad do DS18B20. O primeiro byte dos dados é escrito no registro TH (byte 2 do Scratchpad), o segundo byte é escrito no registro TL (byte 3), e o terceiro byte é escrito no registro de configuração (byte 4). Os bytes devem ser transmitidos iniciando pelo bit menos significativo. A escrita dos três bytes deve ser completada antes de um reset do barramento ou os dados poderão ser corrompidos.

Read Scratchpad [BEh]

Este comando permite ao mestre ler o conteúdo do scratchpad. A transferência dos dados inicia con o bit menos significativo do byte 0 e continua até o nono byte ( 8 bytes + CRC). o mestre pode enviar um reset para interromper a leitura a qualquer momento, se for necessária apenas parte dos dados.

Copy Scratchpad [48h]

Este comando copia o conteúdo dos bytes TH, TL e registro de configuração (byte 2, 3 e 4) do scratchpad para a memória EEPROM. Se o dispositivo utiliza a alimentação “parasita”, dentro de 10μs (máx) após a emissão deste comando, o mestre deve ativar o pull-up forte sobre o barramento 1-Wire por 10 ms (min).

Recall E2 [B8h]

Este comando solicita os valores de alarme (TH e TL) e dados de configuração da memória EEPROM para o scratchpad. O dispositivo mestre pode enviar a intervalos de tempo, solicitações de leitura, e o DS18B20 indica o estado transmitindo 0 enquanto a solicitação estiver em curso e 1 quando a mesma for concluída. A operação de solicitação acontece automaticamente na energização, então os dados validos são disponíveis no scratchpad assim que o dispositivo é alimentado.

Read Power Supply [B4H]

Este comando permite ao mestre saber se algum DS18B20 no barramento utiliza alimentação “parasita”. Durante o intervalo de tempo de leitura, os DS18B20 alimentados pelo modo “parasita” levarão o barramento para nível baixo, enquanto que aqueles alimentados com fonte externa deixarão o barramento em nível alto. Isto serve para identificar quando é necessário ativar o pull-up forte.

Exemplos de comunicação entre mestre e DS18B20

Este é o procedimento no caso de existirem mais de um DS18B20 no barramento:

Mestre     Dado Função 
Tx Reset O mestre envia um impulso de reset
Rx Presença DS18B20 responde com um impulso de presença
Tx 55h O mestre envia o comando Match ROM
Tx 64 bit ROM code O mestre envia o código ROM do dispositivo desejado
Tx 44h O mestre envia o comando Convert T
Tx DQ alto E’ solicitado o pull-up se existirem dispositivos com alimentação parasita
Tx Reset O mestre envia um impulso de reset
Rx Presença DS18B20 responde com um impulso de presença
Tx 55h O mestre envia o comando Match ROM
Tx 64 bit ROM code O mestre envia o código ROM do dispositivo desejado
Tx BEh O mestre envia o comando Read Scratchpad
Rx 9 data bytes O escravo envia o conteúdo do scratchpad + CRC

É tarefa do mestre verificar se o CRC recebido está correto.

Se existe apenas um DS18B20 no barramento e são solicitados os registros internos:

Mestre   Dado Função
Tx Reset O mestre envia um impulso de reset
Rx Presença DS18B20 responde com um impulso de presença
Tx CCh O mestre envia um comando Skip ROM
Tx 4Eh O mestre envia um comando Write Scratchpad
Tx 3 bytes O mestre envia os 3 bytes para o scratchpad
Tx Reset O mestre envia impulso de reset
Rx Presença DS18B20 responde com o impulso de presença
Tx CCh O mestre envia o comando Skip ROM
Tx BEh O mestre envia o comando Read Scratchpad
Rx 9 data bytes O escravo envia o conteúdo do scratchpad junto com o CRC
Tx Reset O mestre envia o impulso de reset
Rx Presença DS18B20 responde com o impulso de presença
Tx CCh O mestre envia o comando Skip ROM
Tx 48h O mestre envia o comando Copy Scratchpad
Tx DQ alto É necessário o pull-up o DS18B20 a alimentação é “parasita”

Nota:

  1. É tarefa do mestre verificar se o CRC recebido está correto e tomar a ação necessária.
  2. Durante o ajuste dos registros internos, no seguimento do comando Write Scratchpad devem ser transmitidos os três bytes, mesmo que os alarmes não sejam necessários a aplicação.

Se existir apenas um DS18B20 no barramento e é solicitada a leitura da temperatura:

Mestre   Dados Função
Tx Reset O mestre envia o impulso de reset
Rx Presença DS18B20 responde com o impulso de presença
Tx CCh O mestre envia um comando Skip ROM
Tx 44h O mestre envia o comando Convert T
Tx DQ alto É necessário acionar o pull-up forte se DS18B20 a alimentação é “parasita”.
Deve-se aguardar o tempo de conversão relativo a resolução ajustada.
Tx 3 bytes O mestre envia os três bytes ao scratchpad
Tx Reset O mestre envia um impulso de reset
Rx Presença DS18B20 responde com o impulso de presença
Tx CCh O mestre envia o comando Skip ROM
Tx BEh O mestre envia o comando Read Scratchpad
Rx 9 data bytes O escravo envia o conteúdo do scratchpad junto com o CRC
Tx Reset O mestre envia o impulso de reset

O mestre pode emitir um reset para interromper a leitura a qualquer momento se for necessária apenas parte dos dados, de forma que, se apenas a leitura da temperatura é desejada, se pode interromper a comunicação após os primeiros dois bytes. Deve-se considerar que a falta do CRC na comunicação reduz a segurança sobre a integridade dos dados recebido, principalmente se a fiação estiver sujeita a ruídos interferentes.

Barramento 1-Wire

O DS18B20 utiliza um rigoroso protocolo de comunicação 1-Wire para garantir a integridade dos dados. Diversos tipos de sinalizações são definidas neste protocolo: reset, impulso de presença, escrita de 0 e 1, leitura de 0 e 1. O barramento mestre executa todos as sinalizações, com exceção do impulso de presença que é emitido pelo escravo em resposta ao reset.

Reset e Impulso de Presença.

Todas as comunicações com o DS18B20 iniciam com uma sequência de reset, que consiste de um impulso enviado pelo mestre e respondido com um impulso de presença pelo DS18B20.

Quando o DS18B20 envia o impulso de presença em resposta ao reset, indica para o mestre que está presente no barramento e pronto para funcionar. O impulso de reset força o barramento ao nível baixo por um mínimo de 480 μs. O mestre então libera o barramento que passa ao modo de recepção (RX). Quando o barramento é liberado, a resistência de pull-up leva o barramento para nível alto. Quando o DS18B20 detecta a subida do nível, aguarda de 15μs a 60μs e então transmite um impulso de presença, colocando o barramento em nível baixo por um tempo entre 60μs e 240μs.

Se estiverem presentes mais DS18B20, todos responderão com um impulso de presença. É tarefa do mestre analisar o barramento e identificar os dispositivos conectados.

Intervalos de escrita – Write time slots

Existem dois tipos de escrita: “Write 1”  e “Write 0”. O mestre utiliza intervalos diferente de tempo para escrever 1 e 0. Todos os intervalo de escrita devem ter no mínimo 60μs de duração, com um tempo de recuperação mínimo de 1μs entre intervalos. Ambos os tipos de intervalos de tempo de escrita são executados pelo mestre levando o barramento para nível baixo.

Para gerar um intervalo de tempo de escrita 1, após ter colocado o barramento em nível baixo, o mestre deve liberar em 15μs. Quando o barramento é liberado, o resistor de pull-up leva o barramento para nível alto. Para gerar um intervalo de tempo de escrita 0, após ter colocado o barramento em nível baixo, o mestre deve continuar a manter o barramento em nível baixo pelo tempo mínimo de 60μs. O DS18B20 amostra o barramento durante uma janela de tempo que dura de 15μs a 60μs. Se o barramento estiver em nível alto dentro da janela de amostragem, um 1 é escrito no DS18B20. Se a linha estiver em nível baixo, um 0 é escrito.

Intervalo de leitura – Read Time Slots

O mestre pode gerar, a intervalos de tempo, impulsos de leitura logo após a emissão de um comando Read Scratchpad [BEh] ou Read Power [B4H], de modo que o DS18B20 possa fornecer os dados solicitados. Além disso, o mestre pode gerar intervalos de leitura após ter emitido o comando Convert T [44h] ou o Recall E2 [B8h] para saber o estado de operação. Todos os intervalos de leitura deverão ter no mínimo 60μs, com um tempo mínimo de recuperação de 1μs entre intervalos. Um intervalo de tempo de leitura é executado pelo mestre colocando o barramento em nível baixo por um mínimo de 1μs e depois liberando o barramento. Após o mestre ter executado o intervalo de leitura, o DS18B20 começará a transmitir um 1 ou um 0 no barramento: um 1 é executado liberando o barramento ao nível alto e o 0 é executado levando o barramento a nível baixo.

Quando transmite o 0, o DS18B20 libera o barramento até o término do intervalo de tempo; o nível do barramento é levado para alto pelo pull-up.

Os dados enviados pelo DS18B20 são validos por 15μs após a borda de descida do intervalo de tempo da leitura. Portanto, o mestre deve liberar o barramento e então amostrar o estado dentro do intervalo de 15μs desde o início do intervalo.

A figura seguinte mostra que a soma de TINIT, TRC e TSAMPLE deve ser inferior a 15μs para um intervalo de tempo de leitura.

A figura seguinte mostra que a marge de temporização do sistema é maximizada mantendo TINIT e TRC o mais breves possível e posicionando o tempo de amostragem do mestre durante o intervalo de tempo de leitura até o fim do período de 15μs.

Anexo A – ROM Command Flowchart

Anexo B – Function Command Flowchart.

Leia também

Descrição geral do sensor DS18B20

 

O DS18B20 é um sensor de temperatura da Dallas/Maxim com saída digital programável de 9 a 12 bits. Contém também uma função de alarme, também programável, cujos dados são armazenados em uma área não volátil  de memória EEPROM.

A comunicação entre o microcontrolador e o sensor se dá sobre um barramento de um fio, do qual pode-se derivar sua alimentação (parasitic power).

A temperatura de operação é de -55 a +125°C, com uma precisão de ±0.5°C entre -10 e +85°C.

Cada unidade de DS18B20 contém um código serial único de 64 bits que permite o funcionamento de diversos sensores no mesmo barramento.

É disponível nos encapsulamentos TO-92 de três  pinos, e em SO e uSO com 8 pinos para montagem SMD.

O componente pode ser alimentado por tensão entre 3 e 5,5V com uma corrente de standby de menos de 3uA. A conversão de temperatura em 12 bits é realizada em 750 ms, enquanto a medição em 9 bits acontece em menos de 94 ms.

Estrutura interna do DS18B20

A figura a seguir apresenta o bloco diagrama do DS18B20.

Um sensor interno de temperatura gera uma tensão proporcional a temperatura, que é digitalizada e memorizada em dois bytes da memória scratchpad. Adicionalmente, a área de memória scratchpad permite o acesso aos registros de 1 byte de alarme alto a baixo de temperatura programáveis (TH e TL) e ao registro de configuração.

O registro de configuração permite ao usuário definir a resolução da conversão digital em 9, 10, 11 ou 12 bits. Esses 3 registros são copiados em memória não volátil EEPROM que conserva os dados armazenados na falta de energia. O dispositivo contém também um gerador de CRC que permite ao mestre verificar a integridade dos dados transmitidos. A ROM de 64 bits contém o código serial único do dispositivo.

O DS18B20 utiliza um barramento 1-Wire da Maxim que implementa a comunicação utilizando um único sinal (mais o GND). O barramento é open-drain e demanda um resistor de pull-up, pois todos os dispositivos ligados ao barramento são three-state ou open-drain. O microprocessador mestre identifica cada dispositivo por seu código único. Dado que o código possui 64 bits, o número possível de códigos é muito elevado.

A alimentação direta do barramento (parasitic poweré obtida derivando por um diodo a tensão de nível alto (estado de inatividade), e carregando um capacitor interno Cpp que fornece energia durante os momentos em que o barramento está em nível baixo. Essa função é ativada quando se liga o pino Vdd ao GND.

Medição de temperatura com o DS18B20

A funcionalidade básica do DS18B20 é a medição de temperatura com saída diretamente em digital.  A resolução do sensor de temperatura é configurada pelo usuário em 9, 10, 11 e 12 bits, correspondendo a incrementos 0,5 °C, 0.25 °C, 0.125 °C, e 0,0625 °C por bit respectivamente.

A resolução pré-definida de fábrica é 12 bits e o DS18B20 é posto em um estado de baixo consumo.

Para realizar uma medição de temperatura, o mestre deve enviar um comando Convert T [44h]. Após a conversão, o dado resultante é armazenado em dois bytes do registro scratchpad e o DS18B20 retorna ao estado inativo. O mestre deverá solicitar uma cópia do scratchpad para ler a temperatura.

Se o DS18B20 é alimentado com uma tensão externa ao barramento, o mestre pode enviar um “read time slot” (função descrita mais adiante) após o comando Convert T, e o DS18B20 responderá transmitindo 0 enquanto a conversão da temperatura está um curso e 1 quando a conversão é concluída.

Se o DS18D20 é alimentado pelo barramento, esta técnica de comunicação não pode ser utilizada pois o barramento deve ser enviado para nível alto por um pull-up forte durante toda a conversão de temperatura de forma a garantir a alimentação com corrente suficiente. Os requisitos do barramento para utilizar a alimentação parasita são detalhados mais adiante.

A temperatura é calibrada em graus Celsius. Para aplicações em graus Fahrenheit é necessário utilizar uma tabela ou rotina de conversão. A informação de temperatura é armazenada como um número decimal em complemento de dois (sign-extended two’s complement) no registro de temperatura.

Os bits de sinal (S), indicam se a temperatura é positiva ou negativa: para o números positivos, S = 0 e para os números negativos, S = 1.

Se o DS18B20 é configurado para a resolução de 12 bits, todo o registro de temperatura conterá dados válidos. Para a resolução de 11 bits, o bit 0 é indefinido. Na resolução de 10 bits, os bits 0 e 1 serão indefinidos, e na resolução de 9 bits, os bits 0, 1 e 2 serão indefinidos. A tabela seguinte fornece exemplos de dados na saída digital e suas correspondentes temperaturas de leitura para as resoluções de conversão em 12 bits.

Quando o dispositivo é alimentado, contém o valor inicial correspondente a +85°C.


Este módulo possui quatro canais de leitura de sensores DS18B20 ou SHT11 de temperatura e umidade. As precisões de conversão são de 9 a 12 bits.


Sinalização de alarme no DS18B20

Ao final da conversão AD, o valor de temperatura é comparado com dois valores de ativação de alarme definidos pelo usuário e armazenados nos bytes TH e TL.

O bit de sinal (S) indica se o valor é positivo ou negativo. Para os números positivos, S = 0 e para os números negativos, S = 1. Os registros TH e TL estão em memória não volátil (EEPROM) de forma a conservar os dados quando o dispositivo está desenergizado. Se pode acessar TH e TL através dos bytes 2 e 3 da memória scratchpad.

Apenas os 8 bits de 11 a 4 do registro de temperatura são utilizados na comparação com TH e TL (que são registros de 8 bits). Se a temperatura medida é inferior ou igual a TL, ou superior ou igual a TH, um flag de alarme é acionado internamente no DS18B20. Este flag é atualizado após cada medição da temperatura; portanto, se a condição de alarme cessa, o flag será desligado após a próxima conversão de temperatura.

O dispositivo mestre pode controlar o estado de sinalização de alarme de todos os DS18B20 presentes no barramento enviando um comando de busca de alarme [ECh]. Dispositivos eventualmente com a flag de alarme acionada responderão ao comando. Se uma condição de alarme e os ajustes de TH ou TL são alteradas, uma nova conversão de temperatura deve ser feita para validar a condição de alarme.

Alimentação do DS18B20

O DS18B20 pode ser alimentado por uma fonte externa pelo pino VDD.

Outra modalidade é a alimentação “parasita”, que permite funcionar sem um alimentação externa local.

Essa modalidade é útil em aplicações que exigem a monitoração de uma temperatura remota ou de limitação de espaço. Quando o DS18B20 é usado na modalidade de alimentação “parasita”, o pino VDD deve ser ligado à massa.

Contudo, para poder usufruir o desempenho máximo do dispositivo, é necessário utilizar um MOSFET como um pull-up forte, o qual deve ser colocado no estado de condução durante a fase de conversão, de forma a fornecer corrente suficiente de alimentação. Isso exige um sinal adicional de comando no dispositivo mestre. O pull-up deve ser desligado durante a fase na qual um dispositivo escravo ou o mestre acessam o barramento (sem o que, aconteceria um caminho direto entre o VCC e o GND através do  line driver  do dispositivo que acessa o barramento).

Identificador a 64 bits

Cada DS18B20 contém um código identificador único de 64 bits memorizado na ROM.

Os 8 bits menos significativos do código ROM contém o código da família do DS18B20 que é 28h.  Os 48 bits subsequentes contém o número de série único. Esse número é inserido no momento da fabricação do chip e é diferente de um componente para outro, portanto, cada escravo no barramento 1-Wire possui um identificador próprio e diferente de qualquer outro. Esta solução permite compor o barramento com vários dispositivos, que o mestre irá acessar por seus identificadores.

Os 8 bits mais significativos contém um código de checagem cíclica redundante (CRC) calculado com base nos 56 bits do código ROM.

Memória do DS18B20

A memória do DS18B20 é organizada como na figura que segue:

A memória é constituída de uma área SRAM adicionada de uma área EEPROM para os registros altos e baixos de ativação dos alarmes (TH e TL) e registro de configuração.

Observe-se que se a função de alarme não for utilizada, os registros TH e TL podem servir de memória de uso geral não volátil, caso em que não se deverá considerar o flag de alarme.

Todos os comandos relativos à memória são descritos em detalhes na seção Comandos.

Detalhe dos registros:

  • Byte 0 byte 1 do scratchpad contém o LSB e MSB do registro de temperatura, respectivamente. Esses byte são apenas de leitura.
  • Byte 2 3 fornecem acesso aos registros TH e TL.
  • Byte 4 contém os dados do registro de configuração.
  • Byte 56, e 7 são reservados para uso interno e não podem ser sobre escritos.
  • Byte 8 é de leitura apenas e contém o código CRC para os bytes de 0 a 7 do scratchpad.

Para escrever nos bytes 2, 3 e 4 se utiliza o comando Write [4Eh]; os dados devem ser transmitidos ao DS18B20 iniciando com o bit menos significativo do byte 2.

Para verificar a integridade dos dados se pode reler o scratchpad com o comando Read Scratchpad [BEh]. Durante a leitura, os dados são transferidos pelo barramento 1-Wire a partir do bit menos significativodo byte 0. Para transferir o TH, o TL e os dados de configuração do scratchpad para EEPROM, o mestre deve enviar o comando Copy Scratchpad [48h].

Os dados na EEPROM são mantidos quando o dispositivo está desligado; quando o dispositivo é alimentado, os dados da EEPROM são carregados nas respectivas posições do scratchpad.

Os dados podem também ser recarregados da EEPROM para o scratchpad a qualquer momento, utilizando o comando Recall E2 [B8h]. Dado que a operação exige um certo tempo, o mestre pode enviar a intervalos de tempo uma solicitação de leitura e o DS18B20 informará o estado transmitindo 0 enquanto a solicitação está em curso e 1 quando a solicitação tiver sido concluída.

O registro de configuração do DS18B20

O byte 4 da memória scratchpad contém o registro de configuração, que é organizado como segue:

O usuário pode ajustar a resolução de conversão utilizando os bits R0 e R1 neste registro.

O bit 7 e os bits 0 a 4 do registro de configuração são reservados para uso interno do dispositivo.

Observe-se que a resolução influi no tempo de conversão: quanto maior a resolução, maior o tempo necessário para completar a conversão.

O valor default na energização desses bits é R0=1 e R1=1 (resolução de 12 bits).

CRC

O código ROM CRC é calculado sobre os primeiros 56 bits do código ROM e é armazenado no byte mais significativo da memória ROM. O código CRC scratchpad é calculado sobre os dados memorizados no scratchpad e, por consequência, é alterado quando os dados no scratchpad  mudam.

Os códigos CRC fornecem ao mestre um meio de validação quando os dados são enviados pelo DS18B20. Para verificar a validade da transmissão, o mestre deve recalcular o CRC dos dados recebidos e então comparar o valor recebido com o valor calculado. Se o valor de CRC calculado for igual ao valor recebido, os dados foram recebidos sem erro. A validação do CRC e a decisão de prosseguir com a comunicação são determinações exclusivas do mestre. Não existe internamente ao DS18B20 um circuito que impeça a comunicação de comandos do mestre se houver falhas de CRC. A função polinomial equivalente ao CRC é:

CRC = X8 + X5 +  X4 + 1

Esquematicamente:

Se trata de um registro de deslocamento binário (shift register) e três portas XOR; os bits do registro de deslocamento são inicializados em zero. Inicia-se com o bit menos significativo do código ROM ou o bit menos significativo no scratchpad, então um bit por vez é movido no registro de deslocamento. Após a movimentação no bit 56 da ROM ou no bit mais significativo do byte 7 do scratchpad o CRC estará calculado.

Hardware do barramento 1-Wire

O barramento 1-Wire tem, por definição, apenas uma linha de dados. Cada dispositivo (mestre ou escravo) se conecta ao barramento por uma interface open-drain ou tri-state. Isso permite a cada dispositivo liberar o barramento quando não estão transmitindo dados de forma que o barramento possa ser utilizado por outros dispositivos. A porta 1-Wire do DS18B20 é open-drain com um circuito interno equivalente àquele mostrado na figura seguinte.

Na forma mais simples, o barramento 1-Wire necessita apenas uma porta I/O do microcontrolador, ajustável como saída ou entrada e um resistor de pull-up externo de cerca de 5 kΩ; nesse modo, o estado de inatividade é nível alto. Se o barramento form mantido baixo por mais de 480μs, todos os dispositivos de barramento serão resetados.

O dispositivo sem o emprego de um pull-up forte deve ser alimentado por uma alimentação própria.

O pull-up forte demanda um I/O adicional do microprocessador para comandar o MOSFET e instruções adicionais ao programa de controle. Adicionalmente, é necessário garantir que o MOSFET de pull-up seja desabilitado durante a fase de comunicação, de forma a evitar um curto circuito entre VDD e GND através dos semicondutores internos aos dispositivos conectados ao barramento quando os mesmos levam o barramento ao nível baixo.

O acesso ao DS18B20

A sequência para o acesso é a seguinte:

  1. Inicialização;
  2. Comando ROM (seguido de uma troca qualquer de dados quando solicitados);
  3. Comando Função (seguido de uma troca qualquer de dados quando solicitados).

É muito importante seguir esta sequência em cada comunicação, visto que o DS18B20 não responde se um passo da sequência faltar. As exceções a esta regra são os comando Busca ROM [F0h] e Busca Alarme [ECh]. Após a emissão de um desses comandos, o mestre deve retornar ao passo 1 da sequência.

Inicialização do DS18B20

Todas as comunicações sobre o barramento 1-Wire iniciam com uma sequência de inicialização. A sequência de inicialização é constituída de um impulso de reset transmitido pelo mestre e seguido de um impulso de presença transmitido pelos escravos. O impulso de presença permite ao mestre saber que dispositivos escravos presentes no barramento estão prontos a operar.

Comandos ROM

Após o mestre liberar o impulso de presença, poderá enviar um comando ROM. Esses comandos permitem identificar um dispositivo específico (caso estejam presentes mais de um no barramento) determinando também quantos e quais dispositivos estão ligados ou se um dispositivo possui registro de alarme ativo. Existem cinco comandos ROM, e cada comando possui 8 bits. O mestre deve enviar um comando ROM apropriado antes de um comando de função. Um diagrama de fluxo do funcionamento dos comandos ROM é mostrado no anexo A.

Os comandos ROM são os seguintes:

Busca ROM [F0h]

Quando um sistema é acessado inicialmente, o mestre deve identificar os códigos ROM de todos os dispositivos escravos no barramento, para determinar o número de escravos e tipos de dispositivos. O mestre descobre os códigos ROM através de um processo de eliminação que exige um ciclo de Busca ROM (isso é, de um comando Busca ROM seguido de uma troca de dados) o número de vezes necessário para identificar todos os dispositivos presentes.

Se apenas um dispositivo está presente no barramento, o comando Lê ROM pode ser utilizado no lugar do comando Busca ROM.

Uma explicação completa do procedimento de Busca ROM está contido no documento iButton® no Standards em www.maxim-ic.com/ibuttonbook.

Após cada ciclo de Busca ROM, o mestre deve retornar ao passo 1 (inicialização) na sequência da transação.

Lê ROM [33h]

Este comando pode ser utilizado apenas quando existe apenas um escravo no barramento. Permite ao mestre do barramento ler o código ROM de 64 bits do escravo sem utilizar o procedimento de Busca ROM. Se este comando é utilizado quando estão presentes mais de um dispositivo no barramento, uma colisão de dados irá acontecer pois todos os dispositivos irão responder ao mesmo tempo.

Match ROM [55h]

O comando seguido de uma sequência de 64 bits de código ROM permite ao mestre comunicar com um dispositivo específico quando se tem um barramento multidrop  ou single-loop. Apenas o escravo que corresponde exatamente a sequência transmitida responderá ao comando função enviado pelo mestre; todos os outros dispositivos no barramento aguardarão um impulso de reset.

Skip ROM [CCh]

O mestre pode utilizar este comando para acessar todos os dispositivos do barramento simultaneamente sem enviar nenhuma informação de código ROM. Por exemplo, o mestre pode ordenar a todos DS18B20 do barramento a executar uma conversão de temperatura simultaneamente enviando um comando SKIP ROM seguido de um comando Converter T [44h].

Observe-se que o comando Lê Scratchpad [BEh] pode seguir o comando Skip ROM apenas se existir apenas um dispositivo escravo no barramento. Nesse caso, se poupa tempo permitindo ao mestre ler do escravo sem ter de enviar um código ROM de 64 bits. Um comando Skip ROM seguido de um comando de leitura scratchpad causará uma colisão de dados no barramento se existirem mais de um dispositivo escravo transmitindo dados ao mesmo tempo.

Busca Alarme [ECh]

O funcionamento deste comando é idêntico ao funcionamento do comando Busca ROM, salvo ao fato que responderão apenas os escravos com um flag de alarme ativo. Este comando permite ao mestre mapear os eventuais DS18B20 que tenham sinalizado uma condição de alarme seguido a conversão de temperatura mais recente. Após cada ciclo de Busca Alarme, o mestre deve retornar ao passo 1 (inicialização) na sequência de transações.

Comandos de Função

Após o mestre do barramento ter utilizado um Comando ROM para acessar um DS18B20 com o qual deseja comunicar-se, o mestre pode enviar um comando função. Esses comandos permitem ao mestre escrever e ler da memória scratchpad do DS18B20, iniciar conversões de temperatura e determinar o modo de alimentação. Os comandos função descritos a seguir tem o diagrama de fluxo apresentado no anexo B.

Os Comandos de Função são os seguintes:Convert T [44h]

Este comando inicia uma conversão única de temperatura. Após a conversão, o dado resultante é memorizado no registro de temperatura da memória scratchpad e o DS18B20 retorna ao estado de inatividade em baixo consumo.

Cuidados com a alimentação:

  • Se o dispositivo estiver utilizando a modalidade de alimentação “parasita”, dentro de  10μs (máx) após o envio deste comando, o mestre deve ativar um pull-up forte no barramento 1-Wire pelo tempo que durar a conversão (tCONV).
  • Se o DS18B20 é alimentado por uma fonte externa, o mestre pode enviar em intervalos de tempo, impulsos de leitura após o comando Convert T e o DS18B20 responderá transmitindo 0 se a conversão da temperatura estiver em curso e 1 quando a conversão for concluída. Em modalidade de alimentação “parasita” esta técnica de comunicação não pode ser utilizada enquanto o barramento está ligado ao VCC pelo pull-up forte durante a conversão.

Write Scratchpad [4Eh]

Este comando permite ao mestre escrever 3 bytes de dados no scratchpad do DS18B20. O primeiro byte dos dados é escrito no registro TH (byte 2 do Scratchpad), o segundo byte é escrito no registro TL (byte 3), e o terceiro byte é escrito no registro de configuração (byte 4). Os bytes devem ser transmitidos iniciando pelo bit menos significativo. A escrita dos três bytes deve ser completada antes de um reset do barramento ou os dados poderão ser corrompidos.

Read Scratchpad [BEh]

Este comando permite ao mestre ler o conteúdo do scratchpad. A transferência dos dados inicia con o bit menos significativo do byte 0 e continua até o nono byte ( 8 bytes + CRC). o mestre pode enviar um reset para interromper a leitura a qualquer momento, se for necessária apenas parte dos dados.

Copy Scratchpad [48h]

Este comando copia o conteúdo dos bytes TH, TL e registro de configuração (byte 2, 3 e 4) do scratchpad para a memória EEPROM. Se o dispositivo utiliza a alimentação “parasita”, dentro de 10μs (máx) após a emissão deste comando, o mestre deve ativar o pull-up forte sobre o barramento 1-Wire por 10 ms (min).

Recall E2 [B8h]

Este comando solicita os valores de alarme (TH e TL) e dados de configuração da memória EEPROM para o scratchpad. O dispositivo mestre pode enviar a intervalos de tempo, solicitações de leitura, e o DS18B20 indica o estado transmitindo 0 enquanto a solicitação estiver em curso e 1 quando a mesma for concluída. A operação de solicitação acontece automaticamente na energização, então os dados validos são disponíveis no scratchpad assim que o dispositivo é alimentado.

Read Power Supply [B4H]

Este comando permite ao mestre saber se algum DS18B20 no barramento utiliza alimentação “parasita”. Durante o intervalo de tempo de leitura, os DS18B20 alimentados pelo modo “parasita” levarão o barramento para nível baixo, enquanto que aqueles alimentados com fonte externa deixarão o barramento em nível alto. Isto serve para identificar quando é necessário ativar o pull-up forte.

Exemplos de comunicação entre mestre e DS18B20

Este é o procedimento no caso de existirem mais de um DS18B20 no barramento:

Mestre     Dado Função 
Tx Reset O mestre envia um impulso de reset
Rx Presença DS18B20 responde com um impulso de presença
Tx 55h O mestre envia o comando Match ROM
Tx 64 bit ROM code O mestre envia o código ROM do dispositivo desejado
Tx 44h O mestre envia o comando Convert T
Tx DQ alto E’ solicitado o pull-up se existirem dispositivos com alimentação parasita
Tx Reset O mestre envia um impulso de reset
Rx Presença DS18B20 responde com um impulso de presença
Tx 55h O mestre envia o comando Match ROM
Tx 64 bit ROM code O mestre envia o código ROM do dispositivo desejado
Tx BEh O mestre envia o comando Read Scratchpad
Rx 9 data bytes O escravo envia o conteúdo do scratchpad + CRC

É tarefa do mestre verificar se o CRC recebido está correto.

Se existe apenas um DS18B20 no barramento e são solicitados os registros internos:

Mestre   Dado Função
Tx Reset O mestre envia um impulso de reset
Rx Presença DS18B20 responde com um impulso de presença
Tx CCh O mestre envia um comando Skip ROM
Tx 4Eh O mestre envia um comando Write Scratchpad
Tx 3 bytes O mestre envia os 3 bytes para o scratchpad
Tx Reset O mestre envia impulso de reset
Rx Presença DS18B20 responde com o impulso de presença
Tx CCh O mestre envia o comando Skip ROM
Tx BEh O mestre envia o comando Read Scratchpad
Rx 9 data bytes O escravo envia o conteúdo do scratchpad junto com o CRC
Tx Reset O mestre envia o impulso de reset
Rx Presença DS18B20 responde com o impulso de presença
Tx CCh O mestre envia o comando Skip ROM
Tx 48h O mestre envia o comando Copy Scratchpad
Tx DQ alto É necessário o pull-up o DS18B20 a alimentação é “parasita”

Nota:

  1. É tarefa do mestre verificar se o CRC recebido está correto e tomar a ação necessária.
  2. Durante o ajuste dos registros internos, no seguimento do comando Write Scratchpad devem ser transmitidos os três bytes, mesmo que os alarmes não sejam necessários a aplicação.

Se existir apenas um DS18B20 no barramento e é solicitada a leitura da temperatura:

Mestre   Dados Função
Tx Reset O mestre envia o impulso de reset
Rx Presença DS18B20 responde com o impulso de presença
Tx CCh O mestre envia um comando Skip ROM
Tx 44h O mestre envia o comando Convert T
Tx DQ alto É necessário acionar o pull-up forte se DS18B20 a alimentação é “parasita”.
Deve-se aguardar o tempo de conversão relativo a resolução ajustada.
Tx 3 bytes O mestre envia os três bytes ao scratchpad
Tx Reset O mestre envia um impulso de reset
Rx Presença DS18B20 responde com o impulso de presença
Tx CCh O mestre envia o comando Skip ROM
Tx BEh O mestre envia o comando Read Scratchpad
Rx 9 data bytes O escravo envia o conteúdo do scratchpad junto com o CRC
Tx Reset O mestre envia o impulso de reset

O mestre pode emitir um reset para interromper a leitura a qualquer momento se for necessária apenas parte dos dados, de forma que, se apenas a leitura da temperatura é desejada, se pode interromper a comunicação após os primeiros dois bytes. Deve-se considerar que a falta do CRC na comunicação reduz a segurança sobre a integridade dos dados recebido, principalmente se a fiação estiver sujeita a ruídos interferentes.

Barramento 1-Wire

O DS18B20 utiliza um rigoroso protocolo de comunicação 1-Wire para garantir a integridade dos dados. Diversos tipos de sinalizações são definidas neste protocolo: reset, impulso de presença, escrita de 0 e 1, leitura de 0 e 1. O barramento mestre executa todos as sinalizações, com exceção do impulso de presença que é emitido pelo escravo em resposta ao reset.

Reset e Impulso de Presença.

Todas as comunicações com o DS18B20 iniciam com uma sequência de reset, que consiste de um impulso enviado pelo mestre e respondido com um impulso de presença pelo DS18B20.

Quando o DS18B20 envia o impulso de presença em resposta ao reset, indica para o mestre que está presente no barramento e pronto para funcionar. O impulso de reset força o barramento ao nível baixo por um mínimo de 480 μs. O mestre então libera o barramento que passa ao modo de recepção (RX). Quando o barramento é liberado, a resistência de pull-up leva o barramento para nível alto. Quando o DS18B20 detecta a subida do nível, aguarda de 15μs a 60μs e então transmite um impulso de presença, colocando o barramento em nível baixo por um tempo entre 60μs e 240μs.

Se estiverem presentes mais DS18B20, todos responderão com um impulso de presença. É tarefa do mestre analisar o barramento e identificar os dispositivos conectados.

Intervalos de escrita – Write time slots

Existem dois tipos de escrita: “Write 1”  e “Write 0”. O mestre utiliza intervalos diferente de tempo para escrever 1 e 0. Todos os intervalo de escrita devem ter no mínimo 60μs de duração, com um tempo de recuperação mínimo de 1μs entre intervalos. Ambos os tipos de intervalos de tempo de escrita são executados pelo mestre levando o barramento para nível baixo.

Para gerar um intervalo de tempo de escrita 1, após ter colocado o barramento em nível baixo, o mestre deve liberar em 15μs. Quando o barramento é liberado, o resistor de pull-up leva o barramento para nível alto. Para gerar um intervalo de tempo de escrita 0, após ter colocado o barramento em nível baixo, o mestre deve continuar a manter o barramento em nível baixo pelo tempo mínimo de 60μs. O DS18B20 amostra o barramento durante uma janela de tempo que dura de 15μs a 60μs. Se o barramento estiver em nível alto dentro da janela de amostragem, um 1 é escrito no DS18B20. Se a linha estiver em nível baixo, um 0 é escrito.

Intervalo de leitura – Read Time Slots

O mestre pode gerar, a intervalos de tempo, impulsos de leitura logo após a emissão de um comando Read Scratchpad [BEh] ou Read Power [B4H], de modo que o DS18B20 possa fornecer os dados solicitados. Além disso, o mestre pode gerar intervalos de leitura após ter emitido o comando Convert T [44h] ou o Recall E2 [B8h] para saber o estado de operação. Todos os intervalos de leitura deverão ter no mínimo 60μs, com um tempo mínimo de recuperação de 1μs entre intervalos. Um intervalo de tempo de leitura é executado pelo mestre colocando o barramento em nível baixo por um mínimo de 1μs e depois liberando o barramento. Após o mestre ter executado o intervalo de leitura, o DS18B20 começará a transmitir um 1 ou um 0 no barramento: um 1 é executado liberando o barramento ao nível alto e o 0 é executado levando o barramento a nível baixo.

Quando transmite o 0, o DS18B20 libera o barramento até o término do intervalo de tempo; o nível do barramento é levado para alto pelo pull-up.

Os dados enviados pelo DS18B20 são validos por 15μs após a borda de descida do intervalo de tempo da leitura. Portanto, o mestre deve liberar o barramento e então amostrar o estado dentro do intervalo de 15μs desde o início do intervalo.

A figura seguinte mostra que a soma de TINIT, TRC e TSAMPLE deve ser inferior a 15μs para um intervalo de tempo de leitura.

A figura seguinte mostra que a marge de temporização do sistema é maximizada mantendo TINIT e TRC o mais breves possível e posicionando o tempo de amostragem do mestre durante o intervalo de tempo de leitura até o fim do período de 15μs.

Anexo A – ROM Command Flowchart

Anexo B – Function Command Flowchart.

Leia também