Report on CC's Phoenix 25 ESC's multi-rotor firmware & the WK-M Quad-Copter
For those of you who have been waiting to hear about the new multi-rotor firmware for Castle Creations ESC's, well here it is...at least in regard to the WooKong-M multi-rotor autopilot system.
For my WK-M powered quad-copter I chose the Castle Creations Phoenix 25 amp ESC. I was excited to try out this speed controller as I wanted to use a reliable, American made product controlling the motors in my quad, rather than a Chinese brand of ESC with modified firmware. I had spoken to CC's tech support on several occasions recently and was told that due to the superior quality of components in their ESC's, this Phoenix 25 amp ESC is actually equivalent in power handling capabilities to other companies 45 amp ESC's. (See attached photos showing each side of the ESC). I was also told that they have done extensive testing of these ESC's in several different multi-rotor platforms and had very good results, however the man I spoke to did not know which particular multi-rotor platforms the testing had been conducted on.
My ESC's arrived yesterday and I spent the afternoon soldering on the power & motor connectors. I next installed them in my quad and set them up using the CC Castle Link hardware & software. Programming them was a breeze and the help menus in the software is clearly written & easy to understand.
In the Castle Link software when you program the ESC's for multi-rotor use, you are only given one choice for throttle type, which is "Fixed-Endpoints". Even though it says "Fixed" you still have to basically do a manual throttle calibration which is clearly explained in the help manual. (See excerpts of the help manual attached below this review).
For those of you who have not used their Castle Link programmer, the attached screen shots are what you can expect to see when you use it to program your ESC's.
The ESC does not have to be powered up to be programmed as long as you have not disconnected the read power wire from the servo type plug that connects to the programmer. It will get the power it needs from your computer. If you are using the ESC with a 4 cell lipo battery, it is advised to disable the BEC by removing the red wire from the servo connector plug. In this case, to program the ESC you will need to power it the conventional way since the red wire in the servo plug will not be present to carry power to the ESC from your computer.
Onto the testing. After setting up the ESC's in Castle Link I tested the motors on the quad without the props being on. They all started up together perfectly, ran very smoothly and all stopped together. Next I put the props on and took her outside. It started up perfectly, ran smoothly & quietly and lifted off into the air. As soon as I got up about 4 feet it began wobbling uncontrollably. So much so that I could not land it without breaking 3 of my 4 props. I took it inside to check it over to see if I had hooked something up improperly, but found that everything was perfect. The motors were all spinning the correct way, the props were on the correct way and all of the wires were plugged into the correct places. Next I hooked the quad up to the WK-M assistant to see if something had mysteriously changed in the settings without my knowledge and found nothing wrong. Then I noticed that I had forgotten to reset my Gains in the WK-M back to the default 100 settings before the test flight. (The main Gains had been previously set to 150 which flew my quad perfectly with the modified Maytech/HobbyKing BlueSeries ESC's). After seeing this I reset the main gains to the 100 default settings & assigned them to a slider on my transmitter to adjust them during my next test flight. I also changed two settings in the ESC's setup. I changed the Motor Timing from the default of Normal to High and the PWM Rate from the default of 12Khz to 24Khz.
After putting on a fresh set of props I tried flying the quad again. This time it was much more controllable, but even with the Gains at 100, it was wobbling badly. Pushing the Gains much above 100 made it uncontrollable, which is why I had the problem during my earlier test flight, since the Gains had been set to 150 then. The best I could get it to fly was with the tilt & roll Gains set to around 55. As long as there was NO wind it hovered OK ,(not great, just OK), but at the first sign of any wind it wobbled and became unstable. It was flyable, but nowhere near stable enough for aerial photography. One a good note, neither the motors nor the ESC's even got warm during this test flight.
I want to stress that these Phoenix 25's are very well made ESC's so I am hopeful that future firmware updates will correct the current problem with using them in a WK-M system. Remember that this is Castle Creations very first entrance into the multi-rotor market so it may take some time for them to work out the bugs for certain platforms.
In the meantime I guess I'll have to switch back to the Chinese ESC's with the SimonK firmware until Castle Creations can get their multi-rotor firmware to work better with the WK-M platform.
Help Manual Excerpts:
From Throttle Page:
Multi-Rotor throttle types operate similar to Airplane throttle types, but the throttle input signal is filtered in a different manner. This setting allows the ESC to change the throttle OUTPUT at very fast rates. Improper, or rapid, throttle advance can lead to excessive ESC current spikes and ESC failure! If throttle input is rapidly changed at low load RPM, brushless motors can draw excessive current while accelerating the rotor and propeller which will quickly lead to both ESC and motor failure! This mode should only to be used in proven systems or by qualified system experts. Endpoints: <1.07ms Arm/Motor Off, <1.15ms Motor Off, >1.93ms Full Throttle.
Fixed-Endpoints will set zero-throttle and full-throttle points to fixed values so that the ESC does not have to learn from your transmitter. If you are using this mode, you will most likely want to change the EPA settings on your transmitter to allow full throttle resolution with the throttle stick. To do this, turn on your TX and set normal mode in the transmitter for a linear throttle curve (0,25,50,75,100). Bring your high side and low side endpoints on your throttle channel down to 25%, plug in the battery pack with the throttle stick at full (it won't start up), then bring your high endpoint back out towards (and sometimes past) 100% until you hear a single tone. Next, bring your throttle stick down to the bottom position and bring the endpoint out from 25% out towards (and possibly past) 100% until you hear the ESC arm. Unplug the battery pack, wait a few seconds, then plug back in and verify that the throttle is working properly.
From Motor Page:
Motor timing advance changes the timing advance range used on the motor. Generally, low advance gives more efficiency and less power. High advance gives more power at the expense of efficiency (motor heat). Every system will respond to changes in advance differently. All Castle Creations controllers automatically determine the correct and best range of timing advance for any motor they are plugged into when running in sensoreless mode. You can move up or down within that range via these settings.
Be careful about motor heat (max safe temp is 200F) when using this setting. High Kv motors will get very hot very fast.
Good for racing with most any motor
Best efficiency, lowest motor temp.
Wow - that is very disappointing
Must pack the escs into the box again awainting for better news.
Did you upgrade the software to 4.0 Beta???
This version has high-rate update support for multi-rotor.
Earlier versions of software did not.
Yes, the earlier versions of firmware did not even have a selection for multi-rotor use.
In the 7th atachment in my review, it shows the software screen with the 4.0 Beta selected.
So then I don't understand what the issue is. We added support for up to 400hz update rate on throttle.
We can't update the throttle any faster -- that's the maximum rate that is possible with an RC pulse.
Perhaps the gain rates on that particular multi-rotor are tuned to some specific controller rates??
Can you set the individual P, I and D gains, or can you only set one master gain?
Also, why are you running high timing?? Should be set to low in almost any setup.
Let me try to explain where I am coming from. I have been designing & building multi-rotor systems for several years now. The two top multi-rotor control systems are arguably the Mikrokopter System and the WooKong-M System. In the German made Mikrokopter system they use a special the I2C buss that their proprietary ESC’s use to transfer signals from the flight control computer to the motors at much faster rate than normal ESC's. Because of this increase in speed the motors can keep up with the inputs being given to them and output those signals very quickly thus maintain a very stable platform even in windy conditions.
Recently I have been experimenting with the Chinese made WooKong-M auto pilot system for multi-rotor use. http://www.dji-innovations.com/minisite/index_en.html . This system is basically an advanced plug & play system that allows for the use of standard speed controllers. Now for someone who is only interested in flying on very calm days and is NOT interested in a super stable platform for aerial photography, this platform with normal speed controllers is acceptable, however once it gets even mildly breezy the platform becomes somewhat unstable due to the slow communication properties of the standard speed controllers not being able to keep up with the input from the flight control computer. Of course the solution to this problem is to have a speed controller that will send the signals in a much quicker fashion. To that end, a programmer who goes by the name of SimonK on the RC-Groups Forum has developed a firmware solution who’s hex files can be programmed into inexpensive Chinese ESC’s that use an Atmel ATMEGA8 microprocessor.
I recently reprogrammed the stock firmware in the chips on a set of Chinese ESC’s with one of his hex files and the result was a modified ESC that can keep up with the speed demands of the WooKong-M autopilot system and fly the multi-copter flawlessly in both calm & windy conditions. The only down side is the difficulty in hooking up the six tiny wires to the microprocessor pads to reprogram it and in having to use cheap Chinese ESC’s which are not as reliable as quality American made products like the ones that your company manufactures.
Now to answer your questions, many of the Chinese ESC's boast 400Hz performance, however it is my understanding this 400Hz performance is only on the INPUT side of the ESC and that the signal transfer rate on the output side is still lacking in the necessary speed to make for a stable platform in breezy conditions. This seems to have been proven true since the 400Hz Chinese ESC's that I originally used in my WK-M system were not sending the data to the motors fast enough to keep it flying smoothly in breezy conditions. This is why the firmware developed by Qark & refined by SimonK is so popular. When loaded into the processor of the 400Hz Chinese ESC's the firmware dramatically increases the output rate of the signals being sent to the ESC from the flight controller resulting in a MUCH more stable platform. It is also my understanding that the timing for the motors is also set to 16kHz in this firmware.
When I received my set of your Phoenix 25 ESC's last week I removed these modified 400Hz Chinese ESC's that were working so well in my quad copter & replaced them with Phoenix 25's. I conducted several test flights using both the default setting for Motor Timing & PWM Rate, along with higher settings of each in an attempt to get a nice smooth flight, but unfortunately it appears that the ESC's just aren't sending the signals to the motors fast enough to keep the quad copter flying smoothly.
In the Mikrokopter system there are separate P. I . D. gain settings in addition to many other types of parameter settings, however in the MooKong-M system the setting are different. They have a separate Main Gain setting for each of the following categories: Tilt, Roll, Yaw & Altitude and another set of settings that are basically Expo type settings to make stick input for the multi-copter less or more sensitive. The only other setting left on the WooKong-M system is a setting for the Gain of the GPS receiver. As I indicated in my earlier review, after tweaking the Gains setting on my quad copter, the best that I could get it to fly was just marginally stable in dead calm conditions. As soon as some wind came by it became unstable and could never be used for aerial photography.
I would be very interested to know what platforms your multi-rotor firmware was tested on as I am puzzled why your testing worked on those platforms and yet does seem not work properly on the WK-M platform which is arguably the most popular one out there. I would also be interested in knowing what the response time was in your testing from the time of throttle input to motor response in the multi-rotor firmware.
I certainly do not claim to be an expert in these matters, but I do have a lot of experience behind me and am one of those people that is a stickler for details. If I have overlooked something or somehow made an error on setting up your ESC's it would actually make me happy so that I would not have $240.00 worth of ESC's that I can't use now sitting in a box waiting for a firmware fix.
As I said before, I absolutely love the build quality of your ESC and really want to be able to use them in all of my multi-rotor aircraft, as do many other people that I know. If your company is able to refine the new firmware to make it work properly with the WK-M system you would be sure to attract a large user base.
I can testify that high timing and sometimes medium timing can cause problems. CC ESC’s have dynamic timing so just set it to LOW and let the ESC adjust the timing for best performance.
Also the Outrunner PWM mode sometimes causes problems. I would recommend starting with 8 KHz and tune from there.
It would be interesting to know what brands of controller boards that CC used for developmental testing. This is beta firmware so it may need some tuning.
Thanks for your response
I for one only use castle ESC for my planes and helis because of you build quality and support. But multirotors have become incredibly popular and I am in the strange position of trusting thousands of dollars of photography equipment to cheap hobby king ESC because they perform better than castle
Tom clearly tried the default multirotors firmware preset and only started adjusting the other parameters when the recommended default did not have the performance of the cheap hobby king ESC. Clearly the issue is not the 400 hz input but the subsequent output response to the motors.
I have four brand new castle esc on my desk that are ready to go into my quad if there is a commitment from castle to resolve this issue - otherwise we will be forced to use these cheap esc or the multiple multirotors escs that are being developed by various groups
Hoping castle can get this working - each one of our crafts uses a min of 3 escs and mostly 4-8. Would be a shame to lose that market opportunity
I think there is a 4 pulse running average -- but that's all.. So the output response is allowed to change at will -- I believe that the way the code is written, 1% to 100% to 1% throttle can be achieved in just 8 pulses. At that rate you could go from FULL OFF to FULL ON to FULL OFF throttle 50 times per second (which should be MORE than enough for any control loop...) So the output PWM rate changes to match the input demand almost instantly when in multi-rotor mode.
Perhaps we are changing the output rate TOO FAST, which results in instability. Maybe the mixer is expecting more throttle dampening from the ESC??
We could add a selection to change the output slew rate maximums -- and perhaps the number of averages in the running average...
I'll double check the code today, but I believe that in multi-rotor mode:
4 pulse running input average
No slew rate control
So, as I stated above, the controller can go from full off, to full on, to full off at a 50hz rate.
The overhead for processing the inputs is about 4-5 microseconds.
Let me double check with the software guys today to verify.
Thanks - this is very interesting. So I think the first thing is to try this firmware on a non DJI controller.
For the DJI controller maybe as you say an option to slow the output may be needed then???
Thanks for posting - I guess I will set up my castle esc on another controller
Thank you for looking into this. I'll be interested to hear what your software guys have to say.
I dont have any other controllers, except for the Mikrokopter ones, so if you could do a test flight on one of your other controllers that would be great!
Please keep us informed of what you find out.
Great responses from patrick and nice to see that Castle is willing to work with us and not just say "your doing it wrong"
FWIW Here is my wish list for proper Multicopter ESCs:
Multicopter ESC requirements:
- The PWM ESCs should be able to do at least 400hz + update rate and running at 16khz.
- ESC endpoint throttle calibration must be manual. Automatic calibration is bad for multicopters.
--Note: This must also consider that there are some different throttle ranges, i.e. 200-1200μs vs. the more standard 1000-2000μsaccomadate the various throttle ranges
- Linear throttle-no curve or "smoothing".
- >250+ steps.
- No LVC or the ability to turn it off.
- ESC prop stop if stalled by hand, etc, then restart.
- Governor off.
- Brake off.
- Start normal.
- Motor timing optimization for 12+ pole outrunners 500-1500Kv. (Dynamic changes are bad for multicopter performance).
- Available in Amp ranges from 5-80A. Typically 20A, 30A, 40A.
- Graceful over current protection that does not constantly affect multicopter performance as it fights windy conditions.
- No BEC on-board.
- Also some I2c versions or the ability to do both PWM and I2c like the YGE ESCs can do.
- Future considerations:
--Two way communication for dynamic braking with inputs from a flight controller.
-- Serial comm.
Quadrocopter and Tricopter Mega Link Index
|All times are GMT -5. The time now is 03:51 PM.|