Lógica "E" para Bi-Manual de Partida

Gostei dessa lógica “OU” assim como da anterior “E”. Com relação a essa última, na prática usamos para implementar um comando Bi-Manual de Partida, por exemplo. Contudo da maneira simples e direta como foi mostrado, fica um problema : caso o operador mantenha um botão sempre ligado, poderá usar somente uma mão para acionar o segundo, e nesse caso a mão livre fica sujeita a algum tipo de acidente. Como podemos evitar isso para que as duas mãos obrigatoriamente estejam pressionando cada um dos botões e somente se houver essa condição, o sistema habilita a partida do equipamento.

Mostrar menos

Prezados Senhores;
Coloquei um assunto de grande interesse na Indústria e fiquei aguardando um pronunciamento de V.Sas. com relação à solução para esse problema, o que não ocorreu até o momento.
Não entendo por que existe o Forum se ninguém se pronuncia a respeito dos tópicos enviados, como é o caso desse em questão.
Atenciosamente.
Sidney Nogueira

Como vai Sidney?
Me perdoe a demora na resposta. A ideia do fórum é criar uma comunidade onde os próprios internautas possam se ajudar e eventualmente eu também participar. Infelizmente a comunidade ainda está pequena. Mas vamos à sua resposta.

Segundo a NR12, os acionamentos bi-manuais devem conter mecanismos que impeçam que o mesmo seja burlado. Os botões devem estar posicionados a uma certa distância que impossibilite que o operador utilize a mesma mão para pressioná-los e deve haver também um mecanismo que, caso um dos botões permaneça sempre pressionado, o sistema não funcione.

Para resolver isso, utiliza-se uma lógica envolvendo temporização. Essa lógica é simples: o sistema só será acionado se os dois botões estiverem pressionados E o intervalo de acionamento entre esses dois botões seja inferior a um certo tempo (0,5s, por exemplo).

Explicando com um pouco mais de detalhes:

  1. Intervalo de Tempo: É definido um intervalo de tempo máximo permitido entre o acionamento do primeiro e do segundo botão. Este intervalo é frequentemente muito curto, da ordem de centésimos de segundo, e garante que ambos os botões sejam pressionados quase simultaneamente.
  2. Sequência de Acionamento: Se o segundo botão não for pressionado dentro deste intervalo de tempo após o acionamento do primeiro, o sistema não ativa a máquina. Em vez disso, ele “reinicia”, e o operador teria que soltar ambos os botões e pressioná-los novamente quase simultaneamente para iniciar a máquina.
  3. Liberação Durante a Operação: Se um dos botões for liberado durante a operação, a máquina deve parar imediatamente. A operação só pode ser reiniciada com uma nova ativação concorrente e simultânea dos botões.
  4. Monitoramento Eletrônico: A temporização é frequentemente monitorada por sistemas eletrônicos que garantem precisão e rapidez na detecção do intervalo de tempo entre os acionamentos.
  5. Ajustabilidade: Alguns sistemas permitem que o intervalo de tempo de temporização seja ajustado, mas isso deve ser feito por pessoal qualificado e, em muitos casos, o ajuste é protegido por senhas ou dispositivos físicos para evitar manipulações inadequadas.

É importante notar que a temporização é apenas um dos aspectos de um sistema bi-manual. O design geral, a localização dos botões, a distância da zona de perigo e outros fatores também são vitais para garantir a segurança do operador.


:green_circle: Lógica em Microcontroladores: Arduíno

Em Arduíno, por exemplo, a lógica acima poderia ser feita da seguinte forma:

// Definindo os pinos
const int b1 = 2;
const int b2 = 3;
const int saida = 5;

// Definindo o tempo de temporização (em milissegundos)
const int tempo = 500; // exemplo: 500 ms ou 0.5 segundos

// Variáveis para armazenar o estado dos botões e o tempo do primeiro acionamento
bool estadoB1 = false;
bool estadoB2 = false;
unsigned long tempoPrimeiroBotao = 0;

void setup() {
// Configuração inicial dos pinos
pinMode(b1, INPUT);
pinMode(b2, INPUT);
pinMode(saida, OUTPUT);

digitalWrite(saida, LOW); // Garante que a saída comece desativada
}

// … (restante do código)

void loop() {
// Leitura do estado dos botões
estadoB1 = digitalRead(b1);
estadoB2 = digitalRead(b2);

// Se um dos botões for pressionado e o tempoPrimeiroBotao ainda não foi definido
if ((estadoB1 || estadoB2) && tempoPrimeiroBotao == 0) {
tempoPrimeiroBotao = millis();
}

// Se ambos os botões estiverem pressionados
if (estadoB1 && estadoB2) {
// Se o tempo entre o acionamento do primeiro botão e o segundo for menor que a temporização definida
if (millis() - tempoPrimeiroBotao <= tempo) {
digitalWrite(saida, HIGH); // Aciona a saída
}
} else {
digitalWrite(saida, LOW); // Desativa a saída
}

// Se nenhum botão estiver pressionado e tempoPrimeiroBotao tiver sido definido, reset o tempoPrimeiroBotao
if (!estadoB1 && !estadoB2 && tempoPrimeiroBotao != 0) {
tempoPrimeiroBotao = 0;
}
}


:green_circle:Lógica em Ladder (p/ CLPs):

Em CLP poderíamos fazer a mesma lógica de várias formas também, por exemplo:

image
Onde M1 seria uma outra condição pra desligar a saída Y0.Liga e Liga2 são os botões de acionamento do bi-manual.


:green_circle: Usando apenas Eletrônica Digital:

Para fazer essa lógica usando apenas eletrônica digital teríamos de usar algum CI de temporização (como o famoso 555) - ou um circuito de temporização com capacitores/transsitores.

Um exemplo pode ser visto no circuito que montei no Falstad abaixo:

https://tinyurl.com/2cc9hkh3

Funcionamento do circuito acima:
Ao acionar Botão B1 ou B2, começa a contagem de tempo no 555, que está em modo monoestável (temporizador), onde o tempo é definido pelos valores do resistor e do capacitor (100k e 10uF no circuito).

A lógica principal se encontra nas portas lógicas abaixo. Se B1 e B2 estiverem pressionadas ao mesmo tempo e o timer estiver ativo (ou seja, dentro do tempo do bi-manual), a saída irá ligar. Um sinal da saída volta para a entrada OR do timer, para fazer uma espécie de selo do sinal do timer, mantendo a saída acionada dependendo apenas dos estados de B1 e B2.

Se B1 ou B2 for solto, a saída desliga.

Se B1 e B2 forem pressionados juntos, porém num intervalo de tempo maior que do temporizador, então a saída não irá ligar, pois o timer irá desligar após o tempo decorrido.

Essa é uma das muitas soluções possíveis usando eletrônica digital/analógica pura!

Espero ter ajudado a compreender. Talvez grave um vídeo sobre esse assunto em breve.

Um abraço, fique com Deus!
Gabriel Vinícios Silva Maganha
GVensino.com.br