Author Topic: Motor modification question  (Read 1322 times)

0 Members and 1 Guest are viewing this topic.

Offline roshan.r24Topic starter

  • Jr. Member
  • **
  • Posts: 13
  • Helpful? 0
Motor modification question
« on: August 17, 2009, 06:56:24 AM »
Hey everyone,
Im in the middle of modifying my servos for the 50$ robot. Ive got an HS-311 equivalent.
I want to understand what exactly is the purpose of setting the pot at the 0 degree position before gluing it.
Let me get this right.
I need to give a 1.5ms signal while setting the pot so that the motor starts rotating and when it slows down and eventually stops i kno that the pot is set exactly at the center, correct?
now
A)can this step be done by connecting a Regulated DC power supply of 6V and a 1.5ms square pulse from the signal generator to the respective pins? (as opposed to connecting the motor onto my board and sending the mcu a code from my PC to give the 1.5ms signal)

B)Also, what exactly is the significance of this 1.5ms signal? and once the motor stops (after setting the pot at exactly in the centre) how does it rotate again when we connect it to the board after programming the Atmega8 with the 50$ robot code?


Offline Finnik

  • Full Member
  • ***
  • Posts: 59
  • Helpful? 4
Re: Motor modification question
« Reply #1 on: August 17, 2009, 07:16:04 AM »
A) No, you can't use a 1.5 ms square pulse, you have to send 1.5 ms pulses with 20 ms pauses in between. You could use the power supply instead of batteries if you want to.

B) The 1.5 ms pulse is send to tell the servo which position to move to. The usual range of pulses to control servos is from 1 to 2 ms. 1 ms pulses will send the servo to the 0 degree position, 2 ms pulses will send it to the far end, usually 180 or 360 degrees. Sending 1.5 ms pulses will tell the servo to go to the center position. By modifying the servo, it will always think it is in the center position.

Servos spin faster if their destination is farther from their current position. So by sending a 1 ms pulse you'll send it one way as fast as possible, and by sending a 2 ms pulse you'll send it the other way, and at 1.5 ms it will stop because the pot tells it that it's at the center position already. So, by varying the pulselength you can control the direction and speed of the servo, because you are basically changing the amount of degrees it has to rotate to reach it's destination, which it will never reach as the pot is fixed in the center position.

Hope that helps!
Think outside the box... inside is to crowded.

Offline roshan.r24Topic starter

  • Jr. Member
  • **
  • Posts: 13
  • Helpful? 0
Re: Motor modification question
« Reply #2 on: August 17, 2009, 07:44:58 AM »
Thanks finnik. That was a lot of help!!

 
Quote
No, you can't use a 1.5 ms square pulse, you have to send 1.5 ms pulses with 20 ms pauses in between.

Basically this means that my duty cycle shoud be 7.5% right? which means one 1.5ms pulse (high) after a 20ms pause(low) correct? Is there an easy way of doing this in the lab? ive got a CD4047 IC with me.

Quote
by varying the pulselength you can control the direction and speed of the servo, because you are basically changing the amount of degrees it has to rotate to reach it's destination, which it will never reach as the pot is fixed in the center position.
This would mean that after gluing the pot at the center we are actually varrying the angle by sending it a particular width of signal, but since that angle is never reached, it is equivalent to controlling the servo speed?

Offline Finnik

  • Full Member
  • ***
  • Posts: 59
  • Helpful? 4
Re: Motor modification question
« Reply #3 on: August 17, 2009, 11:11:24 AM »
Basically this means that my duty cycle shoud be 7.5% right? which means one 1.5ms pulse (high) after a 20ms pause(low) correct? Is there an easy way of doing this in the lab? ive got a CD4047 IC with me.
You're correct about the duty cycle. There are a number of ways to create them without using microcontrollers. I don't know about the IC that you've got, but if you can get the correct duty cycle with it, then you should be fine. You could also try using a 555 timer, I know there are plenty of projects using those to control servo's. For other solutions search google for things like "servo tester" and "servo pulser".
This page has a lot of info on the 555 timer: http://www.sentex.ca/~mec1995/gadgets/555/555.html
This is a servo pulser using the 555 timer: http://www.sentex.ca/~mec1995/gadgets/servo4.htm
(haven't tested it though)

This would mean that after gluing the pot at the center we are actually varrying the angle by sending it a particular width of signal, but since that angle is never reached, it is equivalent to controlling the servo speed?
Yeah, almost entirely correct, except we are telling the servo to vary it's angle  ;D

Think outside the box... inside is to crowded.

Offline roshan.r24Topic starter

  • Jr. Member
  • **
  • Posts: 13
  • Helpful? 0
Re: Motor modification question
« Reply #4 on: August 18, 2009, 05:58:24 AM »
Quote
You could also try using a 555 timer, I know there are plenty of projects using those to control servo's.

I just finished modding my servos. Used the 555 astable circuit to generate the 1.5ms pulse and glued the pot into position. Everything worked fine  ;D Thanks a lot for all the help Finnik.

 


Get Your Ad Here

data_list