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

PLC32 - Módulos I/O I2C

Atualizado: 20 de jul.

O PLC 32 possui uma interface I2C isolada que permite a conexão com placas de expansão. Essas placas de expansão, conhecidas como Módulos I/O, podem ser utilizadas para aumentar a quantidade de entradas optoacopladas e saídas a relé do PLC 32.

 

Neste blog, vamos aprender como utilizar os módulos de expansão I/O 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, garantindo um isolamento elétrico completo. O hardware inclui um ADUM1250, responsável por isolar os pinos de comunicação I2C, e um B0305S para isolar a alimentação do PLC 32 da placa de expansão. Na figura a seguir, podemos ver a região da placa destinada a essa comunicação.



Para a placa PLC 32, uma vez que possui o LAN8720 embarcado que utiliza os pinos I2C normais do ESP32, é necessário alterar os pinos para o acionamento das Expansões I2C. Os pinos utilizados para a comunicação podem ser visualizados na tabela a seguir.



Na parte inferior da placa, encontramos 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 necessário desconectar essa ligação, basta cortar os jumpers 5V e GND. Os jumpers estão destacados na figura a seguir.



Na figura a seguir, podemos observar uma representação da topologia que pode ser empregada para conectar o PLC 32 (placa preta) a duas placas de expansão (vermelhas), utilizando a conexão I2C através do RJ45.



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



2. Como utilizar os módulos I/O


Para um exemplo mais detalhado da utilização dos módulos I/O, vamos controlar duas lâmpadas utilizando o Módulo I/O 9x7. No entanto, a lógica é a mesma para o Módulo I/O 4x4. Na figura a seguir, podemos ver a topologia utilizada neste exemplo.




Os relés irão acionar duas lâmpadas, e na entrada optoacoplada será conectada uma botoeira. Como exemplo, vamos controlar a lâmpada da direita utilizando a botoeira, enquanto a lâmpada da esquerda ficará piscando. A seguir, podemos ver o código utilizado no exemplo.


#include <Arduino.h>
#include <Wire.h>

#include "PCAL9535A.h"

PCAL9535A::PCAL9535A<TwoWire> gpio(Wire);

void setup() {
  Wire.begin(33, 5); //Joing I2C bu
  Serial.begin(9600);
  gpio.begin(PCAL9535A::HardwareAddress::A001);  // 0x20 - Pins = 000

  for (int i = 9; i < 16; i++)
  {
    gpio.digitalWrite(i, 0); // LED Off
    gpio.pinMode(i, OUTPUT);
  }
}

bool pisca = 0;

void loop() {

  for (int i = 0; i < 9; i++)
  {
    Serial.print(gpio.digitalRead(i));
  }
  Serial.println();
  gpio.digitalWrite(9, gpio.digitalRead(0));

  gpio.digitalWrite(10, pisca);
  delay(500);
  pisca = !pisca;
}

A biblioteca utilizada no código (PCAL9535A.h) está disponível para download neste link. Para incluí-la na IDE do Arduino, vá em Sketch -> Incluir Biblioteca -> Adicionar Biblioteca .zip.



Neste blog, vimos como utilizar o módulo I/O no PLC 32. Esses módulos permitem que o PLC 32 expanda a quantidade de entradas e saídas controladas por ele.


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

Comments


ícone do whatsapp

Fale com um
especialista:

bottom of page