Autor Tópico: Controle Servo Motor  (Lida 1599 vezes)

Description:

0 Membros e 1 Visitante estão vendo este tópico.

Offline alangustavo_

  • Fuso
  • **
  • Posts: 110
  • Sexo: Masculino
  • GUIA CNC
  • Cidade - UF: Santa Fe do Sul - SP
  • Nome:: Alan Gustavo
  • Profissão: nao tenho
Controle Servo Motor
« Online: 03 de Maio de 2016, 22:06 »
Tenho um motor servo motor dc com encoder, estou aprendendo seus conceitos para mim poder fazer seu controle, pelo que entendi sobre ele até agora é que o encoder faz a leitura dos passos e a posição, o motor se movimenta através de uma ponte h, e quando invertido o sinal os polos da ponte, ele muda a direção da rotação, até ai tudo bem, o que não entendo é como controlo a frenagem dele, pq quando acionado, ele irá girar e o encoder começara a contar os passos, ai quando chegar na posição que eu quero, ele não pode simplesmente parar de uma vez certo? mesmo que tenha uma desaceleração terá uma força empurrando ele, como é feito essa parada  para que ele não passe da posição que eu quero?

Offline F.Gilii

  • Administrador
  • CNCMASTER
  • *******
  • Posts: 13796
  • Sexo: Masculino
  • Consultoria, Automação e Construção de Máquinas
  • Cidade - UF: Atibaia - SP
  • Nome:: Fabio Gilii
  • Profissão: Tec. Mecanica de Precisão
Re:Controle Servo Motor
« Resposta #1 Online: 05 de Maio de 2016, 08:24 »
Alan,

Todo o controle é feito em uma eletrônica dedicada ao servo, e existem drives prontos para esta função - resta conhecer as características do motor e do encoder para encontrar a solução mais adequada à você.

Offline alangustavo_

  • Fuso
  • **
  • Posts: 110
  • Sexo: Masculino
  • GUIA CNC
  • Cidade - UF: Santa Fe do Sul - SP
  • Nome:: Alan Gustavo
  • Profissão: nao tenho
Re:Controle Servo Motor
« Resposta #2 Online: 06 de Maio de 2016, 23:17 »
Então, não preciso de um driver desses para servo, eu montei o circuito com uma ponte h e leitura de encoder, tudo aciona do e lido por um mcu, o q tá acontecendo e que quando eu mando ele ir para uma posição ele começa a girar para chegar a posição, quando ele chega na posição elê para..mas por estar rapido ele passa do lugar aí ele tenta voltar, mas só de acionar ele novamente passa da posição, aí fica tremendo tentando parar na posição mas não consegui

Offline minilathe

  • How to ask questions - The Smart Way...
  • Moderadores
  • CNCMASTER
  • ******
  • Posts: 4295
  • Sexo: Masculino
  • http://science-lakes.com/article43-html.html
  • Cidade - UF: Rio de Janeiro - RJ
  • Nome:: Gil Pinheiro
  • Profissão: Engenheiro e professor universitário
Re:Controle Servo Motor
« Resposta #3 Online: 07 de Maio de 2016, 07:41 »
Então, não preciso de um driver desses para servo, eu montei o circuito com uma ponte h e leitura de encoder, tudo aciona do e lido por um mcu, o q tá acontecendo e que quando eu mando ele ir para uma posição ele começa a girar para chegar a posição, quando ele chega na posição elê para..mas por estar rapido ele passa do lugar aí ele tenta voltar, mas só de acionar ele novamente passa da posição, aí fica tremendo tentando parar na posição mas não consegui

Dando meu pitaco, há um problema de sintonia do controlador, pois o motor passa do ponto e depois volta. Além disso, ficar tremendo é outro indício de sintonia deficiente. Inicie usando testes com degrau, sendo importante plotar num gráfico a posição real e a posição desejada para ver o que está acontecendo.

Outra opção é tentar um algoritmo de autotuning, mas, não existe mágica nesse assunto, e você deve saber muito bem o que está acontencendo e o que está fazendo para usar e implementar um algoritmo desses (ter um gráfico previamente ajudaria).

