Bobinadeira automática controlada com ESP32 e display TFT ILI9341 (RESOLVIDO)

Boa tarde turmaa, nova versão da bobinadeira, agora com ESP32 e display grafico colororido, segue arqquivo com o código e esquema, bobinadeira_TFT_ESP32.zip

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, https://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

bobinadeira_EEPROM_I2C.rar

https://www.youtube.com/watch?v=jDQ3ppqYqfM

Exibições: 7501

Responder esta

Respostas a este tópico

Bom dia DTR e todas as feras do forum, como todos ja conhecem esse projeto da bobinadeira que eu coloquei aqui a um tempinho atrás, para fazer alguns ajustes, de lá pra cá, já passou por varias inovações, e uma delas eu encontrei aqui recentemente, como é uma função bem interessante eu resolvi colocar na minha maquina, a função faz o seguinte, qundo vou fazer um enrolamento tenho que ajustar a guia do fio para o início do carretel, quando termina de enrolar, a guia para em um ponto qualquer, ai aterto um botão (coloquei tecla A) para a guia voltar ao ponto inicial, ta funcionando da seguinte forma:

coloco para fazer o enrolamento e escolho o sentido da esquerda para a direita, se no monento que terminar o enrolamento a guia estiver indo da esquerda para a direita, a função returnHome funciona normal,  se estiver indo da direita para a esquerda não funciona, esse é o probleminha amigos, segue anexo o codigo.

bob_EEPROM_I2C_CT.zip 

Olá, Matias!

   Não analisei em profundidade o teu código, até porque é meio extenso, mas teria as seguintes sugestões:

   Colocar uma instrução de DEBUG no início da rotina returnHome(), antes do if (direct == 0):

1. Para a variável direct:

         Serial.print( "direct = " ) ;
         Serial.println( direct ) ;

Para ver se a variável direct chega com o valor correto.
Se não, tem que investigar o porquê.

2. Para a variável contaStep:

         Serial.print( "contaStep = " ) ;
         Serial.println( contaStep ) ;

Para ver se a variável contaStep chega com o valor correto.
Se não, tem que investigar o porquê.


Sucesso.

D. T. Ribeiro.

Resolvido o problema do retorno

uma pequena amostra https://www.youtube.com/watch?v=jDQ3ppqYqfM

Que massa que tá ficando, coloca o esquema  ou o layout pra gente

o codigo e o esquema já esta aqui, no inicio do tópico

Boa tarde a todos, então, estou montando uma bobinadeira, utilizei o código na ultima versão deste tópico para Arduino, porém gravei ela no ESP32, fazendo as alterações dos INPUTS/OUTPUTS, o programa funcionou quase que 100%, todos os comandos do teclado, o display 20x4, o controle do motor de passo, contagem das espiras, camadas, etc. tudo isso funcionou perfeitamente, porém estou tendo um problema com o acionamento do motor principal (que gira o carretel), assim que eu ligo a bobinadeira, o relé do motor fica permanentemente ligado, independente de qualquer coisa que eu faça.

Observação: meu conhecimento em programação é extremamente superficial, no código deste eu apenas alterei os pinos de entrada/saída respeitando a pinagem do ESP32, e fiz algumas correções devido a um erro de compilação (exit status 1) que estava ocorrendo, após isso ele funcionou ok, com exceção do relé do motor como citado acima.

Deixo anexo o arquivo da forma que gravei na máquina:

Desde já agradeço a quem puder ajudar!

Anexos

Boa tarde Gustavo, para resolver esse problema voce tem que verificar dois pontos, primeiro, observar se o relé é acionado ao ligar o sistema ou simplemente o motor dispara, segundo, ligue o sistema e faça uma programação normalmente, e no momento que voce escolher o sentido, vai entrar a tela de contagem,  e veja se o motor permanece ligado o se desliga, o mais provavel que tenha acontecido é que voce ligou os fios do motor na posição normalmente fechado do relé, faça os teste e nos retorne

Boa tarde Juarez, então, ainda está nas fases de protótipo, a máquina em si não está montada, o que comentei, é que assim que eu ligo a alimentação da "máquina", o GPIO23 (no qual está conectado o módulo relé) fica em nível HIGH permanentemente, se eu fizer a programação e iniciar o ciclo da bobinadeira, ele permanece em HIGH o tempo todo, já testei em outras GPIOs e obtive o mesmo resultado, o relé só desliga, obviamente, se eu desconectar ele do GPIO. Vou tentar gravar um vídeo para explicar a situação.

esse codigo que eu coloquei no topico é o que estou usando, tbm mudei para o ESP32 e rodou de boa, tambem esta disponivel para baixar, só que na versão para display TFT ILI9341

Segue o vídeo mostrando o problema: (perdoem a má qualidade)

https://youtu.be/9-LPffdVPDs

Notem que em momento algum se escuta o relé ligando/desligando, ele permanece ligado tempo todo, conforme mostra o LED verde no módulo.

Obs.: Ao gravar o código da forma original, houve um erro de compilação causado pelo termo "pause", modifiquei para "pausa" em todo código e esse erro parou, não sei se tem alguma relação com o problema e se poderia ter feito isso, mas como disse, sou praticamente leigo/iniciante em programação.

aqui tambem deu o mesmo erro na palavra pause, fiz o mesmo que voce fez e normalisou

vc ja ligou alguma coisa na saida do relé, tem como vc fazer uma programação?

veja nos dois videos, o primeiro é mais antigo e ta rodando com o código que vc baixou, o segundo é com o ESP32

https://www.youtube.com/watch?v=uhohNf27qRo&t=205s

https://www.youtube.com/watch?v=jDQ3ppqYqfM

Sim, o que me estranha é que todo restante está funcionando normal, convenhamos, assim que eu liguei a alimentação do circuito, a saída digital que vai para o relé deveria permanecer em LOW até que eu acionasse o motor pelo teclado, ao invés disso, assim que eu ligo o circuito ela já vai a HIGH. E as únicas mudanças que fiz no código foi o erro do pause, a definição dos input/outputs e alterar algumas escritas do display, fora isso está do jeito que baixei.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço