View Full Version : Discussion Brushless motors and absolute RPM control
Clarkst
Dec 12, 2006, 09:06 AM
I am building a 4 motor "quad copter" utilizing 4 size 25 brushless motors, 4 50/70 amp controllers, 4 encoders attached to the motor shafts, and two Propeller chips (16 cpu's). The goal is to achieve stable flight, however due to the delta in motor rpms (all receiving the same pulse) the aircraft typically attempts a roll soon after take off. I have determined the difference between motors at the same pulse or throttle level to be as high as 500 rpms. We have a program running on the Propeller chip that will stabilize RPMs based on the "master" motors rpms, however the pulse information from the encoders seems to fluctuate drastically for no good reason.
I wonder if we are just taking the wrong direction in regard to this problem? Should we look into perfectly matching motors and controllers? Seems expensive, but I am running out of ideas!
Any thoughts would be appreciated. Thanks
Unterhausen
Dec 12, 2006, 10:26 AM
My thought is that your pitch control should be able to handle this differential.
chopsuey
Dec 12, 2006, 01:14 PM
Yes I would think you are going in the wrong direction. I am by no means an expert, actually the opposite, a beginner that lurks around here gathering ideas and information. But your copter shouldn't care that one motor turns faster than another at a specific pulse. You should have some system that detects this roll and varies the speed of the motors to compensate and keeps the copter level. That's how I would approach the problem.
Terry S
Dec 12, 2006, 01:20 PM
'pulse information from the encoders seems to fluctuate drastically for no good reason' I would look into this problem first.
Terry
Djago
Dec 12, 2006, 01:42 PM
Clarkst,
You should connect the ESC's to gyros and Vmixers, also ESC's should be 10 bit and be able to handle fast update rates from the gyros (> 100 hz.)
Check http://www.rcgroups.com/forums/showthread.php?t=446459&page=6&pp=15&highlight=mr+bisset
Peter
Unterhausen
Dec 12, 2006, 11:35 PM
I've heard of the Propeller chips, but I don't know if they have an encoder interface on them. I assume you are using quadrature encoders or something similar. I would expect to get spurious counts from an encoder unless it was very carefully laid out/shielded/ and had differential line drive. Unless your esc requires the encoders, I'd just strip them out and save the weight.
The rotor speed doesn't really tell you much that would be useful for stabilization. I would expect to have to trim an esc to get them matched to a given pulse train input. So you have a couple of errors that add up to something you don't care about in the end. You just care about the orientation of the vehicle, and if one side is lower than the other, your control loop should simply adjust the control pulse train to the esc accordingly.
Clarkst
Dec 13, 2006, 05:50 AM
I forgot to mention that I am utilizing fixed pitch props due to the high load (payload total is 12 - 14 lbs.) and rpms.
Djago, you are right on, however, I have tried the gyros, but at times teir quick burst to correct is not enough, then, as they do know know what absolute level they establish a new baseline, which in many cases is not level. I have also mixed a dual axis accelerometer into the mix, but find it extremely sensitive.
Unterhausen, thanks, and I agree, the only thing I really care about is aircraft attitude, but due to the lifting method, all thrust all the time, and the control method, variation of thrust, I am sort of stuck with managing rpm very carefully.
the propeller chip is rather amazing, lots of built in goodies. In the case of the encoders we are measuring the pulse width, and until yesterday, had unusable results. I think we will end up conbining gyros with accelerometers, and, probably a digital compass, in oredr to obtain a full awareness of attitude. Shoot, if that works, I should hook a couple of these to my teenage son!
Terry S, yes, you have it at the heart. We kept seeing a "UFO" pulse on the o-scope a few nano seconds after the primary pulse. I found this to be dust on the encoder wheel due to a less than perfect attachment to the motor. I had the wheel too close to the motor mount and it had scuffed some of the composite creating the offending dust particles.
We plan to test the program which "should" adjust the differential of all motors to the dominant motor. The dominant motor will be just anu motor. We will probably change this to be the highest rpm motor. We are just praying for a hover today!
Thanks to all, and please keep the ideas coming, I will keep you updated.
Clarkst
Dec 13, 2006, 06:05 AM
Chopsuey, you are correct, I really only want to correct to drift and attitude variances not authorized or requested by the pilot. So far, the components I have utilized for this have been either too sensitive (accelerometer) or lack a true level baseline (gyros).
I have seen where others have mixed the two devices and have had good results. I guess I must figure out how to dampen the accelerometer's enthusiasm, either via a more vibration free installation, or pragmatically. Just now I have the accelerometer mounted (after dipping it in liquid rubber) on a very soft layer of liquid (now semi solid) foam. The motors are isolated from the area via rubber grommets and more foam. I know other guys are doing it, I just can't figure out how.
Any ideas? Thanks.
Unterhausen
Dec 13, 2006, 10:26 AM
What kind of filtering are you using on the gyro/accelerometers? You might want to look at the rcpilot project on sourceforge to see how they did it. Are you using something like a Kalman filter?
Eric
Mel Duval
Dec 17, 2006, 10:27 PM
SNIP.............
The dominant motor will be just anu motor. We will probably change this to be the highest rpm motor. We are just praying for a hover today!
Thanks to all, and please keep the ideas coming, I will keep you updated.
I think you need to make the dominant motor the slowest one so the others can slow down to match it......
ElectroLawndart
Dec 18, 2006, 08:14 AM
Clarkst,
Try the VTOL forum.
http://www.rcgroups.com/forums/forumdisplay.php?f=360
I remember them doing a quad rotor, DragonFly type vehicle. They also seem to have a lot of experience with gyro tuning in areas other than just heading hold for helicopters.
Hope this helps,
Dart
Tuner
Dec 18, 2006, 03:57 PM
Novak and other RC car companies have Sensor Based Brushless motors. I remember when they were the only type of brushless that I knew of.
Thes I would think would give you a level of controll and efficiency fare superior to standard brushless motors.
If I were to design my own I would use a magnet in the shaft and a very high rate megnetometer.
I am right hear with you I have been looking into more precise control of the RPM.
Scott
elevon
Dec 21, 2006, 03:51 AM
Clarkst,
since you are only interested in attitude, how about using a 3D-magnetometer (compass)? Alternatively a 3d-accelerometer should do the job, too. For illustration, picture the (cartesian) accelerometer triad pointing towards the ground, like a tripod. While hovering, the three axes should all read 0.707G.
Calculating the 4 motor speed settings from that involves some fun math (BTW why 4 rotors instead of 3?).
Also, I'd suggest using something like a PID for control.
Mel Duval
Dec 21, 2006, 09:01 AM
Check out http://www.maxcim.com/ for sensored motors and speed controls. You could use a sensored motor and a non-sensor ESC to free up the sensors for use in a seperate speed determination and control circuit...
vBulletin® Copyright ©2000-2009, Jelsoft Enterprises Ltd.