Boa noite  pessoal.

estou prescisando de uma ajuda para mover meus servo ate 270 graus.

coloquei um fio de feedback no servo o potenciometro dele so vai ate +-523?

tentei como o sketch abaixo e nada

percebi que qdo o valor do angulo passa de 180、 o angulo volta a 0(monitorando a porta serial)

Specifications
  • Weight: 75grams / 2.60oz without splined horn
  • Dimensions: 43 × 32× 32.5 mm (1.69 x 1.25 x 1.28 inch)
  • Torque At 7.4V: 25.1kg/cm , 348oz/in
  • Speed At 7.4V: 0.18sec / 60 deg at no load
  • Torque At 8.3V: 32.4kg/cm , 466oz/in
  • Speed At 8.3V: 0.16sec / 60 deg at no load
  • Torque At 12V: 53.1kg/cm , 708z/in
  • Speed At 12V: 0.14sec / 60 deg at no load
  • Motor Type: Japan Brushless motor
  • Potentiometer Type: FSE11-4 Slider/indirect drive
  • Amplifier Type: 6A Treble Power MOS-FET
  • Wire Info (Black): - Negative
  • Wire Info (Red): + Positive
  • Wire Info (White): S Single
  • Gear Types: Stainless Steel
  • Travel Degree: 280 degree / 0.9us ~ 2.1us PWM
  • Operation Voltage: 7.4V ~ 12V (2S ~ 3S Li Poly)

Exibições: 1029

Anexos

Responder esta

Respostas a este tópico

Muda o 

"byte angulo"

para

"int angulo"

Acho q resolve.

Boa noite Eduardo muito obrigado mais uma vez.

mudei de byte para int como voce mencionou e agora o angulo vai ate 270, so que q o servo so vai ate 180

desse jeito; vou aumentando o potenciometro o servo vai subindo e quando chega no 180 ele para e continuo aumentando o potenciometro os graus sobe ate 270 mais o servo fica nos 180 graus?

pode me ajudar?

no servo1.attach(8,900,2100);

se eu apago o 900,2100 o servo vai ate os 180 mais no angulo fica como +-145

mais fica na mesma coisa o servo em si nao passa dos 180graus.

No int angulo = map(lido, 0, 1023, 0, 270); tentei tambem colocar

int angulo = map(lido, 0, 1023, -135, 135);

ai o servo so comeca a mexer depois do 0 ate os 135(meche somente 135 graus)

Sr MM. boa noite.

minha primeira sugestão:

Remova seu sketch da área de texto do seu tópico; e

Clique em : " Deseja carregar arquivos? " e depois em " Escolher arquivo" e anexe o arquivo
com o seu sketch.

RV

Muito obrigado pela sugestao.

da proxima vez vou tomar cuidado.

Então remova o  sketch da área de texto do seu tópico; e

Clique em : " Deseja carregar arquivos? " e depois em " Escolher arquivo" e anexe o arquivo 
com o seu sketch.

RV

Bom dia, Márcio

Quando eu enviei essas especificações para você, achei estranho esse angulo de 280.

Pois o padrão dos servomotores é de 180 graus, com pulsos de 0,9ms até 2,4 ms

Travel Degree = 280 degree / 0.9us ~ 2.1us

http://labdegaragem.com/forum/topics/servo-12v?commentId=6223006%3A...

Veja que são duas grandezas diferentes ! O seu motor parece que trabalha com pulsos de microsegundos. E não milisegundos como o padrão. Ou as especificações do seu motor estão incorretas, ou realmente ele trabalha com pulsos de microsegundos. 

Referência para estudos:

https://www.arduino.cc/en/reference/servo

http://playground.arduino.cc/ComponentLib/servo

https://www.arduino.cc/en/Reference/ServoAttach

https://learn.adafruit.com/adafruit-arduino-lesson-14-servo-motors/...

Muito obrigado Jose.

o servo e de taiwan nao posso garantir se esta certo ou errado mais 0.9microsegundos??

vou pesquisar um pouco mais.

Boas noite MM,

como você foi atencioso, vou postar o que já estava preparado pra você.

A maioria dos servos  motor funcionam por um pseudo PWM e que tem o seu deslocamento

controlado pelo duty cycle do pulso.

A posição 0° (angulo zero) equivale à duty de +- 900µs, a posição 180° equivale à duty de

+- 1200µs  e a posição 270° equivale à um duty de 2700µs .

Ao criar o objeto servo1 você definiu a faixa de tempo de 900µs até 2100µs, portanto definiu

que o servo só irá até 180°.


Modifique a linha de criação do objeto servo1.attach(8,900,2100); 

para servo1.attach(8,900,2700);  e você deverá conseguir atingir os 270°.

Anexo o seu sketch modificado para atingir 270°.

Testa ai e depois conta pra gente o resultado.

RV


Cálculo do tempo para o objeto:


 Duty t = ((angulo * 6,669) + 900)           

 6,669 = valor para cada angulo de deslocamento.


Angulo    Duty

     0       900

   90      1501

  160     1974

  180     2100

  270     2700

Anexos

Mineirin muito obrigado mesmo.

e que sou novo aqui e nao sabia como alterar o que eu ja tinha postado.

daqui pra frente vou tomar cuidado.

vou testar agora mesmo

Ola Mineirin.

testei agora o sketch modificado e ficou assim

eu vou aumentando o potenciometro o angulo vai subindo junto com o servo(ate ai tudo bem)

mais quando o angulo chega a 115 o servo para; mais com um angulo de 180 dai pra frente so o angulo vai subindo e o servo continua parado no 180graus.

sera que esse servo ta quebrado tambem?

comprei 3 e um ficava tremendo ate sair fumaca do fio 12v

outros 2 pelo menos movimentou normal.

vo tentar no outro servo que sobrou.

Esta difícil de entender esse movimento.

Sugiro que envie um vídeo do seu teste. 

Jose colocar um video fica dificil vou postar fotos.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço