• Welcome to LusoRobótica - Robótica em Português.
 

Controle de motores

Started by josecarlos, 31 de December de 2015, 11:12

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

artur36

Estás a pensar fazer quantos eixos? Para um braço robótico deverias pensar numa desmultiplicação por sem-fim em roda dentada, assim não precisas de estar constantemente a mover o motor mesmo com o braço parado.

Se colocares o encoder no actuador final a sua leitura dá-te a posição real, e a partir daí calculas o que fazer ao motor. Para um braço robótico pequeno um encoder absoluto óptico caseiro pode ser grande demais pelo que talvez seja melhor analizares a opção que indiquei de encoders magnéticos

dropes

Pelos vídeos que foram aqui colocados e da dúvida em detectar a posição do braço, não hesitava em colocar servos, tudo bem que por vezes parecem soluçar dando uma visão falsa da harmonia que deveriam ter, logo, servos de maior torque / potência.

São baratos, fáceis de se controlar e principalmente precisos.
Particularmente gosto de encoders, devem ser colocados no eixo do motor antes da desmultiplicação, entretanto também têm inconvenientes, como terem de detectar a posição de origem para se situarem.
Cada aplicação o seu motor, mas o que descartava mesmo eram motores de passo neste caso.

StarRider

#17
Quote from: dropes on 01 de January de 2016, 15:56
Pelos vídeos que foram aqui colocados e da dúvida em detectar a posição do braço, não hesitava em colocar servos, tudo bem que por vezes parecem soluçar dando uma visão falsa da harmonia que deveriam ter, logo, servos de maior torque / potência.

São baratos, fáceis de se controlar e principalmente precisos.
Particularmente gosto de encoders, devem ser colocados no eixo do motor antes da desmultiplicação, entretanto também têm inconvenientes, como terem de detectar a posição de origem para se situarem.
Cada aplicação o seu motor, mas o que descartava mesmo eram motores de passo neste caso.

E qual é a justificação para essas afirmações ?
Peço desculpa, mas fico com a ideia que quem diz que num sistema de posicionamento se deve instalar o elemento sensor da posição no primeiro elo de uma cadeia mecânica não tem noção do que está a falar. É claro que a UNICA forma de eliminar tudo o backlash de  um qualquer sistema de multiplicação e transição é ter uma leitura do FINAL e NUNCA no eixo do motor.

O mesmo se pode argumentar em relação aos motores de passo, numa relação directa torque/precisão têm vantagem e uma vez que será necessário usar uma caixa de redução com o motor DC para aumentar o torque não vejo porque não usar um stepper mais pequeno.

É claro que falo por experiencia e como é obvio posso estar moldado pela minha preferência em usar steppers, mas é como disse no inicio, se tiveres uma justificação para as tuas afirmações penso que é do interesse de todos ouvir as mesmas.

Abraços
PA

TheDeadLives

Que tal Dynamixel? Herkulex? Turnigy? Não faltam por aí opções......

josecarlos

Quote from: TheDeadLives on 01 de January de 2016, 20:57
Que tal Dynamixel? Herkulex? Turnigy? Não faltam por aí opções......

Olá @TheDeadLives

Já estamos no nível um bocadinho mais acima é também de valorizar  a tua sugestão pois é possível começar por ai.

Obrigado

Quote from: StarRider on 01 de January de 2016, 16:29
É claro que a UNICA forma de eliminar tudo o backlash de  um qualquer sistema de multiplicação e transição é ter uma leitura do FINAL e NUNCA no eixo do motor.



Podias explicar melhor como eliminas essa folga, tinha ideia que o encoder tem de relacionar com o motor  mesmo estando numa engrenagem final.





Quote from: StarRider on 01 de January de 2016, 16:29


O mesmo se pode argumentar em relação aos motores de passo, numa relação directa torque/precisão têm vantagem e uma vez que será necessário usar uma caixa de redução com o motor DC para aumentar o torque não vejo porque não usar um stepper mais pequeno.



Neste caso como controlas? por passos ou com encoder no fim da caixa redutora.

Obrigado








artur36



Quote from: josecarlos on 01 de January de 2016, 21:38
Podias explicar melhor como eliminas essa folga, tinha ideia que o encoder tem de relacionar com o motor  mesmo estando numa engrenagem final.

Se tens o encoder directamente no actuador final a posição que ele te dá é sempre a posição real deste, já com as folgas incluídas. Com esta opção não precisas de te preocupar com as folgas, acciomas o motor até o encoder dar a posição que tu queres e páras aí, se o actuador sair da posição recebes logo esse feedback e podes actuar imediatamente.
O ideal para mim seria sempre o encoder absoluto, especialmente no caso de vários eixos pois não precisas de te preocupar em andar a contar passos ou tic's do encoder, basta leres regularmente o encoder e este já te dá o valor "calculado" automaticamente.

jm_araujo

Um motor, um conjunto de engrenagens e um encoder no final que contribui para o controlo do motor (formando um ciclo de feedback), é por definição um servo. Não tem de estar tudo numa caixa fechada e hermética ;)

josecarlos

#22
Tenho de fazer uns testes e ver os resultados ;)
Já agora respondendo a tua pergunta são 6 eixos.

Obrigado

Video didáctico explica um pouco sobre encoderes.


https://youtu.be/O1lR-huV9EU


dropes

Quote from: StarRider on 01 de January de 2016, 16:29
E qual é a justificação para essas afirmações ?
Peço desculpa, mas fico com a ideia que quem diz que num sistema de posicionamento se deve instalar o elemento sensor da posição no primeiro elo de uma cadeia mecânica não tem noção do que está a falar. É claro que a UNICA forma de eliminar tudo o backlash de  um qualquer sistema de multiplicação e transição é ter uma leitura do FINAL e NUNCA no eixo do motor.
Não sei porquê mas quando postas alguma coisa estás sempre ao ataque, podes colocar a tua opinião assim como eu posso justificar sem qualquer problema o que escrevo. Dúvidas é uma coisa, criticar negativamente é outra que não tenho de aturar.

Queres saber qual a diferença de um sensor de posicionamento para um encoder, 1º um sensor de posicionamento é colocado na última engrenagem como um potenciómetro, já um encoder é sim colocado no EIXO para se ter maior precisão, com ou sem backlash não vai ser um encoder no final que corrige isso. Vai depender do nº de engrenagens assim como a qualidade delas.

Quote
O mesmo se pode argumentar em relação aos motores de passo, numa relação directa torque/precisão têm vantagem e uma vez que será necessário usar uma caixa de redução com o motor DC para aumentar o torque não vejo porque não usar um stepper mais pequeno.
Se for realmente um motor de passos usado num servo tem as suas vantagens, já controlá-lo fica mais complexo.

Quote
É claro que falo por experiencia e como é obvio posso estar moldado pela minha preferência em usar steppers, mas é como disse no inicio, se tiveres uma justificação para as tuas afirmações penso que é do interesse de todos ouvir as mesmas.

Abraços
PA
Também gosto muito de steppers, têm bom torque e são extremamente precisos, como referi é uma questão de adicionar um controlador para cada motor, apesar de não ser muito praticável quando falamos de um braço para um robot ou grandes quantidades em que têm de manter as posições a baixo consumo, aí prefiro os servos em DC.

É apenas a minha opinião, afinal cada um tem o seu ponto de vista.


Abraços também para ti StarRider, um bom ano.

artur36

Deparei-me agora com esta entrada no letsmakerobots:
http://letsmakerobots.com/node/46268

Se o peso não for problemático é uma questão de aprimorar o método de feedback e controlo que neste vídeo é muito rudimentar. Fica a dica

josecarlos

Boas :)

Aqui está a ser utilizado um potenciómetro como feedback basicamente um servo em grande escala.
E quando tudo aponta para o encoder o potenciómetro é mais confiável? 

Outro exemplo com driver L298n.

https://youtu.be/ZVB3Z_jmE20


Pretendo utilizar motores pequenos mas com caixas de redução para ter a força que preciso, tendo em consideração peso e o consumo.



artur36

Quote from: josecarlos on 03 de January de 2016, 10:59
Boas :)

Aqui está a ser utilizado um potenciómetro como feedback basicamente um servo em grande escala.
E quando tudo aponta para o encoder o potenciómetro é mais confiável? 

Confiável tudo depende da maneira como fizeres o sistema, o lugar mais propicio a falhas será a ligação entre o "instrumento de medida" e a roda dentada, mas se fizeres um encoder caseiro também te arriscas a que algo nele falhe.
Se o que querias saber era a resolução e repetitibilidade pode ser a mesma nos dois sistemas, no caso do potenciómetro terá a ver com a qualidade do potênciometro e a resolução do ADC, no caso do encoder se optares por um de compra tens a resolução e repititibilidade que comprares e tens a mais valia de usar apenas sinais digitais, se construires tu o encoder tens de contar com eventuais falhas e a resolução deverá ser sempre mais baixa a não ser que tenhas bons equipamentos de fabricação em casa.

Quote
Outro exemplo com driver L298n.
Pretendo utilizar motores pequenos mas com caixas de redução para ter a força que preciso, tendo em consideração peso e o consumo.
O L298 substitui o comando de servos do exemplo que eu dei, mas aqui não tem feedback de posição a utilização "correcta" seria um "sensor" no eixo de saída do motor ligado a um microcontrolador que por sua vez actuaria sobre o L298 regulando a direcção e a velocidade conforme necessário para atingir a posição desejada.

josecarlos

 Um servo para controlar o feedbak, o potenciómetro para o eixo do motor  e a ponte H do servo para controlar o L298N  isto completa o sistema.

Assim pode ser controlado vários motores, só tem um inconveniente é se manteres a posição muito tempo vai fritar qualquer coisa . :-[

artur36

Quote from: josecarlos on 03 de January de 2016, 16:08
Um servo para controlar o feedbak, o potenciómetro para o eixo do motor  e a ponte H do servo para controlar o L298N  isto completa o sistema.

Explica lá melhor que não percebi nada

josecarlos

Normalmente as saídas do motor do servo é que controlam o driver ;)