FrSky X9D is an excellent radio. There is a variety of receivers that can work with it. And each of receivers is a small computer itself. With its own firmware that can be changed. Why? For example to enable CPPM mode, or allow receiver to bind with EU or non-EU Taranis (I will write on both topic in different posts). FsSky is selling cables to flash different modules, but Taranis is cool enough to flash S.Port receiver modules by iself. Cool, right? How to do it? Simple:
You will need OpenTX 2.1 Taranis software or never. If you are using older one, upgrade with Companion app,
You will need S.Port cable. Different receivers might have different plugs, so you will need right type. Luckily receivers usually comes with proper cable (checked with X4R and X4RSB), and X8R bundled with Taranis has standard servo pulg for S.Port,
Taranis has “hidden” connector that allows for flash S.Port modules. It is behind JR module cover.
Since I was lacking some power in my Reptile 500 quadcopter, I was considering switching my Turnigy MT2213 935KV motors to something more powerful. Last previous weekend kind of forced me to make that switch: I destroyed one motor while trying to replace bearings. Being forced with lack of motors I’ve decided to stay with 3S LiPo, AfroESC and 10″ APC propellers and buy motors that would deliver more power while being compatible with rest of my setup. So I have chosen EMAX GT2218/09 1100KV.
Why them? Mainly because they were meeting my requirements and being actually available and within reasonable price.
Max power: 312W,
1380g on APC 11×3.8,
1290 on APC 10×4.7
With long shaft at the bottom, so can be mounted in front and behind an firewall,
GT series (Grand Turbo, woot woot) for “hi-tec” and “pro” models (such a nice name…),
I know, I know… posting PID values for one multirotor is not very useful after all. The same frame with different motors, props and battery might require totally different PID values. But.. At least they can be used as starting point for customized tuning. So, here is my configuration for Reptile 500 and frame and following configuration:
Battery: 5000mAh Turnigy 3S,
FC: Flip32 running Cleanflight 1.10,
Motors: Turnigy Multistar MT2213 935KV
Props: APC 10×4.5 MR
ESC: AfroESC 20A running OneShot125 and BLHeli 14
Weight: 1300g with battery
So, if you have somehow similar configuration, you might try my values. And they are:
PID Controller: LuxFloat (BTW, as far as I can read C code (last time I was programming with C about 20 years ago) and know smth about PIDs, this is the only controller implemented into Cleanflight that actually is written in a proper way. The way I see it, all the other works only by mistake, specially on D part. Who thought that substracting D term is actually a good idea?)
PID and gyro filtering enabled via CLI with following commands (BTW again, those filters are he best thing that came in Cleanflight 1.10. Everything is much smoother with them. Good job on those):
set dterm_cut_hz = 16
set pterm_cut_hz = 32
set gyro_cut_hz = 64
Important note for 2015-11-22
PID values from above has been determined as main source of extensive high frequency vibrations causing jello effect. Specially high D, even with LP filter, was causing jello effect. Read this post for improved PID settings for Reptile 500 frame and Cleanflight.
In my last post I’ve showed how to disable internal MHC5883L compass on Flip32+ (10DOF) flight controller board. Now it’s time to fix what we’ve broken last time, and connect external MHC5883L compass with I2C bus.
In my case I used very popular setup: u-blox NEO-6M GPS module with integrated MHC5883L compass. So you have both GPS and magnetometer in one case. Pretty nice. I’ve described how to connect NEO-6M GPS few weeks ago, so that part should be covered. The only new thing is compass itself. And hardware setup for it is very simple. In addition to GND and +5V lines you only have to connect SDA and SCL lines to bottom line of connectors right to USB port on Flip32. SDA to SDA, SCL to SCL. In case of I2C we do not have swap lines or do any other kinds of voodoo. Continue reading How to add external compass to Flip32
Build in HMC5883L compass/magnetometer is very nice feature of Flip32+ flight controller. Too bad it’s not always working like expected and there is a time, when one have to replace it by external device, positioned as far away from power cables as possible.
I’ve encountered that specific problem two weeks ago when I’ve discovered the reason (or at least I think I discovered) why Position Hold and Return To Home GPS assisted flight modes on my Flip32 and Cleanflight were not working. Or rather were working only sometimes, usually when quadcopter was positioned to the north, north east. On any other case, huge overshoots, going in totally different direction than expected. GPS was more less useless. Finally, during one one flight I kept attention to compass heading displayed on OSD. On the ground, heading was correct. After take off, it was drifting to east. Always east. With that data I’ve concluded: Flip32+ built in compass is too close to power cables and when motors are running magnetic field makes compass readings unreliable. Solution: move compass further away from power cables. But with compass already on PCB it was rather impossible. So the only real solution is: disable internal compass and use external HMC5883L connected over I2C bus.
Learning to fly FPV is not easy. I have no problems with big quad. It is heavy enough no to try any aggressive flying. Small 250 is completely different story. Aggressive flying is just more fun. Flips, rolls, flying close to trees… Just take a look:
Finally I mastered that pass. It only took like 7 propellers and one camera hold 🙂
When I was building my 250 class quadcopter I wanted to make that cheap. So, I’ve bought cheap ESC: Turnigy Multistar V2 10A ESC for S2-3 with 2A LBEC. And yes, they are cheap: slightly less than 8EUR per piece. With preloaded BLHeli software. Cool, isn’t it? Well, not so cool after all, but first things first.
Preloaded BLHeli software (version 13.1 in the ones I’ve ordered in late June 2015) simplifies a lot. No need experiment to upload BLHeli and 1-wire interface is available from the start. Also update to BLHeli 14 was pretty simple without any glitches. Unfortunately, there is a reason those ESC are so cheap…
After 2 months of using them in my 250 quadcopter I can state the following:
They are cheap all right,
None of them burned yet so it’s a good sign,
Preinstalled BLHeli and easy to upgrade
10A is not much for a quadcopter needs, slightly higher max current would be welcomed . But this is my fault, not those ESC,
they do not support Damping Light, so no active breaking on those ESC (booo),
OneShot125 on those ESC behaves strange when throttle is below lower limit. They screech. Fortunately nothing bad happens in flight,
2A LBEC regulator is in fact double LM7805. And it heat a lot.
Asymmetrical frames like Dead Cat or Spider type have many advantages. Big central plate to put all the electronics, front view not obscured by arms and motors. And they look cool. Way cooler than traditional X frames. But there is a price. Because they are asymmetrical, flight controller has to put much more effort into stabilizing them. Motors are not in equal distance from center of weight, and because of this require different force applied when performing stabilization. Quad will fly even when standard X configuration is programmed into flight controller, but will not archive best performance. For example, when FC wants to roll, different motor distance from COG might induce also pitch rotation. Of curse FC will compensate in next cycle for that unwanted pitch movement, but what if it would have to do that? Less corrections, lower power usage, higher stability, better control.
This is why most flight controller software allows to program almost any motor configuration and tell it how far any motor from rotation axis is to match applied force for each motor separately. General rule: motors closer to rotation axis require more force than those further away (torque and stuff). This is called custom mixing. Continue reading Cleanflight custom mixing for Reptile 500 frame
It’s been few weeks since my last post about 250 class quadcopter based on carbon fiber ZMR250 frame. Machine is mostly finished by now. At least in LOS configuration. FPV gear has only arrived last week and I still had no time to put it in.
Anyway, it flies and crashes a lot. But this is 250. It’s supposed to do so. After little more than 2 hours in air I can say that:
It is heavy. With 1.3Ah 3S LiPo battery and RunCam HD it weights 530g. Have to make it lighter…
Turnigy Multistar V2 2206 2150KV “Baby Beast” with Gemfan 5030 propellers does not provide enough thrust. Do not get me wrong, it is fast, but I was kind of hoping for higher level craziness.
While playing with newly arrived Micro MinimOSD and attempting to flash it with latest MW OSD software, I’ve discovered that offical tutorial, as well as many other are missing one tiny detail that makes whole process much harder than expected. In theory, MinimOSD just Arduino Pro Mini with additional hardware. So, in theory, you plug in your FTDI USB adapter and upload a sketch. But if you never worked with Arduino Pro Mini (like me, it was always Uno, Pro Micro, or barebone Atmega328) you might not know one detail. Yesterday it took me more than 30 minutes to figure out firmware upload is not working, while it should. So, another tutorial will be written.
To flash MW OSD to Micro MinimOSD we will need:
Micro MinimOSD with soldered pins, but isn’t this obvious?