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. O CADe_SIMU não realiza uma simulação do Arduino. Ele simula contatores, botões, motores e outros componentes disponíveis. O programa Arduino deve ser carregado na placa física e incluir uma biblioteca, que permite a comunicação com o CADe_SIMU. Antes de instalá-la, precisamos adicionar outra biblioteca que ela utiliza.
No IDE, acesse o Gerenciador de Bibliotecas, procure por < TimerOne >e instale-a. O programa deve ser carregado nesse Arduino e, graças a "biblioteca < #include < PC_SIMU.h > ", pode interagir com CADe_SIMUe os demais componentes simulados. A biblioteca PC_SIMU, pode ser baixada no link: PC_SIMU.h . Após o download, você pode instalar o arquivo ZIP diretamente pelo menu Programas – Incluir Biblioteca ou descompactá-lo e copiar manualmente a pasta com as demais bibliotecas.
O programa Arduino deve ser carregado na placa física e incluir uma biblioteca acima, que permite a comunicação com o CADe_SIMU. Após copiar o exemplo para a IDE, compilamos o código e o carregamos na placa. Chegamos à etapa final. Depois de salvar o programa no Arduino, abra o CADe_SIMU e adicione um componente Arduino UNO na barra de ferramentas de Entrada/Saída. Clique duas vezes nele para abrir sua configuração.
Depois de salvar o programa no Arduino, abra o CADe_SIMU e adicione um componente Arduino UNO na barra de ferramentas de Entrada/Saída . Clique duas vezes nele para abrir sua configuraçã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.
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 ao lado.
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 ao lado.
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 ao lado.
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.
- Configuração de Entrada/Saída : Nesta seção, devemos informar ao CADe_SIMU como configuramos os pinos do Arduino.
- Comunicação: Aqui precisamos informar ao CADe_SIMU qual porta de comunicação (COM) usar para encontrar o Arduino. Geralmente o Arduino aparece entre as portas COM1 e COM4, além disso, verifique a opção "Conectar durante a simulação".
Isso conclui a configuração (pelo menos a mínima), então você pode pressionar o botão OK. Agora, tudo o que resta é adicionar alguns circuitos adicionais para testar a simulação.
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.
O diagrama elétrico está disponível em: 25_11_03_Triturador_Arduino_SRG (PDF).
O código fonte está disponível em: 25_11_03_Código_Triturador_Arduino_SRG (PDF).
Referência: Ernesto Tolocka
© Direitos de autor. 2023: Gomes; Sinésio Raimundo. Última atualização: 20/11/2023














