OpenServo.com Forum Index OpenServo.com
Discussion of the OpenServo project
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Video: Robot Arm success!

 
Post new topic   Reply to topic    OpenServo.com Forum Index -> Applications
View previous topic :: View next topic  
Author Message
ginge
Site Admin


Joined: 14 Jan 2006
Posts: 1029
Location: Manchester, UK

PostPosted: Sat Feb 04, 2006 12:22 am    Post subject: Video: Robot Arm success! Reply with quote

Hi all,

I have been working on a 6 axis robot arm, and can report my first full motion success!

I have a website that I am starting to detail my progress with this project. There is not really lots to see at the moment, but I will be adding to my site soon.

http://www.headfuzz.co.uk/?q=minirob Robot arm - 1st generation
http://www.headfuzz.co.uk/?q=robotarmtwo Robot arm 2nd generation (using openservo)

here is the promised video. I apologise for the quality of the vid, I will post a better one soon.
http://www.headfuzz.co.uk/image/robot/gumarm/robotarm2.mpg

I am very happy with the project direction, good work!

Barry
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger MSN Messenger
andylippitt
Site Admin


Joined: 02 Jan 2006
Posts: 155
Location: Denver, CO

PostPosted: Sat Feb 04, 2006 1:13 am    Post subject: Reply with quote

Nice work! It's good to see that the controller is finding it's uses outside the tiny little cases of hobby servos. Looking forward to more video!
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
ginge
Site Admin


Joined: 14 Jan 2006
Posts: 1029
Location: Manchester, UK

PostPosted: Sat Feb 04, 2006 1:23 am    Post subject: Controllers Reply with quote

Hi,

I would just like to clarify what I have used from the openservo project, hopefully others will be able to use my board designs. (When I have finished them that is)

As standard, the motor controllers for these 12V 4A motors are very similar to the openservo design.
I actually cheated and modified the openservo board to include the L6203D MOSFET drivers, and higher rated current reference circuitry. It still fits into the same form factor as the original openservo design, although these high current drivers would not likely be able to fit into a small servo.
I have also added provision for a serial eeprom on my board, but have yet to finish the software. I will use this to store profiles for different motion control aspects of the motor.

The smaller servos on the arm are nearly stock openservo implementations, alll that is different is the piggyback of the FET drivers for higher current.

Barry
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger MSN Messenger
mpthompson



Joined: 02 Jan 2006
Posts: 650
Location: San Carlos, CA

PostPosted: Sat Feb 04, 2006 1:45 am    Post subject: Reply with quote

Barry, very nice indeed. I look forward to seeing photographs of your OpenServo boards with the higher power MOSFETs. I wonder if they could be fit within a smaller servo case.

A question I have is how much tuning of the PID gains did you do. I imagine that using different motors, gearing and other things probably caused a fair amount of retuning. Is this the case?

I'll have to create an Applications area of the OpenServo web site so people can see what is being created with the OpenServo.

-Mike
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
ginge
Site Admin


Joined: 14 Jan 2006
Posts: 1029
Location: Manchester, UK

PostPosted: Sat Feb 04, 2006 2:12 am    Post subject: PID Tuning Reply with quote

PID tuning is an interesting subject. Not only did I have to play with the pid, I also had to mess with the pwm frequency. The motor was stalling because it was not tuned to the correct frequency.

as for the PID tuning, I wrote a script to find the optimum curve - or at least as good as I can get it. It iterated over a list of initial data, and calculates the best curve by trial and error. I leave it over night and see what its come up with in the moring. Call it simple genetic style algorithm. I then manually refine it by hand.

Needless to say, its a bad hack job, and doesn't work all that well.

I am going to explore different driver chips, there must be a way to make the driver low profile, although I would worry about airflow (do I hear tiny fans?)

I will post some photos when I get a decent camera, and my circuits look slightly less like spaghetti.



Barry
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger MSN Messenger
mpthompson



Joined: 02 Jan 2006
Posts: 650
Location: San Carlos, CA

PostPosted: Sat Feb 04, 2006 5:57 am    Post subject: Reply with quote

Interesting about the pwm frequency. The code currently uses a 15.6KHz pwm frequency. Was this too fast for your motors? I wonder if there is a better frequency we should be using for the smaller motors in the servos.

-Mike
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger
ginge
Site Admin


Joined: 14 Jan 2006
Posts: 1029
Location: Manchester, UK

PostPosted: Tue Feb 07, 2006 12:51 pm    Post subject: PWM Frewquency Reply with quote

Although I didn't strictly need to change the PWM frequency, it was prudent to resolve a couple of issues I was having. I got some over current and heating issues with the motors I use.

My motors have a low inductance, and low current. This causes a flywheel effect and the current becomes unstable.

The motor has an inductance of 39 microhenrys and a resistance of 0.017 Ohms. The 'Time constant' for an L-R circuit is L/R which gives ~2.4 mSec.

Generally you set the PWM to be shorter than the motors L/R time constant... which in this application is around 18-20Khz

It is difficult to chose a 'best' compromise between these figures but an optimum frequency would seem to be around 20kHz.

This stops the motors from audible screaming, and current drain issues. Also anything over this, and I get real EMF issues.

To summarise:
Not all motors are created equal. There is going to be a little tweaking needed for each motor, and the only way to see is to try it.


Barry
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger MSN Messenger
guru



Joined: 03 Jan 2006
Posts: 128
Location: St Pete Beach, FL

PostPosted: Tue Feb 14, 2006 4:54 am    Post subject: Reply with quote

I had started an xml file to contain different tuning/parameters for motor/servo models. We should probably do the same with this. Anyone that tunes a servo should upload thier parameters. Maybe we can make a quick web site page that allows people to submit thier values?

C
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    OpenServo.com Forum Index -> Applications All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group