LusoRobótica - Robótica em Português

Mecânica => Servos => Tópico iniciado por: Arknum em 17 de Junho de 2010, 15:43

Título: [Ajuda] Modificar Mini Servo para 360º
Enviado por: Arknum em 17 de Junho de 2010, 15:43
Boas

Decidi modificar um mini servo para full rotation mas antes que faça asneira venho pedir alguns conselhos.

Este é o mini servo que tenho:

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg59.imageshack.us%2Fimg59%2F9593%2Fdsc09293l.jpg&hash=c75935d5d08288e86ca31963ef628f42806b7592) (http://img59.imageshack.us/i/dsc09293l.jpg/)

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg59.imageshack.us%2Fimg59%2F7736%2Fdsc09294q.jpg&hash=80e9e87c7b2c916ecf55b0f22bfb9ffa5d1ff83e) (http://img59.imageshack.us/i/dsc09294q.jpg/)

Uploaded with ImageShack.us (http://imageshack.us)

Por aquilo que vejo nas imagens acho que basta cortar o plastico que está na segunda imagem, certo?

(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fimg63.imageshack.us%2Fimg63%2F2748%2Fdsc09297j.jpg&hash=5bb3a1c13a1c457b517e0982cfdccebf75ea1fa9) (http://img63.imageshack.us/i/dsc09297j.jpg/)

Agora é que são elas. Pelo que vi nos tutoriais dos servos normais é possivel, fazendo umas alterações, continuar a utilizar o potenciometro, mas neste caso como é muito pequeno acho que à maneira de conseguir manter o potenciometro, acho eu??!

Tambem vi nos servos normais utilizar duas resistencias de 2K2 em substituição do potenciometro, e neste tipo de servos tambem é possivel esse sistemas das resistencias?

Sugestões aceitam-se.




Título: Re: [Ajuda] Modificar Mini Servo para 360º
Enviado por: AcidDagger em 17 de Junho de 2010, 18:31
o njay é que te sabe responder
Título: Re: [Ajuda] Modificar Mini Servo para 360º
Enviado por: FET_Destroyer em 17 de Junho de 2010, 19:19
Existem duas maneiras de pores um servo a rodar 360º.
A mais pratica e mais simples, é retirares a electrónica toda, ficando só apenas com o motor e as engrenagens, soldas 2 condutores aos terminais do motor e está feito.
A maneira mais dificil é retirares o potenciómetro e substitui-lo por 2 resistências iguais, ou cortares o veio do potenciómetro e cola-lo na sua posição central. O objectivo é fazer com que o servo esteja sempre a ler que está no centro, assim se mandares um pulso 1,7ms ele vai rodar para um lado e nk mais parar pois está sp na posição central e vice-versa. Espera ter ajudado, sei que fotos era o ideal mas não tenho.
Cumps
Título: Re: [Ajuda] Modificar Mini Servo para 360º
Enviado por: amando96 em 17 de Junho de 2010, 19:42
Não considero a maneira de retirar a electronica toda prática de todo, depois precisas de mais 3€ para ponte H, e gastas o dobro dos pinos para controlar o motor... mas isso talvez seja só eu.
Título: Re: [Ajuda] Modificar Mini Servo para 360º
Enviado por: FET_Destroyer em 17 de Junho de 2010, 20:01
Depende do que quiseres fazer, sem electronica é muito melhor.
Podes alimentar os motores, servos normais, até 9V, enquanto que com electrónica não podes, só até 6V.
Sim poupas numa ponte-h, mas penso que o controlo seja muito melhor do que com a electrónica do servo
Título: Re: [Ajuda] Modificar Mini Servo para 360º
Enviado por: Njay em 17 de Junho de 2010, 22:00
Eu diria que sim, que é cortar essa protuberância que sai da caixa e que entra dentro da roda grande. É muito mais fácil do que tentar cortar os batentes dentro da roda dentada.

Quanto ao potenciómetro, a minha sugestão é só uma: mantê-lo.
O que tens a fazer é cortar o bocadinho do veio da engrenagem branca que entra dentro do pot até que o pot já não vire com a engrenagem (corta o menos possível, esse veio também é o eixo dessa engrenagem). Depois, com o servo ainda aberto como o tens agora, fazes um programa de teste e envias impulsos "HIGH" de 1.5ms (servo ao centro). Ligas tudo e depois ajustas o pot até o motor parar de rodar ou ficar o mais possível parado; quando chegares a este ponto o servo está "calibrado". Fecha tudo normalmente, com as peças todas no sítio e está pronto! Se quiseres podes dar uma gotinha minúscula de cola numa junta do pot (a junta onde a parte móvel "roça" na parte fixa) ou dá-lhe um encostozinho com o ferro de soldar, para ele não rodar sozinho, mas se calhar até nem é necessário.

Eu pessoalmente acho que é um desperdício deitar fora a electrónica. O ponto forte do servo de rotação contínua, além de ser forte, é ter um controle muito fácil - basta ligar aquilo às pilhas e controlar só com um pino do microcontrolador, ligado directamente! Não há mais simples do que isto (e barato). E há que aproveitar essa vantagem. Eu não colocaria 9V num motor destes, mesmo com 5V já podemos fazê-los aquecer bem com uso continuado em esforço, e se ficarem demasiado quentes os imãs desmagnetizam e o motor deixa de rodar. Se é possível ligá-los a 9V, é, até é possível ligá-los a 12V ou a 20V, desde que por pouco tempo :). A questão é que para não deixar queimar o motor é preciso um controlo muito apertado do seu ciclo activo de funcionamento, e isso é uma coisa para "pros". O pessoal aqui quer é a coisa a funcionar sem grandes preocupações...
Título: Re: [Ajuda] Modificar Mini Servo para 360º
Enviado por: FET_Destroyer em 17 de Junho de 2010, 22:12
Eu já os tive a usar a 9.6V contínuos (servos futaba s3003) durante bastante tempo numa base e eles nunca sequer aqueceram.
Quanto á electrónica é claro que se poupa por usar o que lá está dentro mas tens um controlo muito melhor só mantendo o motor. Imagina algo, num PIC tens uma resolução de pwm de 1024, ou seja fazendo que o motor so roda a partir dos 20% mesmo assim ficas com muito controlo ainda de velocidade.
Pelo método que dizes acontece o seguinte, 1,5ms é o ponto centrado, mas se puseres 1,6ms ou 1,4ms ele já está a rodar talvez ao máximo, isso dá-te 1ms de resolução para controlares toda a velocidade do motor. Dependendo da frequência do meu micro pode ser bom ou nem por isso.
 
Título: Re: [Ajuda] Modificar Mini Servo para 360º
Enviado por: amando96 em 17 de Junho de 2010, 22:18
Controladores de servos como os da pololu aumentam a resolução, e com 2 pinos controlas muito servo...
Título: Re: [Ajuda] Modificar Mini Servo para 360º
Enviado por: FET_Destroyer em 17 de Junho de 2010, 22:24
sim, mas ai já tas a comprar material extra, muito mais caro que uma ponte-h
Título: Re: [Ajuda] Modificar Mini Servo para 360º
Enviado por: Njay em 17 de Junho de 2010, 22:34
Eu já os tive a usar a 9.6V contínuos (servos futaba s3003) durante bastante tempo numa base e eles nunca sequer aqueceram.

Puseste-lhes alguma carga ou estavam a rodar "em vazio"?

Quanto á electrónica é claro que se poupa por usar o que lá está dentro mas tens um controlo muito melhor só mantendo o motor. Imagina algo, num PIC tens uma resolução de pwm de 1024, ou seja fazendo que o motor so roda a partir dos 20% mesmo assim ficas com muito controlo ainda de velocidade.
Pelo método que dizes acontece o seguinte, 1,5ms é o ponto centrado, mas se puseres 1,6ms ou 1,4ms ele já está a rodar talvez ao máximo, isso dá-te 1ms de resolução para controlares toda a velocidade do motor. Dependendo da frequência do meu micro pode ser bom ou nem por isso.

Não tens que usar o hardware de PWM, e eu nem o recomendo, pois para cumprir a spec de dar um impulso a cada 20ms ficas com uma péssima resolução. Se fizeres a coisa em software consegues resolução mais que suficiente. Se achas que vai ficar lento é porque estás a usar um PIC ;). As experiências que já fiz foi com a MegaServo do arduino e com um PWM adaptado que codifiquei, e para um robot básico "normalissimo" chega perfeitamente.
Título: Re: [Ajuda] Modificar Mini Servo para 360º
Enviado por: FET_Destroyer em 17 de Junho de 2010, 23:00
Sim, tinham carga, era uma base robotica, tinha la a bateria em cima e é pesada.
Quanto ao pwm que me estava a referir é PWM do motor, 2,5khz prai não para controlar o servo mas sim a ponte-h e ai tem resolução de 1024. Para o pwm no servo, ou uso timers ou tenho uma placa com um cristal de 5Mhz e um PIC, faz com que tenha boa resolução no PWM para o servo. Mas o pwm que eu falava era para a ponte-h. Pa existem pics que eu uso entre 10 e 16MIPS, não sei como é o atmel do arduino. Qual a resolução que consegues ter em 1ms no arduino?
Tipo consegues dividir 1ms em quantas partes?
Título: Re: [Ajuda] Modificar Mini Servo para 360º
Enviado por: senso em 17 de Junho de 2010, 23:05
Os atmega, com cristal de 16Mhz, tambem têm 16MIPS.
Título: Re: [Ajuda] Modificar Mini Servo para 360º
Enviado por: Njay em 17 de Junho de 2010, 23:27
Sim, tinham carga, era uma base robotica, tinha la a bateria em cima e é pesada.

Humm, tou admirado, não esperaria que motores de servos especificados para 4.8V a 6V ficassem assim tão frios a correr bastante tempo a 9.6V com carga. Quanto é "bastante tempo" e o que fazia a base?
Os dos servos que vendo não me parece que se aguentem a essa "bronca" (nem são obrigados a aguentar), mas ainda hei-de experimentar por curiosidade.

Quanto ao pwm que me estava a referir é PWM do motor, 2,5khz prai não para controlar o servo mas sim a ponte-h e ai tem resolução de 1024. Para o pwm no servo, ou uso timers ou tenho uma placa com um cristal de 5Mhz e um PIC, faz com que tenha boa resolução no PWM para o servo. Mas o pwm que eu falava era para a ponte-h. Pa existem pics que eu uso entre 10 e 16MIPS, não sei como é o atmel do arduino. Qual a resolução que consegues ter em 1ms no arduino?
Tipo consegues dividir 1ms em quantas partes?

Assim de cabeça não te sei dizer, mas são muitas; num AVR a correr a 16MHz deves ser capaz de fazer uns 15.6KHz de PWM com 10 bits de resolução em hardware. De qualquer forma 2.5KHz chegam perfeitamente para "atacar" uma ponte H, portanto é irrelevante. Mas para que queres controlar um motor DC numa base com uma resolução de 1024 níveis? Parece-me completamente "overkill".
Título: Re: [Ajuda] Modificar Mini Servo para 360º
Enviado por: FET_Destroyer em 17 de Junho de 2010, 23:37
Os servos estão especificados para 4.8V por causa da electrónica lá dentro. Aquilo tem la uma ponte-h e um controlador para fazer o servo mover, isso penso que funciona a 5V, daí a alimentação ser assim.
A base só andava em frente e virava sempre que encontrava uma parede. em cima tinha, a bateria e a placa controladora de motores e a carcaça em si que era feita de pcb. Convém salientar que o pwm não estava no máximo talvez a 60%, daí eles também não aquecerem muito.

Só o facto de ter mais resolução é melhor. lol
Para já ainda não sei mexer em PID, mas se tiveres a usar PID quanto melhor for a resolução do encoder e do pwm melhor fica o teu movimento, se tiveres uma resolução de pwm baixa um movimento suave pode já não ser possivel.
Título: Re: [Ajuda] Modificar Mini Servo para 360º
Enviado por: Njay em 17 de Junho de 2010, 23:53
Ah, tu disseste 9.6V continuos... com PWM a 60% já é uma história completamente diferente, em média o motor "vê".... tchan tchan.... 9.6V x 60% ~ 5.76V :p!
Título: Re: [Ajuda] Modificar Mini Servo para 360º
Enviado por: FET_Destroyer em 18 de Junho de 2010, 00:02
Pois, realmente devia ter falado no pwm, quando disse contínuos tava me a referir a DC, devia ter falado no pwm, mas como disse o pwm não era sempre 60, ia a mais e a menos, mas a media devia rondar os 60,70% sn a base andava muito rápido.
Mas voltando á questão eles aguentam 9V continuos, com pwm a 100%, pois eu também antes liguei-os a uma fonte e tive algum tempo a testar na base, mas ai a base estava oca, não tinha peso mas tb não senti qqer aquecimento nos motores, mas é provável que em esforço aqueçam.
Título: Re: [Ajuda] Modificar Mini Servo para 360º
Enviado por: Arknum em 18 de Junho de 2010, 23:37
Boas

Tenho boas noticias, o mini servo já roda :P.
O que fiz foi cortar um pouco do veio para não dar a volta ao potenciometro, que foi relativamente facil, e depois cortei(foi mais derreter com o ferro) a protuberância da caixinha preta para a roda dentada poder andar livre, mas correu um pouco mal porque quando roda nota-se que anda ali qualquer coisa a roçar. Depois, utilizando um programa de teste calibrei o servo ate estar parado, experimentei mas vi que com a trepidação o potenciometro descalibrava, então pus uma gota de cola quente e pumba 5*.

Obrigado a todos e especialmente ao Njay, os teus conselhos foram essenciais.

E se quiserem posso fazer um tutorial para estes mini servos, já que são um pouco diferentes dos outros, porque vou modificar um outro mini servo e assim aproveito e tiro umas fotos dos procedimentos.

Cumprimentos


Título: Re: [Ajuda] Modificar Mini Servo para 360º
Enviado por: Njay em 18 de Junho de 2010, 23:59
Porreiro! Cá esperamos o tutorial fotográfico :)

Aconselho a baixar o pino de controle do servo quando é suposto estar parado, caso contrário o servo pode não chegar mesmo mesmo mesmo a parar (ou fica-se a ouvir um zumbidozinho que é ele a tentar andar mto, mto devagar). Tenho por aí um tópico com uma classe que já faz isso usando a MegaServo, mas é para Arduino...

Quanto ao "roçar", se for uma coisa muito ligeira (é ligeiro se deixa de se notar quando colocas alguma carga) não faz mal; isso é tudo plástico e com o tempo as peças adaptam-se sem problemas.