Ir ao conteúdo
  • Cadastre-se

Instabilidade usando PWM com PIC12F683


Posts recomendados

Olá pessoal, tô com uma situação inusitada no laboratório de automação onde trabalho.
Preciso relacionar uma entrada analógica a um motor 24VDC através de controle PWM, a princípio fiz com arduino uno e funcionou muito bem. 
Mas surgiu a necessidade de fazer a migração desse controle para o PIC12F683, aí que começa o problema. Fiz o código no mkroC, simulo no Proteus e vejo que tá tudo ok. Monto o circuito e o PWM é gerado normalmente, mas quando o motor é conectado o sistema para de funcionar completamente. Se desconectar o motor, o PWM volta a ser gerado. Já fiz o teste com uma carga resistiva e ocorreu o mesmo comportamento.
O código e o circuito estão em anexo.

Se alguém já passou por algo semelhante e deseja compartilhar, agradeço :D:D.

 

Controle PWM.jpg

controleMotor.txt

Link para o comentário
Compartilhar em outros sites

No esquema mostra um comando por opto acoplador. Isso é bom, permite que a fonte de 5V e 24V sejam independentes, isto é, se as fontes compartilham o Terra, corte o fio que faz isso.

Se com resistor o problema retorna, podemos eliminar possível indução magnética do motor.

adicionado 5 minutos depois

Curiosidade:

- Qual a corrente nominal desse motor?

- Qual a frequência do PWM?

adicionado 9 minutos depois

Agora que vi que os 5V é filho dos 24V

 

adicionado 17 minutos depois

Isso nos leva aos cuidados que devemos ter com o terra em  controle de potência. O que tens aí é que a circulação de alta corrente está provocando interferência no funcionamento do circuito de controle, MCU nesse caso.

Solução: da saída da sua fonte de 24V deve sair, de forma direta, sem escala, o fio que irá na fonte do mosfet. Desse mesmo ponto, sai o fio que irá alimentar o terra do controle. Isso se chama ligação em estrela. Do fio ideal ao real temos resistencias, indutâncias, carrapatos e mais um monte de parasitas. São eles que estão fazendo bagunça na sua montagem.

adicionado 23 minutos depois

Sem título.png

adicionado 30 minutos depois

Estou supondo que a fonte de 24Vcc aguenta o motor sem arrear.

adicionado 38 minutos depois

E não se esqueça do clássico capacitor colocado em cima da MCU, quanto mais encostado melhor. Isso está no manual de todos eles.

adicionado 56 minutos depois

Outro assunto, nada a ver com a instabilidade: está mesmo usando um mosfet de 600V? Esse modelo é muito bom para quem precida trabalhar acima de 400V, mas para 24Vcc tem coisa melhor e mais barato.

Vantagens de se usar um mosfet de 50/60V no lugar desse daí:

- Menor Rds, pelo menos 20X menor.

- Menor Qg => mais fácil de comutar, muito mais rápido.

- Tenho dúvidas que esse seu driver comute de forma adequada um mosfet que tem um Qg de 100nC.

- Dependendo da corrente pode ser a diferença entre ter que usar um dissipador ou não.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

+

qual a frequencia do pwm? Penso que um circuito push pull no gate do fet lhe cai bem. R1 e R2 me parecem 1 pouco altos.

De fato o opto está 1/2 que sem sentido pro caso do compartilhamento de gnd´s..

 

Agora se falar que está montado num protoboard e com zero técnica pra evitar ...

1 hora atrás, Sérgio Lembo disse:

circulação de alta corrente está provocando interferência no funcionamento do circuito de controle

...permita-me lhe dar um cascudo virtual.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Obrigado pelas rápidas respostas rs@Sérgio Lembo  e @Isadora Ferraz .
O mosfet utilizado é outro mais apropriado ao uso, só está esse na figura porque não o encontrei na biblioteca do proteus.
A ligação já está conforme sua sugestão e o capacitor em cima do MCU é o C2 de 100n, da imagem.
A corrente nominal do motor é 3A.
Foram testadas duas frequências para o PWM: 488Hz e 976Hz.

1 hora atrás, Sérgio Lembo disse:

No esquema mostra um comando por opto acoplador. Isso é bom, permite que a fonte de 5V e 24V sejam independentes, isto é, se as fontes compartilham o Terra, corte o fio que faz isso.

Se com resistor o problema retorna, podemos eliminar possível indução magnética do motor.

adicionado 5 minutos depois

Curiosidade:

- Qual a corrente nominal desse motor?

- Qual a frequência do PWM?

adicionado 9 minutos depois

Agora que vi que os 5V é filho dos 24V

 

adicionado 17 minutos depois

Isso nos leva aos cuidados que devemos ter com o terra em  controle de potência. O que tens aí é que a circulação de alta corrente está provocando interferência no funcionamento do circuito de controle, MCU nesse caso.

Solução: da saída da sua fonte de 24V deve sair, de forma direta, sem escala, o fio que irá na fonte do mosfet. Desse mesmo ponto, sai o fio que irá alimentar o terra do controle. Isso se chama ligação em estrela. Do fio ideal ao real temos resistencias, indutâncias, carrapatos e mais um monte de parasitas. São eles que estão fazendo bagunça na sua montagem.

adicionado 23 minutos depois

Sem título.png

adicionado 30 minutos depois

Estou supondo que a fonte de 24Vcc aguenta o motor sem arrear.

adicionado 38 minutos depois

