PDA

View Full Version : Prop Powered Lobotomized Servo Multicontroller: LoboServo Limb Controller



Rayman
05-17-2010, 08:37 AM
Just dissected a "Parallax Standard Servo", now that I'm inspired to make a cool robot.

I think that instead paying extra for a digital servo, I'll use a Prop, a logic chip, and a few mosfets to make an H-bridge driver.
Also, I'll use some delta-sigma to read the pot.· And, maybe I'll add a CVR and do delta-sigma to read the load current.
So, I guess that's 8 pins per servo, but the robot leg I have in mind only has 3 servos.· So,·1 Prop can control a leg.

Anyway, I think I can do a whole lot better than regular servos do by using a Prop chip.· But, is it worth the effort?

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm

My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm

Post Edited (Rayman) : 5/20/2010 9:45:43 PM GMT

Timmoore
05-17-2010, 09:05 AM
I have used servo's without the electronics with an h-bridge and haven't found much difference between it and just using a servo. I was using them as a normal bot motor i.e. a continous rotation servo. Torque and speed were similar. From what I have seen its the motor and gear train that makes the most difference

simonl
05-17-2010, 08:11 PM
@Rayman: Now that sounds good. You might like to take a look at www.openservo.com/ (http://www.openservo.com/) for some ideas too.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Cheers,
Simon
-------------------------------

www.norfolkhelicopterclub.com (http://www.norfolkhelicopterclub.com)

Announcement: To cut costs in the current economic climate, we have switched-off the light at the end of the tunnel.

Rayman
05-17-2010, 08:55 PM
Simon: Thanks for the link! That is amost exactly what I have in mind. But, I think I'll use an external board to control several servos instead of making a board that fits inside the servo...· Nice that it's done in ExpressPCB too...

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm

My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm

Rayman
05-17-2010, 09:08 PM
I just did a little experiment with motor braking and I'm very excited about this now!

If you short out the servo motor it is very difficult to turn, but draws no power.

I see this as a very significant energy savings tactic.· Just turn on both low side switches on your h-bridge and you turn on the brakes.

Here's a photo of my poor Parallax Standand Servo with shorted motor experiment:

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm

My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm

Rayman
05-17-2010, 09:10 PM
The other reason I want to do this is so that I can control the power to the servo... I'd like my robot to slowly stand up or lie down and regular servos are just too jerky for my taste... But, this way, I can slowly apply power to get a smooth response.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm

My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm

Rayman
05-21-2010, 01:25 AM
Haven't talked myself out of this yet... Read a robot fighting guys page that says he does something like this and is able to increase to voltage to his servos to up to 12 VDC, making them much more powerful.

Also, I've decided I only need 2 pins to control the H-bridge because there are only 4 states I'm interested in: left, right, open (free), short (brake).

I'm waivering on measuring current... I think I'll skip it since the pot should give enough info to deduce the motor current (or am I wrong?)...

Just measured the "standard" servo's POT and it's 5 kOhms...

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm

My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm

Rayman
05-21-2010, 05:46 AM
Ok, I'm monologuing...

But, here's the real beauty of this idea...

To create perfect animations, you just move the servos into a position you want and the read out the Pot's value for each servo.
Do this for each position in your motion and you then have the Prop move smoothly between these positions...

This is going to allow for some very complex movements to be recorded and played back very easily...

I figure I can control 7 servos using 4 pins each, leaving 4 pins for RS232 and I2C busses with 1 propeller.

7 is enough for a limb of the robot I'm dreaming about...

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm

My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm

Rayman
06-10-2010, 09:02 AM
Just got a bunch of the lowest cost, all-metal servos I could find... They were less than $8 each at Hobbyking.com

Model# HX12K

Look pretty good for me on the inside! Really are all metal and have ball bearing on the output.
The circuit board has a PIC microcontroller (going in the trash) with a 6 MHz crystal.
I think I see a 8-pin SOIC H-bridge chip that I'll try to recover.

This is a digital servo, but I'm going to rip out the circuit board and control it remotely with a Prop.
Reviews of the this servo were pretty poor, but I'm hopefull it's a PIC controller issue, not a fundamental hardware issue.

I'm hoping to have a direct Prop controlled servo by UPEW!

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Apps:· http://www.rayslogic.com/propeller/Programming/Programming.htm

My Prop Info: ·http://www.rayslogic.com/propeller/propeller.htm
My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm

mpark
06-10-2010, 12:25 PM
Ray, this all sounds very interesting to me. I look forward to seeing your work at UPEW.

Lawson
06-11-2010, 02:05 AM
Rayman said...

I'm waivering on measuring current... I think I'll skip it since the pot should give enough info to deduce the motor current (or am I wrong?)...



This really depends on how much info you want back from the motors. With just the potentiometer just have position information, and be able to approximate velocity and acceleration from that. Current measurement adds the ability to measure motor torque. Motor torque + a simple predictive system model + position sensing allows the construction of an Observer. (http://en.wikipedia.org/wiki/State_observer) (why doesn't Wiki have a block diagram...) One of the more useful things an observer can calculate is the external load on the servo system. i.e. tactile feedback. (more accurately, it will give the sum of any system torques NOT modeled in the observer)

Lawson

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Lunch cures all problems! have you had lunch?

$WMc%
06-11-2010, 07:51 AM
Rayman

I think your way over thinking this, Why reinvent the wheel. I would ditch the old 80's servo technology and move on to something newer. Maybe something with serial commands. This would free up a boat load of I/O pins on the Host controller. I don't mean to sound negative here,Its just that their is a lot of better ways to position a motor.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
The Truth is out there············___$WMc%___······················ ······ BoogerWoods, FL. USA


You can feel stupid by asking a stupid question or You can be really·stupid by not asking at all.

want speed!__RIDE THE LIGHTIN__ with PropBaisc___www.propbasic.com__

simonl
06-11-2010, 07:52 AM
I'm still following ya' Rayman - keep posting http://forums.parallax.com/images/smilies/smile.gif

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Cheers,
Simon
-------------------------------

www.norfolkhelicopterclub.com (http://www.norfolkhelicopterclub.com)

Announcement: To cut costs in the current economic climate, we have switched-off the light at the end of the tunnel.

Rayman
06-11-2010, 08:58 PM
$WMc% said...

I think your way over thinking this, Why reinvent the wheel.
First: Over thinking is my speciality :)·· Second:· Why, to make a better wheel, of course!

Lawson:· I may reverse course and put current measurement back in later, but for now, I'll try it this way.

simonl:· You asked for it!· Here's some photos of yesterday's lunchbreak progress:

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Apps:· http://www.rayslogic.com/propeller/Programming/Programming.htm

My Prop Info: ·http://www.rayslogic.com/propeller/propeller.htm
My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm

Rayman
06-11-2010, 09:02 PM
Also, I believe I've identified the H-bridge chip, the transistors, and the voltage regulator.· Here's the datasheets:

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Apps:· http://www.rayslogic.com/propeller/Programming/Programming.htm

My Prop Info: ·http://www.rayslogic.com/propeller/propeller.htm
My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm

StefanL38
06-13-2010, 03:30 PM
for smooth movements of servos you don't need to lower the supply-voltage

just use a ramp-function that slowly steps toward the new end-position instead of setting the endposition immediatly

best regards

Stefan

Rayman
06-14-2010, 09:41 PM
The onboard MCU is a Microchip PIC16F676.

Probably, a better way to go would be to just reprogram the PIC and make the PWM input a 1-wire type I/O interface instead...


▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Apps:· http://www.rayslogic.com/propeller/Programming/Programming.htm

My Prop Info: ·http://www.rayslogic.com/propeller/propeller.htm
My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm

mpark
06-15-2010, 02:21 AM
Doggone it, I was hoping to learn how to measure motor current/torque.

simonl
06-15-2010, 03:06 AM
Yeah, c'mon Rayman - that's cheatin' - LOL

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Cheers,
Simon
-------------------------------

www.norfolkhelicopterclub.com (http://www.norfolkhelicopterclub.com)

Announcement: To cut costs in the current economic climate, we have switched-off the light at the end of the tunnel.

Rayman
06-15-2010, 08:02 AM
Unfortunately, I don't know how to program a PIC... :(
So, I'm going to proceed with my remote Prop controlled version. But, I am ordering a PIC programmer kit from Digikey, just in case I decide to take the plunge one day...

Just tested out ADC of the servo's pot with my free expo USB protoboard (thanks Ken!) and it works great.
I put a 1uF cap to the pot's wiper output to stabilize the voltage there and it was rock solid. But now, I'm concerned that 1uF is too big and may cause excessive currents in the pot and decrease it's lifetime. So, I'll probably drop the capacitance and see if it is still stable...

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Apps:· http://www.rayslogic.com/propeller/Programming/Programming.htm

My Prop Info: ·http://www.rayslogic.com/propeller/propeller.htm
My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm

Rayman
06-17-2010, 02:17 AM
Wired it up yesterday and actually have it working today :)

Here's·a diagram and photo of how I'm using 2 Prop Pins and one 74ACT00 logic chip to provide the 5V logic signals to
the H-bridge for 4 states (forward, reverse, free, and brake).

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Apps:· http://www.rayslogic.com/propeller/Programming/Programming.htm

My Prop Info: ·http://www.rayslogic.com/propeller/propeller.htm
My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm

Rayman
07-09-2010, 07:39 AM
Well, after a lot of thinking, I've decided that the best approach is to reprogram the servo's PIC to enable bi-directional communications with my robot's Propeller chip. I just don't want to run 2 extra wires to each servo and also develop a custom driver board. Also, this approach is more cost effective.

I've just learned how to program the onboard PIC chip. Actually, compared to 80x86 assembly or even Propeller assembly, PIC assembly programming is fairly simple... But, learning PIC assembly does make one appreciate the Prop a whole lot more!

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Apps:· http://www.rayslogic.com/propeller/Programming/Programming.htm

My Prop Info: ·http://www.rayslogic.com/propeller/propeller.htm
My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm

Rayman
07-25-2010, 07:48 PM
I've made a lot of progress with this. I'm now calling it "Serial Servo".

But, since it's not strictly a Propeller project, I'm moving further updates over to this thread in the Robotics forum:

http://forums.parallax.com/showthread.php?p=925237

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Apps:· http://www.rayslogic.com/propeller/Programming/Programming.htm

My Prop Info: ·http://www.rayslogic.com/propeller/propeller.htm
My Prop Products:· http://www.rayslogic.com/Propeller/Products/Products.htm