usf

quarta-feira, 4 de novembro de 2015

Explicação do programa que controla o processo de soldagem

O projeto da maquina de soldagem por fricção é controlado pelo microcontrolador Arduino UNO juntamente com o CNC Shield para controlar o motor de passo.
Todo o funcionamento do projeto é feito através de um software feito no Visual Studio em C#.
O firmware do programa foi feito de forma simples, com o comando switch atuando como um grande menu, e cada case representa a leitura de cada botão do programa.
O software conta com algumas travas de segurança para possibilitar que qualquer usuário consiga utilizá-lo de forma simples. O programa se conecta ao arduino através de um cabo USB via porta Serial, e após a conexão estabelecida, o botão envia um dado para a leitura no arduino, que será analisado por cada case do switch, que neste caso, através do botão conectar, faz com que o LED de ligado se acenda, e com ele, o primeiro groupbox do software passa a ser habilitado.
Neste groupbox, há duas opções: Manual e Automático.
A primeira o operador controla o avanço e o recuo do mandril instantaneamente, bem como a ligação do spindle.
Já no modo automático, todos os outros groupbox se tornam habilitados, para que o usuário faça a soldagem de várias peças, apenas pela programação.
Para evitar que neste modo haja algum problema, o botão iniciar só funciona assim que todos os valores estejam “setados”.
No programa existe uma trackbar, cuja função é de enviar a potência do spindle para o arduino, e o arduino envia para o controlador do spindle valor entre 0 e 255, através do PWM.
O usuário escolhe a potência do spindle, o avanço do mandril, e o tempo que de processo de soldagem. Essas escolhas passam para o arduino via serial, que nele se tornam variáveis.
Outras informações necessárias para o funcionamento do processo é o tempo entre processos, quantidade de peças, e a segurança do tempo para retirar a peça do mandril. Essas informações ficam no próprio software mesmo, pois elas bloqueiam os botões do programa, sendo assim, evitando que algo saia do esperado.
Após pressionar o botão iniciar, o mesmo se desabilita e envia para o arduino ligar o rele do spindle. Durante o processo, uma progress bar começa a se encher para indicar o procedimento. Após a barra encher, o programa faz a contagem para retirar a peça do mandril, e envia uma MessageBox para lembrar ao usuário que retire a peça, evitando que haja qualquer problema. Assim que a MessageBox for confirmada, o botão recuar se habilita, fazendo com que, ao ser pressionado, o mesmo envia para o arduino recuar o mandril.
Além disto, o botão subtrai 1 na quantidade de peças a serem feitas, caso o valor dessa subtração der 0, o programa desabilita o botão ligar, e limpa todas as informações necessárias para iniciar o processo.
Caso o valor da subtração der maior que 0, o programa inicia outra progress bar, para que dê um tempo do mandril recuar, e após isto, habilita o Botão iniciar para recomeçar toda a etapa.
Além disto, o programa caso seja enviada alguma informação ao arduino, bloqueia o botão de desconectar, sendo assim, evita problemas de comunicação entre o PC e o arduino.
Outras funções secundárias estão incluídas no programa, como formulário de login, e personalização de cores da janela, tudo isso com intuito de facilitar a vida de quem utilizar o software. 

Aparência da janela de comando do processo