| View previous topic :: View next topic |
| Author |
Message |
ginge Site Admin
Joined: 14 Jan 2006 Posts: 1029 Location: Manchester, UK
|
Posted: Sat Feb 04, 2006 12:22 am Post subject: Video: Robot Arm success! |
|
|
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 |
|
 |
andylippitt Site Admin
Joined: 02 Jan 2006 Posts: 155 Location: Denver, CO
|
Posted: Sat Feb 04, 2006 1:13 am Post subject: |
|
|
| 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 |
|
 |
ginge Site Admin
Joined: 14 Jan 2006 Posts: 1029 Location: Manchester, UK
|
Posted: Sat Feb 04, 2006 1:23 am Post subject: Controllers |
|
|
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 |
|
 |
mpthompson
Joined: 02 Jan 2006 Posts: 650 Location: San Carlos, CA
|
Posted: Sat Feb 04, 2006 1:45 am Post subject: |
|
|
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 |
|
 |
ginge Site Admin
Joined: 14 Jan 2006 Posts: 1029 Location: Manchester, UK
|
Posted: Sat Feb 04, 2006 2:12 am Post subject: PID Tuning |
|
|
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 |
|
 |
mpthompson
Joined: 02 Jan 2006 Posts: 650 Location: San Carlos, CA
|
Posted: Sat Feb 04, 2006 5:57 am Post subject: |
|
|
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 |
|
 |
ginge Site Admin
Joined: 14 Jan 2006 Posts: 1029 Location: Manchester, UK
|
Posted: Tue Feb 07, 2006 12:51 pm Post subject: PWM Frewquency |
|
|
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 |
|
 |
guru
Joined: 03 Jan 2006 Posts: 128 Location: St Pete Beach, FL
|
Posted: Tue Feb 14, 2006 4:54 am Post subject: |
|
|
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 |
|
 |
|