top of page
Crescer (fundo transparente)_Negativo_pn
Você sabia que a Crescer ensina, fornece e faz soluções de automação e IoT com Arduino e ESP32?

Fale com um especialista

2.png
3.png
1.png
Foto do escritorThales Gonçalves Ferreira

PLC 32 - Saídas do módulo analógico I2C

Atualizado: 17 de set.

O PLC 32 possui uma interface I2C isolada que possibilita a conexão com placas de expansão. Essas placas são utilizadas para aumentar o número de entradas optoacopladas, saídas de relé, além de entradas e saídas analógicas do PLC 32.

 

Neste blog, vamos aprender como utilizar as saídas do módulo analógico I2C com o PLC 32.



Sumário

 

 

1. Visão geral

 

O PLC 32 possui uma interface que permite a conexão de dispositivos I2C ao ESP32 através de um conector RJ45, facilitando a integração. O hardware conta com um ADUM1250, que isola os pinos de comunicação I2C, e um B0305S, que separa a alimentação do PLC 32 da placa de expansão, garantindo um isolamento elétrico completo. A figura a seguir ilustra a área da placa dedicada a essa comunicação.



Na placa PLC 32, como o LAN8720 incorporado utiliza os pinos I2C padrão do ESP32, é necessário redefinir os pinos para comunicar com as expansões I2C. A tabela a seguir mostra os pinos utilizados para a comunicação.



Na parte inferior da placa, há 4 jumpers. Ao removê-los, é possível desativar os resistores de pull-up (SDA e SCL). Por padrão, o PLC 32 fornece energia para a placa conectada ao barramento. No entanto, se for necessário desconectar essa alimentação, basta cortar os jumpers 5V e GND. Os jumpers estão destacados na figura a seguir.



Na figura a seguir, podemos ver uma representação da topologia utilizada para conectar o PLC 32 (placa preta) a duas placas de expansão (vermelhas), utilizando a conexão I2C via RJ45.



No link I2C estamos disponibilizando exemplos de como utilizar a comunicação I2C no PLC 32.



2. Como utilizar as entradas do módulo analógico


O módulo analógico possui uma saída de tensão de 0 a 10V e outra de corrente de 4 a 20mA. Na figura a seguir podemos ver um exemplo de ligação para testar o funcionamento das saídas do módulo analógico. Vale ressaltar que estamos utilizando um resistor de 230Ω para simular a carga. Como demonstrado na imagem, utilizamos uma fonte dedicada especificamente para a saída de corrente.



O PLC 32 receberá um valor de 0 a 4095, que será aplicado nos conversores digitais-analógicos presentes na placa, definindo os valores de tensão e corrente das saídas. A seguir, podemos ver o código utilizado no exemplo.


#include <Wire.h>
#include <Adafruit_MCP4725.h>

TwoWire I2CNew = TwoWire(0);
#define I2C_SDA 33
#define I2C_SCL 5

Adafruit_MCP4725 dac;
Adafruit_MCP4725 dac2;

void setup(void) {
  Serial.begin(9600);
  Serial.println("Hello!");
  I2CNew.begin(I2C_SDA, I2C_SCL);
  // For Adafruit MCP4725A1 the address is 0x62 (default) or 0x63 (ADDR pin tied to VCC)
  // For MCP4725A0 the address is 0x60 or 0x61
  // For MCP4725A2 the address is 0x64 or 0x65
  dac.begin(0x61, &I2CNew);
  dac2.begin(0x60, &I2CNew);

}

int a = 0;

long tempo = 3000;
int ciclo = 0;
int saida = 2000;

void loop(void) {

  if (Serial.available()){
    int comando = Serial.parseInt();
    if (comando == 1){
      ciclo = 0;
    }
    if (comando == 2){
      saida = Serial.parseInt();
    }
    if (comando == 3){
      tempo = Serial.parseInt();
    }
    if (comando == 5){
      ciclo = 1;
    }
  }
  if (ciclo == 1){
    if (a){
      dac.setVoltage(saida, false);
      dac2.setVoltage(saida, false);
      a = 0;
      delay(tempo);
    }
    else{
      dac.setVoltage(0, false);
      dac2.setVoltage(0, false);
      a = 1;
      delay(tempo);
    }
  }
  else{
    dac.setVoltage(saida, false);
    dac2.setVoltage(saida, false);
  }
}

A biblioteca utilizada no código (Adafruit_MCP4725.h) está disponível no gerenciador de bibliotecas da IDE do Arduino. Para instalá-la, vamos em “Ferramentas", depois em “Gerenciador de Bibliotecas” e pesquisamos por Adafruit_MCP4725. Em seguida, basta clicar em “Instalar”, como mostrado na figura a seguir.



Neste exemplo, podemos utilizar o monitor serial para definir um valor para a saída ou fazer com que ela oscile com um período também definido pelo usuário. Para ver a demonstração do seu funcionamento, recomendamos que assistam ao vídeo a seguir.

 

 

Neste blog, vimos como utilizar o módulo analógico no PLC 32. Esse módulo permite que o PLC 32 utilize saídas analógicas com isolamento elétrico.


Se você deseja ver mais detalhes sobre o PLC 32, acessar o seu manual ou adquirir uma unidade, clique neste link.


Posts recentes

Ver tudo

留言


ícone do whatsapp

Fale com um
especialista:

bottom of page