E não se esqueça do clássico capacitor colocado em cima da MCU, quanto mais encostado melhor. Isso está no manual de todos eles.

adicionado 56 minutos depois

Outro assunto, nada a ver com a instabilidade: está mesmo usando um mosfet de 600V? Esse modelo é muito bom para quem precida trabalhar acima de 400V, mas para 24Vcc tem coisa melhor e mais barato.

Vantagens de se usar um mosfet de 50/60V no lugar desse daí:

- Menor Rds, pelo menos 20X menor.

- Menor Qg => mais fácil de comutar, muito mais rápido.

- Tenho dúvidas que esse seu driver comute de forma adequada um mosfet que tem um Qg de 100nC.

- Dependendo da corrente pode ser a diferença entre ter que usar um dissipador ou não.

 

Link para o comentário
Compartilhar em outros sites

Foram testadas duas frequências para o PWM: 488Hz e 976Hz.

Vou seguir suas sugestões, quando tiver resultado posto

Pode ficar despreocupada quanto à protoboard, o circuito tá em pcb :D

 

54 minutos atrás, Isadora Ferraz disse:

+

qual a frequencia do pwm? Penso que um circuito push pull no gate do fet lhe cai bem. R1 e R2 me parecem 1 pouco altos.

De fato o opto está 1/2 que sem sentido pro caso do compartilhamento de gnd´s..

 

Agora se falar que está montado num protoboard e com zero técnica pra evitar ...

...permita-me lhe dar um cascudo virtual.

 

adicionado 1 minuto depois
3 minutos atrás, Sérgio Lembo disse:

Resolveu?

Já está assim desde o início.

Link para o comentário
Compartilhar em outros sites

1 minuto atrás, Sérgio Lembo disse:

Posso estar errado, é duro fazer diagnóstico a distância, mas poste uma foto do lado cobreado do PCB indicando onde está:

- o GND que sai da fonte 24V

-  a fonte do mosfet 

- o GND do potenciometro.

Desculpe a insistência, mas seu relato é típico de erro de layout.

Nada, sem problemas! Agora não estou no lab, quando voltar lá tiro a foto.
Obrigado mais uma vez.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Não que isso vá resolver o problema mas pra otimizar teu projeto penso que podes conectar o pino 5 --[220R ou -]-- no gate do mosfet. Menor impedância e tal. Caso ele seja coletor aberto, escolha outro pino que seja push pull. Vai economizar um opto e tal

Além do que o amigo @Sérgio Lembo menciona, penso que deves observar:

-a programação do fuse de reset

-a do brown out detector ou low power on reset

-a do power up timer and/or oscilator start up timer

-watch dog

-(não sei se quero que publiques o fonte. Na dúvida, não publiques pois posso não querer analisar)

-alguma mínima blindagem no pot: capacitor na entrada e longe do motor. De fato mc longe dele.

-e claro se há queda do +5 ao acionar o motor bem como alguns etc

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Entendo, vou observar os pontos que falaste. Obrigado!

 

16 minutos atrás, Isadora Ferraz disse:

Não que isso vá resolver o problema mas pra otimizar teu projeto penso que podes conectar o pino 5 --[220R ou -]-- no gate do mosfet. Menor impedância e tal. Caso ele seja coletor aberto, escolha outro pino que seja push pull. Vai economizar um opto e tal

Além do que o amigo @Sérgio Lembo menciona, penso que deves observar:

-a programação do fuse de reset

-a do brown out detector ou low power on reset

-a do power up timer and/or oscilator start up timer

-watch dog

-(não sei se quero que publiques o fonte. Na dúvida, não publiques pois posso não querer analisar)

-alguma mínima blindagem no pot: capacitor na entrada e longe do motor. De fato mc longe dele.

-e claro se há queda do +5 ao acionar o motor bem como alguns etc

 

 

 

Link para o comentário
Compartilhar em outros sites

Olá, primeiramente, gostaria de pedir desculpas por uma informação equivocada que passei. Na verdade, apenas o regulador 7805 e o MOSFET que estavam em placa, o PIC estava numa protoboard.

adicionado 1 minuto depois

@Sérgio Lembo segue as fotos que você pediu, observando suas sugestões, fico até com vergonha do circuito montado rs. Verifiquei alguns erros, como a proximidade do regulador com o MOSFET (e compartilhando o mesmo ponto de referência) e a disposição dos fios e conexões. Não encontrei loops de terra.

MOSFET e regulador_antigo.jpg

PIC_antigo.jpg

adicionado 2 minutos depois

Com as dicas da  @Isadora Ferraz encontrei um texto muito bom da Texas Instruments sobre acionamentos de MOSFETs. Montei o Bipolar Totem-Pole Driver (push-pull) e o resultado foi muito bom.
O documento é esse:

Fundamentals of MOSFET and IGBT Gate Driver Circuits.pdf

adicionado 13 minutos depois

Agradeço muito a ajuda de vocês, muito obrigado mesmo! Não estou conseguindo anexar o esquemático, mas reunindo o que vocês falaram, a montagem ficou assim: 

Driver_e_MOSFET_novo.jpg

Regulador e PIC_novo.jpg

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Manter o GND dos sinais de controle bem separados da potência, assim como uma cuidadosa escolha onde a potência e o controle se encontrarão faz parte para se ter estabilidade, e nem precisa ser apenas em circuitos de grande potência, no exemplo abaixo é um circuito de fonte de 4W. Observe os cuidados com o GND

Sem título.png

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...