Bobinadeira automática controlada com Arduino (RESOLVIDO)

Boa tarde, montei uma bobinadeira para enrolar transformador e a um tempinho atrás eu consegui aqui uma ajuda para resolver um pequeno problema no código, agora consegui um código mais completo (código com Arduino) para ter uma noção do funcionamento veja o link onde consegui o código, http://www.youtube.com/watch?v=M3obRbW4hxc&t=8s.

O sistema está funcionando normalmente, porem preciso fazer um pequeno ajuste para melhorar o funcionamento, vou tentar explicar o funcionamento pra depois ver a possibilidade dos ajustes.

Vamos lá, a máquina trabalha com dois motores, uma para acionar o carretel (motor AC comum)  e o outro, um motor de passo que faz a função de ir empurrando o fio para que as espiras não fiquem trepadas e assim fazendo uma camada de fio uniforme, esse motor é controlado pelo sensor que faz a contagem das espiras, cada vez que o sensor conta uma volta o motor de passo avança um pouco de acordo com a bitola do fio, e é nesse ponto que precisa de um ajuste, quando finalizo a programação e inicializa o processo, o motor de passo avança como se já tivesse dado uma volta, e como é ajustado antes o ponto de início do enrolamento fica sempre um espaço, o que eu preciso é que o avanço só aconteça depois que seja contado a primeira volta daí pra frente o processo segue normalmente.

Bom é esse o problema, espero que der pra entender, segue anexo o código e o esquema para simular no proteus, com a simulação fica mais facil de entender.

desde já agradeço

Mais uma vez venho agradecer ao nosso mestre Rui Viana, por mais uma ajuda. graças a ele a bobinadeira está funcionando perfeitamente, estou deixando o código devidamente corrigido, caso algum interessado queira montar a bobinadeira, em breve estarei disponibilizando o esquema e os desenhos das placas.

nais uma vez obrigado a todos.

bobinadeira_V_13.zip

Exibições: 2065

Responder esta

Respostas a este tópico

Boa tarde JMC,

o seu code está mal comentado.

Como ele é bem extenso e um pouco complexo,  um bom comentário em cada linha vai servir

para facilitar para alguém que for te ajudar entender o funcionamento do code e para

você saber no futuro por que escreveu cada linha .

Por exemplo, nesta linhas:

int BT1 = 5;
int BT2 = 6;
int BT3 = 7;
int BT4 = 8;
int BT5 = 9;

acredito que são  definições de botões, mas o que  cada BTx faz.

Neste trecho do programa:

else if (b2 == LOW) // else if (valorBotao >= 0 && valorBotao < 40) {
{
stepper.step(5);

o step é movido com a variável inicio igual a 0 e b2 (BT2) pressionado.  Mas pra que serve BT2?

RV

Então, o problema maior é que eu entendo muito pouco de programação, mas, eu consigo identificar a função de cada botão, vou fazer isso e volto a colocar o código novamente

nesse trecho do código é feito o ajuste da guia do fio, 

BT2 movimenta a guia para a direita lentamente

BT3 movimenta a guia para a direita mais rapido

BT4 movimenta a guia para a esquerda lentamente

BT5 movimenta a guia para a esquerda mais rapido

BT1 botão ENTER avança para a proxima etapa da programação

Boa noite JMC,

teste este código.

RV

Anexos

Boa tarde JMC,

teste este code que estou anexando

Os 2 arquivos tem que estar na mesma pasta.

Por enquanto não fiz grandes alterações no seu code.

Só organizei melhor ele.

RV

Anexos

Boa noite JMC,

nova versão corrigida.

RV

Anexos

Boa tarde JMC,

versão 5 do code.

RV

Anexos

"o que eu preciso é que o avanço só aconteça depois que seja contado a primeira volta daí pra frente o processo segue normalmente."

Nesse ponto poderia ser usado um loop DO-WHILE, criar um algoritmo para ele contar ao menos uma vez, antes de avançar.

Boa tarde JMC,

testa a versão 6.0 anexa.

RV

Anexos

Versão 7

Anexos

versão 8

Anexos

Versão 9

RV

Anexos

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2020   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço