F3P Team Finland tips and tricks - RC Groups
Shop our Airplanes Products Drone Products Sales
Thread Tools
Feb 25, 2017, 07:19 AM
Risto Hölttä - F3A/P Team FIN
Finnspeed's Avatar
Data

F3P Team Finland tips and tricks


I'm opening this thread to share information about our planes and the technology in them. I will write about the electronics ( = servos and ESCs) in the next few messages and leave it to the other team members to write about the contra drive, props and airframe.

EDIT: Please be patient - I will add the details about electronics pretty soon but it will take longer for the rest of the info to appear since our master pilots are busy at work and studying.

EDIT 2017-03-03: The Servo section is now practically complete. It should contain enough info for individuals willing to experiment to reproduce what I did.

EDIT 2017-03-07: The ESC section is now complete as well.
Last edited by Finnspeed; Mar 07, 2017 at 10:12 AM.
Sign up now
to remove ads between posts
Feb 25, 2017, 07:22 AM
Risto Hölttä - F3A/P Team FIN
Finnspeed's Avatar

Servos


Original development

We tried to find good servos but eventually the servos for Team Finland's competition planes had to be made of two different servos since we did not find a reliable, accurately centering servo in the 2 g weight class. Additionally the requirement was that it should work below 3 V supply voltage since we did not want to lose control under any circumstances.

You may have noticed that the Rane 2016 proto which Janne and Iiro flew a year ago had the small and light HK 5320 servos. While they worked OK under 3 V and were fast and powerful enough, they are notoriously sensitive to temperature. The guys had to work the sticks before each flight to run the servos warm in order to keep the trim during the flight. In addition to this, they had a couple of servo failures while practicing so the reliability left a lot to be desired and the centering was not that great, even warmed up. Part of this centering problem is likely caused by the tiny potentiometer which had a structure prone to flexing. The gears are not supertight either.

The Emax ES9251 seemed to fulfill most of the requirements too since it is light, fast and powerful enough to move even the ailerons of a 50 g plane. It also contains a nice looking potentiometer (which turned out to be reliable in the long run) and gears did not have any noticeable slop. Only the centering was not too accurate and it had clear temperature dependency too. Studying a bit further revealed that it contains the same servo chip as the HK 5320 and 5330 servos....

Since I already knew the electronics of the TGY D1290P and Blue Arrow D03013 to be quite good, I decided to try the combination of these two: Emax mechanics and D03013 circuit board. This proved to work very well and Kimmo's plane was the test platform. At that point I also had made the prototype picoBoost regulators and we decided to test the combination. The picoBoost would eliminate the tiny voltage dependency of the electronics to ensure accurate centering. The servo still has some temperature dependency like this but it is only a fraction compared to the original electronics.

I attached a picture of one of the first ones here. I believe it should be possible to build these servos by just looking at the picture closely.

Later on I discovered even further possibilities to improve the servos...

Adding an external oscillator

The Rane 2017 prototype flew very well after some modifications (larger rudder etc.) and the team was happy with servo performance. But I had already found the datasheet of the servo chip (attached) and noticed that the chip can use an external oscillator as an option. Looking the PCB more closely revealed that the BA and TGY versions of the servo both had an empty position for the external oscillator and the related resistors. There were no positions for the load capacitors (the ones on both sides of the crystal) which told me that the manufacturer had planned to use a ceramic resonator which are often available with built in load capacitors. At this point I still did not know that there was a way to activate the external oscillator...

Well, as a summary of lucky coincidences, I had acquired a couple of 15 g Emax digital servos a bit earlier and a programmer for them. This programmer had a somewhat primitive user interface which contained some well understandable options like "Dead Band" but also a curious selection box named "Internal OSC". This one was selected as default and instructions just told to leave it alone. My curiosity was fully awake now and I opened the Emax servo to find out what servo chip it used... BINGO - it contained the KC9806 chip which we already knew and had used to improve the tiny Emax servo.

Now I went to digikey.com to search for a resonator that would fit directly into the empty spot. Turns out, there were only one that fits directly: http://www.digikey.com/products/en?k...535-10036-1-ND
This is a 20 MHz ceramic resonator from Abracon. It had 10 pF load capacitors built in which was just a bit higher than the 8 pF recommended in the datasheet but I decided to order some of them for testing. When the parts arrived, I soldered one on the servo board. I tried to use a conventional soldering iron with a narrow tip first but since this part has three solder terminals mostly under it, I soon changed to a hot air reworking station which worked quite well.

Then I connected the modified servo to the programmer and deactivated the "Internal OSC" selection. Testing with servo tester did not give positive results at first: The servo stopped functioning at under 4 V. It was either totally silent or randomly started turning around. With 5 V it seemed to work OK though. At this point I almost gave up but looked at the datasheet and the circuit board again and finally spotted that the 1 M parallel resistor was missing! In this case the 1k5 serial damping resistor was in place out of factory though. So I added the parallel resistor (which I knew may be required to start reliable oscillation in such circuits) and tested again... YES, now the servo works just fine with all voltages!

Later on I did some centering comparisons using cold spray and lab power supply which showed centering accuracy to be on par with expensive large digital servos. Janne asked me to build 6 servos for the two planes he was building with Iiro and I got them ready just in time to be installed. Flight testing was very encouraging and the planes have been flown hundreds of flights without any centering problems or broken servos. Janne and Iiro commented that the servo performance and centering is impressive and they don't have to worry about it at all but can concentrate on flying the plane.

Programming the servo

I used the Emax servo programmer in my experimentation (see attached photo). There's a separate thread about it here:
https://www.rcgroups.com/forums/show...card-from-EMAX

The software for the device is pretty bad and it mixes English and something that is probably Chinese but printed with western character set, in other words complete gibberish... Following the instructions and retrying servo connection vigorously it works in almost all cases. The programmer seems to connect to some servos immediately but some others require several retries until the red LED finally turns off and green is lit. Whats even more peculiar, once you have programmed the servo with one programmer it happily connects again with that unit but does not necessarily do so with another similar programmer. Note that Blue Arrow also has a similar programmer which seems to use the same or closely related software but I have not tested it. If someone does, I'm interested to hear some feedback how it works.

I'm thinking that the programming protocol is built to be independent of the external oscillator of the servo and relies on the internal one which requires some sort of adjustment to the baud rate in every case. This reasoning is based on the fact that the programming interface still works if the servo is programmed to use the external osc but oscillator components are missing.

In any case, once the programmer is successfully talking to the servo, I have used the settings attached here for tail servos and just changed the Dead Band to 2 us for ailerons. The allowed pulse length range is centered around 1520 us for my Futaba radios (670 us to both sides). Janne and Iiro use DSM2 protocol and their servos have slightly different limits but otherwise identical settings. The limits are actually quite wide and allow about 120 degrees servo movement if I remember correctly. Some of the servo boards seem to have 1000 us and 2000 us as default limits which may be too small in some cases.

You can also change the centering position and movement direction of the servo, should these be needed for some reason. I would not touch the drive frequency or settings like Max Duty, Stretcher or Boost since the original settings seem to work fine and these affect mainly the driving of the DC motor. In this case the gear train and motor are fairly similar so I doubt any significant improvements could be found.

Remaining Issue

I plan to make these servos available in small amounts if people are interested and do not want to try building them themselves. However, before that I'm trying to solve the last remaining annoyance: It seems that with the resistor values directly from datasheet, some units randomly start with wrong oscillator frequency and the servo jumps to one extreme as a result. Disconnecting and reconnecting the battery fixes this but I'd like to find optimal component values to avoid this. It takes some experimenting and since I only have one servo which is not installed in our planes, I have to buy some more parts to do this. The sample I have does not show this problem and thus I cannot use it in troubleshooting.

UPDATE I may have found the issue. I measured the oscillator circuit waveforms and found that the signal at the oscillator output was very unclean and contained very high percentage of higher frequency components, especially 2nd harmonic. The original Rd value is OK in theory since after it, the amplitude is in a healthy area, about 1.4 Vpp. However, to filter out the 2nd harmonic a bit better I tested a compromise value for the Rd. With 2.2 k the amplitude is still OK at 1.1 V but the 2nd harmonic is attenuated a bit more efficiently. I hope this fixes the issue of random off-center startup of the servos. Even if it does not fix the issue totally, it should improve the situation while not dropping the oscillation margin too much. Fortunately there seems to be plenty of that and the oscillator does not stop easily.
Last edited by Finnspeed; Jun 19, 2017 at 11:42 AM.
Feb 25, 2017, 07:23 AM
Risto Hölttä - F3A/P Team FIN
Finnspeed's Avatar

1S ESC improvements


Starting Point

In the fall 2015 Kimmo was testing his new 1S contra prop system that has bevel gears for direction reversal. At that time he used the 13" props from the 2S version and a YEP 7 ESC. He had trouble with the YEP 7 and said it heated up a lot when current exceeded 2 A or so. We drew a quick conclusion that the YEP is not as good as the YGE with 1S voltages - al least Kimmo's unit did not work properly. I started searching for alternatives and found XP-3A, DP 3A and Supermicro MX-3A from Hobbyking. They all looked quite similar to each other and further Googling revealed that people had tinkered with them before:

Modification for XP-3A at HacksMods.com: http://www.hacksmods.com/tag/xp-3a/

This web page contains info about replacing the FETs or stacking them (which I do not recommend) and also mentions BLHeli and shows one way to use Silabs Toolstick for flashing the software.

Luckily we had a couple of those small 1S ESCs at hand and I suggested that we use them for the tests instead. I also promised to modify a sample or two to simply check how much improvement could be gained by changing the FETs and new software.

Changing the FETs

Please see the HacksMods article for excellent reference on which FETs are N-channel and which are P-channel. All the listed ESCs follow the same general layout and if you are still unsure, the N-channel FETs are tied to battery - and P-channel parts are tied to battery +. You can follow the copper traces on the PCB or use a multimeter to check.

I went to Digikey.com to find as good FETs as possible in SOT-23 or compatible case. These are SOT-23F and SC-59. At the moment of writing this the best options are:
- N-channel DMN2020LSN-7: http://www.digikey.com/products/en?k...SN-7DICT-ND%20
- P-channel SSM3J328R: http://www.digikey.com/product-detai...FCT-ND/2753207

Another option for a P-channel FET is DMP2035U-7 which we used initially before the Toshiba part appeared.

The original FETs in all these three ESCs are 3 A parts from Alpha & Omega Semiconductor or similar, for example AO3400 and AO3401 pair which has about 100 mOhm total channel resistance when driven from 3.3 V source. The replacement ones can handle at least 6 A and cut the resistance by half which means much lower electrical losses. Of course in F3P we don't need higher than 3 A currents - in fact 2 A would probably be enough but still the lower resistive losses improve flight time and as a bonus, a small 120 mAh battery cannot destroy the ESC if it is accidentally reverse polarized for brief moments.

There are many other suitable FETs which are better than the originals and I bet even better ones will appear later on - this is a trend in the semiconductor business. Just keep in mind that that the total gate capacitance should be kept in reasonable limits since the microcontroller I/O pin has limited drive capability.

When desoldering the FETs I use a hot air reworking station which is fast but these 3-legged parts can be removed with conventional methods too. Just be careful how you mount the ESC since especially the MX-3A PCB is very thin and does not tolerate heat very well - it turns soft and flexible before you notice... Don't ask how I know.

Flashing BLHeli SW

There's plenty of documentation about various methods of flashing the BLHeli SW. Please go and download the latest BLHeliSuite since it contains all the documentation in pdf format, PC software and all the binaries for the supported ESCs. For building the FTDI cable, refer to a document "How to Build a BLHeli bootloader interface with USB-UART board.pdf" and the attached picture.

One of the most versatile flashing tools is Arduino nano which can program the MCU using both the C2 method and servo wire method. Personally I use a Silabs Toolstick with debug adapter to perform the initial flash via C2 interface and subsequently an FTDI serial cable to change settings via servo signal pin. To clarify things a little, I'll explain quickly the difference between C2 method and signal pin method:

- The C2 interface has two pins (clock and data) and can be used to program an out of factory empty microcontroller. If you use C2 interface from BLHeliSuite, it always flashes both the bootloader and firmware. So this is a method to revive a locked or otherwise messed up ESC back to life is such thing should happen.
- The signal pin method uses only the servo signal pin (besides GND) and can only be used to update the firmware and change the settings. It cannot touch the bootloader since the bootloader is running in the ESC when BLHeliSuite connects via the signal pin. If the bootloader does not work for some reason, the C2 method is the only option.

I like the Toolstick method since it is fast, a complete flash takes only a couple of seconds. Initially I soldered thin wires to the PCB C2 points but later on I created a flashing cable with GND hook and spring loaded contacts for C2.

Tools I use (and genuine Arduinos) are available from Digikey:
- Silabs Toolstick: http://www.digikey.com/products/en?k...348-ND&stock=1
- Toolstick Debug Adapter (saves you from soldering wires directly to the stick): http://www.digikey.com/products/en?k...347-ND&stock=1
- FTDI serial cable with 5V output level (3.3V version works just as well): http://www.digikey.com/products/en?k...028-ND&stock=1

I attached a picture showing my connection to the FTDI cable. You need only one 27 k resistor and one small schottky diode such as BAT43 (plus a section of pin header strip).

NOTE: When flashing the BLHeli firmware, make sure you have selected the correct ESC type. There are separate firmware files for the XP-3A, DP 3A and the Supermicro MX-3A (uses code for MX 3.5 A). The most suitable code alternative for model aircraft use is the "MAIN" since it has LVC.

Software Settings

Later in the fall of 2015 Janne and Iiro had completed building their Rane 2016 proto and were performing some flight testing in a gym. They struggled with the servos initially but flight time with a 120 mAh battery was a problem too. They got barely 4 minutes even though they already had an ESC with better FETs and BLHeli SW. They had disabled the "Governor Mode" and turned the "Spoolup Time" down to enable normal throttle behavior for aircraft use and dialed the "Low Voltage Limiter" (= LVC) to minimum already. They messaged me to ask if I had any ideas and as a last resort, we decided to test if turning the "PWM Frequency/Damped" setting to DampedLight had any effect...

Well, I knew from reading the BLHeli documentation that this enables regenerative braking or "active freewheeling" which greatly enhances the throttle response in multicopters since it helps to lower the prop rpm much faster than letting the props slow down by themselves. I also knew that in theory the ESC can charge the flight battery for a brief moment when it is braking... After 10 minutes I got another message which said something like this: " BREAKTHROUGH: We now have 1.5 minutes more flight time!"

Turns out, Kimmos wide blade balsa props and the drive could get some energy back during vertical downlines which improved the total efficiency more than we could have dreamed of.

Please see the attached screenshot for our recommended settings for the 1S ESCs with Kimmosystem 1S. Note that you may find a different setting of "Motor Timing" to be more optimal for other drives but most of the other settings can be left as shown. Also note that the improvement in efficiency and flight time seems to depend quite a lot from the drive system / propeller combination but for sure these modifications cannot make things worse. We tested the BLHeli SW with these setting in the Victory 1S of Gunnar Karlsson in Strasbourg and did not see a vast improvement but did not compare the total flight times either. He had trouble in getting to the top of the last move in the P-program before the changes and still did so afterwards, unortunately.
Last edited by Finnspeed; Today at 01:50 PM.
Feb 25, 2017, 11:08 AM
Intermediate Multi
Trisquire's Avatar
...
Last edited by Trisquire; Feb 26, 2017 at 10:31 AM. Reason: Sorry. I failed Reading Comprehension.
Feb 25, 2017, 02:28 PM
Registered User
...
Last edited by joao; Feb 26, 2017 at 05:24 AM. Reason: Forgot that original poster does not want replies at this stage
Feb 25, 2017, 03:12 PM
Senior to who? Member
crossup's Avatar
...
Last edited by crossup; Mar 01, 2017 at 09:15 PM.
Mar 01, 2017, 12:56 PM
Risto Hölttä - F3A/P Team FIN
Finnspeed's Avatar
No problem, I sort of guessed that a few comments will appear and I'm now editing the 2nd post to contain all the servo information. The 3rd post will contain all the ESC related stuff.

The other team members will contribute later on. As long as the information is easy to find, it's all good.
Mar 01, 2017, 08:40 PM
WingsTiresTitsGunaGiveYaT ruble
bill clark's Avatar
Mar 02, 2017, 11:54 AM
Aircraft Designer Guy
AJWoods's Avatar
This is fabulous info, thanks for sharing

-A
Latest blog entry: Star Wars Dogfight
Mar 04, 2017, 08:06 AM
I don't want to "Switch Now"
pmackenzie's Avatar
Gathering the bits to experiment with the servos.
For programming the servo, can something other than the Blue arrow programmer be used? I have a similar item for Hyperion for example.

Thanks,

Pat MacKenzie
Mar 04, 2017, 08:48 AM
Risto Hölttä - F3A/P Team FIN
Finnspeed's Avatar
Pat, I believe the Hyperion servos use a different protocol but it doesn't hurt to try. I'm using the Emax programmer and most probably the Blue Arrow programmer is compatible too.

***Risto***
Mar 04, 2017, 09:47 AM
I don't want to "Switch Now"
pmackenzie's Avatar
Thanks.
I found a Blue arrow one in stock , so ordered one.

Emax one would have been a bit cheaper if anyone else is looking
(For me in Canada once shipping is in it would be about the same)

Hobbyking has the Blue arrow servos in stock

Emax servos are suddenly out of stock in most places, but I found them on aliexpress

Now just have to wait, aliexpress uses the "slow boat" shipping methods.
Mar 04, 2017, 10:13 AM
I don't want to "Switch Now"
pmackenzie's Avatar
Another question - I have never used hot air rework, so probably need to get a station. Something "moderately priced" from china of course
Any tips of what to look for? What sort of tip for this job?

Thanks,

Pat MacKenzie
Mar 04, 2017, 10:53 AM
Risto Hölttä - F3A/P Team FIN
Finnspeed's Avatar
Pat, I use Weller hot air station at work but I suppose the cheap Chinese ones are usable too. I also use a professional stereo microscope which makes jobs like this a lot easier. These parts can be soldered with a conventional iron too if you have a suitable tip. I would select something like 0.5 mm tip.

Remember to get the resistors too if you buy resonators.
Mar 04, 2017, 11:17 AM
I don't want to "Switch Now"
pmackenzie's Avatar
Thanks.

I bought the resonators and resistors (which are tiny!)
I have done SMD work, both hand solder and toaster oven reflow.
But usually with larger parts than 0402.

Working right now on the ESC end of things, getting a bit ahead of your posts .
Got my Arduino Nano flashed with the 4-way code via BLheliSuite, one step out of the way.


Thread Tools