Society of Robots - Robot Forum

Software => Software => Topic started by: seyed on March 13, 2013, 06:16:07 PM

Title: iRobot Create HS-322HD Servo Not Working
Post by: seyed on March 13, 2013, 06:16:07 PM
Hi everyone,

I'm new to robotics and any hardware related stuff, so please bear with me.  I connected a Hitec HS-322HD servo to the BAM module on an iRobot Create, with the yellow wire connected to one of the digital outputs, the black wire connected to ground, and the red wire connected to power (I tried Vpw, Vsw, and +5V with the same results---which is best to use?), and when I turn on the robot, the servo jitters (moves a little back and forth once).  The manual says that the digital output should be on high for three seconds, but I'm pretty sure the jitter happens after the three seconds; it happens right after the light flashes and before the robot makes a sound.  Also when I send a digital output signal to the robot (using a Python wrapper over the OI), nothing happens, but when I set the digital output to low again, the servo jitters. 

Thus, it seems like in both cases when the digital output transitions from on to off is the only time it does something.  Do you have any idea what I'm doing wrong?  I tried an independent robot, servo, and BAM with the same results.

Thanks in advance!
Title: Re: iRobot Create HS-322HD Servo Not Working
Post by: seyed on March 14, 2013, 06:05:44 PM
After talking to someone, I realized I need to be using PWM, but that doesn't seem to make the servo move either.  I noticed a couple other posts about this issue, but none seemed to get resolved.  I'm sending a PWM signal for 2 ms every 20 ms.  I tried different values and it didn't seem to change anything.  The duty cycle I'm sending is 13 (out of 128 max).  Does anyone know what the issue is?
Title: Re: iRobot Create HS-322HD Servo Not Working
Post by: seyed on March 15, 2013, 07:45:49 PM
Okay, I've identified that the problem is that the low side driver is only giving 0.04 V!  It should be giving 5V or higher right?  I have the exact same problem for two separate robots, so I don't know what's going on.  Could the BAM Module be interfering with how much voltage gets passed to the low side driver?
Title: Re: iRobot Create HS-322HD Servo Not Working
Post by: jwatte on March 16, 2013, 12:37:53 AM
A low side "driver" is an on-off switch that switches to ground. The voltage comes from some positive voltage. When the low-side "driver" is "on" then its pin is connected to ground, so a motor connected between positive voltage and the driver pin will get power. When it is "off," the pin is left floating (this is known as an "open drain") and thus no current can flow through the motor and thus it will get no power.

You cannot use a low-side driver (open drain) to signal directly on a TTL bus such as the PWM needed for RC servos, because it doesn't switch any voltage by itself. You *can* drive the PWM bus up to the control voltage (typically 5V) through a pull-up resistor; about 2.2 kilo-ohms would be a good first try. Note that, at that point, an "active" low-side switch will drive the pin DOWN and thus signal a zero on the PWM bus.
Title: Re: iRobot Create HS-322HD Servo Not Working
Post by: seyed on March 16, 2013, 09:02:38 PM
Oh, I see.  So I tried doing PWM with the digital output instead of the LSD but the servo seems to jitter a bunch of times and not really move to the right location rather than moving continuously to the right angle.  Do you know why this might be?
Title: Re: iRobot Create HS-322HD Servo Not Working
Post by: jwatte on March 17, 2013, 03:44:54 PM
Quote
Do you know why this might be?

Many possible reasons. Perhaps the servo draws more power than your power supply can give, and the controller undervolts and resets?
Perhaps the pulse you're generating isn't properly what the servo wants (1500 microseconds on, 30000 microseconds off, repeat)?
Perhaps there is some interference somewhere?
An oscilloscope would be the best way to debug this, measuring the voltage and signal lines of the servo and see what they look like.
Title: Re: iRobot Create HS-322HD Servo Not Working
Post by: AliArg on October 24, 2014, 09:54:44 AM
Hello seyed,
we are trying to do the same thing. Were you able to make the servo work? Could you say how? Thanks in advance!