Pode até estar havendo algum problema de ruído no sinal do encoder ou de erro de interpretação do sinal do encoder, resultando em erro de leitura de posição. Um gráfico também ajudaria.
« Última modificação: 07 de Maio de 2016, 07:44 por minilathe »

Offline alangustavo_

  • Fuso
  • **
  • Posts: 110
  • Sexo: Masculino
  • GUIA CNC
  • Cidade - UF: Santa Fe do Sul - SP
  • Nome:: Alan Gustavo
  • Profissão: nao tenho
Re:Controle Servo Motor
« Resposta #4 Online: 07 de Maio de 2016, 14:59 »
entendi, o servo motor ele tem uma tolerancia de erro de posicionamento ?, exemplo se o seu encoder tem 500cpr , e vc manda ele posicionar em angulo que chegue em 200cpr, ele pode ter uma tolerancia de erro configuravel como por exemplo uma tolerancia de 5 poderia ficar assim = 195cpr a 205cpr ou eles não tem este tipo de tolerancia de erro ?

Offline minilathe

  • How to ask questions - The Smart Way...
  • Moderadores
  • CNCMASTER
  • ******
  • Posts: 4295
  • Sexo: Masculino
  • http://science-lakes.com/article43-html.html
  • Cidade - UF: Rio de Janeiro - RJ
  • Nome:: Gil Pinheiro
  • Profissão: Engenheiro e professor universitário
Re:Controle Servo Motor
« Resposta #5 Online: 07 de Maio de 2016, 21:50 »
entendi, o servo motor ele tem uma tolerancia de erro de posicionamento ?, exemplo se o seu encoder tem 500cpr , e vc manda ele posicionar em angulo que chegue em 200cpr, ele pode ter uma tolerancia de erro configuravel como por exemplo uma tolerancia de 5 poderia ficar assim = 195cpr a 205cpr ou eles não tem este tipo de tolerancia de erro ?

Não há um valor de erro definido, o erro é função da eficiência da sintonia do controlador. O erro deve ser mínimo, mas, a minimização do erro (com maior ganho de malha - ação proporcional, por exemplo) leva a outros problemas como o overshoot e possíveis instabilidades. A sintonia é como um cobertor curto, uma coisa melhora (menor erro) com prejuízo de outras coisas (maior instabilidade). A sintonia deve ser estudada e feita cuidadosamente, para buscar uma eficácia na usinagem com minimização do erro global de posicionamento na movimentação, que resulta em melhor acabamento na usinagem. Por isso existem algoritmos de autotuning,  que não fazem mágica, mas bucam um ponto "ideal". A sintonia ideal depende do sistema (CNC+motor+sistema de movimentação, ...).

Como o controle pode não zerar o erro em alguns trechos da movimentação, deve ser definido uma faixa de erro aceitável. Considere que até motores de passo possuem erros de movimentação, pois a posição num certo ponto do rotor (ângulo do rotor) pode ser alterada ligeiramente com algum torque, o sistema magnético de posicionamento busca um equilíbrio, mas não trava o rotor numa certa posição. Não sei se me fiz entender ...

Por isso tudo e todos os sistemas controlados, existe a chamada "Teoria de Controle", que não é algo para "amadores". Mas, não se deixe desanimar por isso.

Procure ler sobre controle PID (Proporcional, Integral e Derivativo), para começar....
« Última modificação: 07 de Maio de 2016, 22:00 por minilathe »

Offline alangustavo_

  • Fuso
  • **
  • Posts: 110
  • Sexo: Masculino
  • GUIA CNC
  • Cidade - UF: Santa Fe do Sul - SP
  • Nome:: Alan Gustavo
  • Profissão: nao tenho
Re:Controle Servo Motor
« Resposta #6 Online: 07 de Maio de 2016, 23:01 »
entendi, consegui um posicionamento com uma tolerância de erro de 1cpr para mais ou para menos, meu encoder tem uma resolução de 500 cpr, me parece estar com uma otima precisao,
pois o motor tem 500cpr * redutor 6:1 = 3000, polia com correia dentada movimentando a ex: 30mm por revolução --->> 30/3000 = 0,01mm

tolerância de erro de posicionamento ficaria 0,01mm para mais ou para menos, agora resta saber o resultado final... vou usar em uma plotter de recorte que estou montando, de 1,60m

 

/** * */