A versão 4 do CADe_SIMU nos permite incluir um Arduino no circuito para que ele possa interagir com os elementos simulados. Neste artigo, usaremos esse recurso como exemplo para dar partida e parar um motor trifásico com dois botões de pressão e leitura do relé térmico.
Introdução
Podemos adicionar um Arduino UNO aos nossos circuitos no CADe_SIMU, que na realidade o Arduino não é simulado, mas que precisamos ter um Arduino real , com o programa que queremos incluir na simulação já carregado e conectado através de uma porta USB.
Neste exemplo vou mostrar um exemplo, aplicado à partida de um motor trifásico.
O circuito consiste em um circuito básico de partida e parada para um motor trifásico, cujo esquema pode ser visto na imagem a seguir:
Como você pode ver, o circuito possui um contator K1 que atua no motor trifásico. A bobina deste contator é conectada à saída 2 do Arduino. Dois botões de controle do motor também são conectados ao Arduino: S2 ( entrada 9 ) para ligá-lo e S1 ( entrada 8 ) para pará-lo.
Neste exemplo vou mostrar um exemplo, aplicado à partida de um motor trifásico.
O circuito consiste em um circuito básico de partida e parada para um motor trifásico, cujo esquema pode ser visto na imagem a seguir:
Como você pode ver, o circuito possui um contator K1 que atua no motor trifásico. A bobina deste contator é conectada à saída 2 do Arduino. Dois botões de controle do motor também são conectados ao Arduino: S2 ( entrada 9 ) para ligá-lo e S1 ( entrada 8 ) para pará-lo.
Como medida de proteção, o motor possui um relé térmico que fecha o contato F ( entrada 10 ) caso ocorra uma sobrecarga , neste caso abriremos o contator e acenderemos a luz de alarme H ( saída 3 ). A condição de alarme permanecerá mesmo que a entrada do relé térmico (entrada 10) seja desativada e só conseguiremos ligar o motor novamente se atuarmos no botão CLEAR ( entrada 11 ).
Lembre-se que os circuitos elétricos do Arduino devem estar sempre fechados pelo GND e 5V do mesmo Arduino no CADe_SIMU.
A configuração do Arduino é mostrada na figura 02.
No Arduino, não precisamos construir nenhum circuito. Não precisamos conectar nada às entradas ou saídas; o CADe_SIMU cuidará de todo o controle.
Lembre-se que os circuitos elétricos do Arduino devem estar sempre fechados pelo GND e 5V do mesmo Arduino no CADe_SIMU.
A configuração do Arduino é mostrada na figura 02.
No Arduino, não precisamos construir nenhum circuito. Não precisamos conectar nada às entradas ou saídas; o CADe_SIMU cuidará de todo o controle.
O programa
O programa gravado no Arduino que faz esse circuito funcionar é o seguinte:
//Ejemplo Arranque y parada
define MOTOR 2
define PILOTO 3
define STOP 8
define START 9
define TERMICO 10
define CLEAR 11
#include <PC_SIMU.h>
PC_SIMU Arduino;
boolean AlarmaTermico;
void setup() {
pinMode(MOTOR, OUTPUT); //Salida Motor
pinMode(PILOTO, OUTPUT); //Indicador Error
digitalWrite(MOTOR, 0); //Arranca motor parado
digitalWrite(PILOTO, 0); //Arranca lampara apagada
pinMode (STOP, INPUT); //Entrada pulsador STOP
pinMode (START, INPUT); //Entrada pulsador START
pinMode (TERMICO, INPUT); //Entrada contacto aux relé térmico
pinMode (CLEAR, INPUT); //Entrada CLEAR de alarma
AlarmaTermico = false;
Arduino.INI();
}
void loop() {
//Ver pulsador START
if (digitalRead (START) && (AlarmaTermico==false)) {
digitalWrite(MOTOR, 1);
}
//Ver pulsador STOP
if (digitalRead (STOP)) {
digitalWrite(MOTOR, 0);
}
//Ver contacto del térmico
if (digitalRead (TERMICO)) {
digitalWrite (MOTOR,0);
digitalWrite (PILOTO,1);
AlarmaTermico = true;
}
//Ver pulsador de CLEAR
if (digitalRead (CLEAR)) {
digitalWrite (PILOTO,0);
AlarmaTermico = false;
}
}
Vamos analisar como esse código funciona:
- No início temos algumas definições ( define ) de entradas e saídas, que podemos alterar se modificarmos o circuito.
- Então, nas linhas 10 e 11 incluímos a biblioteca PC_SIMU , essencial para comunicar com o CADe_SIMU e então criamos o objeto Arduino.
- Na linha 13 definimos a variável AlarmaTermico , do tipo booleana, que indicará se o relé térmico foi acionado devido a uma sobrecarga no motor.
- Na função de configuração , as entradas e saídas são definidas com pinMode , e as saídas são inicializadas com zero . Também inicializamos a variável ThermalAlarm como false e chamamos o método INI do objeto Arduino para inicializar a comunicação.
- Na função de loop , o status das entradas é verificado e as ações são tomadas de acordo:
- Na linha 36, se START for pressionado e não houver condição de sobrecarga , acionamos a saída do contator para dar partida no motor.
- Na linha 41, se STOP for pressionado , desativamos a saída do contator e paramos o motor.
- Na linha 46, se o contato auxiliar do relé térmico fechar porque houve sobrecarga, paramos o motor, acendemos a luz de alarme e colocamos a variável AlarmaTermico em true , indicando a falha.
- Por fim, na linha 53, se CLEAR for pressionado , "limpamos" a falha desligando a luz do alarme e configurando ThermalAlarm como false , para que o motor esteja pronto para ser ligado novamente.
Operação
Aqui você pode ver o circuito em operação:
Certamente alguns se perguntarão como pode funcionar um programa Arduino no qual tomamos decisões com base nos valores de entrada, se não há nada conectado a eles .
Neste caso, não é necessário conectar nada às entradas porque a biblioteca PC_SIMU pega a informação que o CADe_SIMU envia quando agimos em uma entrada no simulador e faz o Arduino acreditar que a entrada foi ativada no nível de hardware.
Você pode tentar ativar as entradas da placa, neste caso conectando um cabo, por exemplo, entre 5V e a entrada 9 (START). Você verá que no CADe_SIMU o motor dá partida, mas o botão START conectado a essa entrada não mostra atividade. Isso ocorre porque o fluxo de informações, neste caso, é unidirecional, e o CADe_SIMU está recebendo apenas informações sobre o que está acontecendo nas saídas do Arduino.
Espero que este exemplo tenha ajudado você a entender melhor como usar o Arduino no CADe_SIMU e a construir seus próprios circuitos. Se tiver alguma sugestão ou dúvida, fique à vontade para deixar nos comentários.
Referência: Ernesto Tolocka
© Direitos de autor. 2023: Gomes; Sinésio Raimundo. Última atualização: 20/11/2023