- Posts: 588
How to set up FBL helis on Custom Firmware
- Hexperience
- Topic Author
- Offline
** If your heli manual uses 0%-100% you will need to convert those to -100 to +100 values. So take the value X 2 -100. ie if your manual says set the "whatever" to 30% then 30x2-100 = -40 **
Other than a Flybar heli, the FBL heli is probably one of the more difficult configurations to do in a mixer like deViation. Once you learn these key concepts you will be able to use the mixer to make any config you need, from a 3 channel plane to a 6 channel FBL heli. (I'll do another post on FB heli's in the future).
Flybarless vs Flybar helis is the first concept. If you have a Flybarless heli with a 3 axis FBL controller, the FBL unit does the CCPM mixing for you. If you have a Flybar heli the tx needs to do the mixing for you. For most FBL controllers you will select NO heli mixing (swash type: none), or simply program the channels individually as we will below.
So for the Master CP, mcpx, v120d02 etc. All you need to send to the Rx/FBL unit is the position of the sticks, throttle and the amount of gyro sensitivity for the tail. (Some may have more options but this is about the basics)
Another concept we need to understand is All-in-one RX/Gyros vs. an RX with seporate FBL Unit. If you have an All-in-one you get to skip the step of connecting the RX to the Gyro. If you have say, a Tarot gyro, you need to connect the RX output to the Gyro input according to the manual. In the end however, you will always have some number of channels wanting information sent to them about the location of the sticks or values for the gyro sensativity. For now we'll assume we are using an All-in-one.
With an FBL it wants to know the following. (And the channel order will vary depending on the protocol. i.e. Devo or DSM for example.)
For Devo protocol on FBL controller:
ch1 Elevator stick position
ch2 Aileron stick position
ch3 Throttle stick position
ch4 Rudder stick position
ch5 -not used-
ch6 Collective Pitch (we'll call it stick position for now, more on that in a second)
ch7 Gyro setting
For DSM2/X protocol, the FBL will expect the same information from your tx, just in a different order.
ch1 Throttle stick position
ch2 Aileron stick position
ch3 Elevator stick position
ch4 Rudder stick position
ch5 Gyro setting (this channel is often called the Gear channel on the Rx)
ch6 Collective Pitch (we'll call it stick position for now, more on that in a second)
Main thing to watch here is that the throttle moves to channel 1... always know where your throttle is... that's the one that can bite you. So the Throttle and Elevator are swapped on ch1 and ch3, and in the case of Walkera the gyro is moved to channel 7. Check the manual of your FBL unit. If it's an all-in-one it's very important to know what it expects on each channel. If it's a separate RX and FBL, then it's very important to correctly connect the RX to the FBL. Hopefully by the end of this post, you will see that you could, in a split RX/FBL, send pitch or throttle or gyro on any channel you want as long as it's plugged in in the same order. (But stick with the manual for now!)
So, now we know what the Rx/FBL needs to know and in what order. Let's talk about how we get that information out of the Tx. Here's where we use the term Mixer and have to know it's not the same Mixer that is already working for us in the Rx. CCPM is the Cyclic & Collective Pitch Mixing. Short way of saying that when you want to go Up and Forward, for example, we need to have the three servos move in the correct way to get the desired direction. That's the Mixing part of CCPM. The term Mixer also applies to your TX. In the case of FBL programming, we don't need to do the CCPM mixing because the FBL is doing it. What we do need to mix is the extra channel information we talked about a minute ago. Remember I said we need to give the FBL stick positions, Elevator, Aileron, Throttle, Rudder, Gyro and Pitch. 5 sticks and one switch.. Hmm. How do we tell it 5 stick positions with only 4 sticks? We mix it.
The mixer in the TX takes inputs, alters them in some way and passes them to the output channel. In deViation, the first column is the output channel. The second column is the Input used and the third is the type of mix we want to use.
Elevator is first. The tx mixer expects an input, in this case it's simple, the position of the Elevator stick. We may or may not want to alter it, then send it to channel 1. Why would we want to alter it? Exponential and Rate. Expo makes the stick less sensitive around the middle position, Rate controls how much the stick will change the output. For example if we push the Elevator stick all the way forward (100%) Rate controls what percent actually goes out to the rx. So 50% Rate, with the stick all the way forward (100%) will send 50% out to the channel. If we pushed the stick 50% forward we would send 25% to the output channel. This makes the Elevator much less sensitive across the entire range of movement of the stick. (Low rate). In DeViation Rate is called Scale. This picture shows how we alter the Elevator source to have 70% rate (scale) and that's it. It will go out to channel 1 with only effecting the scale of the stick input. Nice and simple. (That's why it's called a simple mix )
For now, lets live with that. We've now got the FBL unit the information it wants on channel 1. The position of the Elevator stick. The FBL does not care about the scale or rate. All it needs is for us to tell it how much to move. (More about that later in the FBL notes)
On to channel 2 Aileron. Exactly the same as above, just a different source (Ail) and output (channel2). For FBL units I always use the SAME scale/rate for Elevator and Aileron. 70% in this case.
Skipping channel 3 for the moment, Rudder channel 4 is also the same as above. Source is RUD, rudder stick position, output is channel 4. You can use whatever rate you like here. A lot of people choose to send full rate (100%) on the rudder.
Now back to channel 3 (1 for DSM), the throttle channel. The FBL doesn't care about it, and in the case of the Tarot ZYX (and others) the throttle channel isn't even connected to the FBL in anyway. It simply controls the ESC. So this mixer is also an easy one. Source is the Throttle stick position output is channel 3. To start with you should always 100% scale(rate) and 1-to-1 ratio. For that channel we want OFF to be OFF, no exceptions. Also at first we do want full on, to be full on. This is so the ESC will see the full range of movement. I'm not going to get into ESC programming now, but I want to cover an important feature;
Throttle hold. If you're new to helis this is the "Holy $#!t" switch. You always want to stop power going to the motor if you are about to crash. AND you always want this switch on, when you are handling the heli. Again, the power of custom firmware.. we can do it in more than one way. The easy way is to set the safety value in the channel configuration page.
This is a good way to do it, because no matter what else you have in mixer settings, THESE settings are applied last. Later in this post you'll see another way to do it. ALSO just a personal comment, DON'T set your throttle hold to lower than your normal throttle curve. I.E. "My normal throttle is a -100, so in HOLD I'll make it -120 to be safe." NOT SAFE! You esc could see that as the new low range, and when you turn off HOLD, even with your stick at 0 (-100) it will spin up. (Just ask a Dx6i user about that... )
So there's our 4 stick positions mapped (or mixed) out to 4 output channels. But we're setting up a 6 channel Heli...
Channel 5(OR 7), the gyro setting. Simple, the FBL wants a number. "how much gyro control do you want me to use on the tail?" Let's tell it +30 if the gear switch is up and +40 if the gear switch is down. (this will change on each FBL, you have to understand what the FBL wants, read the FBL manual). So our Source is going to be a switch, we'll alter it based on the switch position and then send it to channel 5 or 7. Here's where it could get confusing. But it's also where the power of custom firmware starts to show. We can use more than one method to alter the information going out on channel 5 or 7. First we could alter the information in the Rates and Expo page. Like this:
So our Source is the Gear switch, which, if not altered is either full on (+100) or full off (-100). (Other firmwares call it 100% or 0%) We want to tell the FBL +30 and +40. We use FIXED as the type because there is no range of movement involved. Important thing here is we are just taking an input and changing it in some way then sending it to the channel the FBL expects. So that's how you could do it in deViation and how you setup dual rates.
There's another way to do the same thing. This time we'll use the Complex mixer, which is just a fancy way of altering the source. It's called the Complex mixer in deViation, er9x just calls it the mixer.
Now we are using layers. Take your input, raw so to speak. Lay over it a way of changing it. Lay over THAT another way of changing it. When you add another layer you can even choose HOW to lay over the new alteration. You can Replace the old info with new info, you can ADD new info to the old info. There's more options as well, multiply, max min... for now we'll use replace, it's probably the most common.
So you choose Complex as the mix type. Then the number of mixers (or layers) 2 in this case. The first uses replace, because we want to replace the +100 (switch up) with +30. The second page (layer) also uses replace to replace the -100 (switch down) with +40. IF we used ADD rather than replace you can guess what we get on the channel. Yep, +70.
Channel 6, pitch.
Source is the position of the throttle stick. But here again is the power of a mixer. Same source at the throttle channel, but you can alter it differently so that the output to channel 6 is different than channel 3. And now that we know about the layers (complex mixer pages) we know we can use switches, and add/replace to make the channel do whatever we want. The FBL here is simply expecting to be told how much UP and Down we want. Again, it will figure out how to move the servos for us. Commonly, when the heli is sitting on the ground and the blades are starting to spin, we want just a little DOWN. We don't want to push the heli too hard into the ground right? However, in this super simple example, we are also at low throttle, because we are sharing the source (throttle stick). If we were to send the source to both channels unchanged what would we see? With the throttle stick at 1/4 up would give us 25% power, with about 50% of the maximum DOWN pitch. This won't push the heli down too hard. Now with the stick at about 1/2 way up, we would have 50% power to the motor (channel 3) and 0% on the UP/DOWN channel (6). Now the heli is starting to spin the blades a bit fast, but we're not telling it to go up yet. Now lets go to 3/4 up that's 75% power and telling the FBL that we want to go UP at about 50% of the maximum UPness. We'd be hovering at this point.
BUT, lets say 50% UPness is waaaay too much for us at 75% power. And lets say that 75% power is too fast for our cheap wooden blades (300x). So let's alter the two channels separately from the same input.
You could put a Rate Scale on the Pitch channel (6). And you could use a Curve on the throttle channel. Like these.
This is a 5 point curve, and all we've done is lower point 5 so that we don't shake our blades to bits. Again, altering the source (input) of the throttle stick and sending to to a channel, 3.
This shows that we are taking our source (throttle stick position) lowering the scale (rate) and sending it out a channel, 6, the pitch channel.
So we have the same source, with two different ways of altering it and sending it out two different channels. And as we showed above on the gyro channel, we could alter the input information in any number of ways, with switches, adding or replacing the source info with new info and making curves and rates.
I wanted to quickly mention that some helis have leading edge control and some have trailing edge control. Take a look at your heli and notice where the control arms are. If you have leading edge control, when you push UP on the pitch stick, your swash plate will go UP. If you have trailing edge control when you push UP on the pitch stick, your swash plate will go DOWN. This can seem a little odd at first. If you find that it's going the wrong way, just reverse the pitch channel.
Now a couple of notes on FBL units.
The settings above, with 70% rate (scale) in the Elevator and Aileron would be ok on a simple FBL unit. Like in a blade mcpx or v120d02, and lots of others. Again, you need to know what the FBL expects to see. In the case of a more complex FBL unit it may expect to see FULL rates on the sticks. Then the FBL will decide how much rate to apply based on the settings of the FBL. The ar7200bx is a perfect example, but there are many. The ar7200bx has pre-built settings in it. A lot of FBL's do. Some times they have pre-built settings called beginner, advanced, extreme, FC3, 3D, whatever. When you are using one of these types of FBL you generally want to show the FBL full rate on the stick so that it knows you are giving the stick a little or a lot of movement. The tarot/copterx FBLs have cool software that actually show you how much input they are seeing.
The ar7200bx has these pre-built settings as well as one called Transmitter mode. In Transmitter mode, it will not put any alterations in at all and acts more like the basic FBL, it expects YOU to program your settings in your TX. This means in Transmitter mode, with NO rate setting on your TX you would have FULL rate to the servos. That's like maximum 3D extreme. Great if you're a pro, but for me not so much. Conversely, if you choose a beginner mode on the FBL set up AND program your TX to use low rates (which a lot of beginners do) you will end up with almost no movement in the servos at all. If you choose beginner and it reduces the movement by 50% and you have put in 50% rates on the TX, you will only get 25% movement in the servos. (50% of 50%). A beginner should use lower rates, but not that low... you'll feel like you have no control at all.
Some FBL units may not do the CCPM mixing for you. RX2702v is an example of that. For units like that you need to select the appropriate swash type in the TX config. Usually it's 3 servo 120. I'll do a post later about flybar ccpm setup.
*** Please note that in deViation, the use of cyclic virtual channels (the cyclic mixer type) does NOT automatically mean you are doing CCPM mixing in the TX. There is a setting in the Helicopter config page for swash type. NONE is the default which obviously means no ccpm mixing. To follow along with this how-to do NOT load the 6-channel heli template.
Just make sure you understand what the FBL expects you to send to it, then match your TX settings to that.
*** Blade micro binding *** The nano and the mcpx can bind in either "Computer" radio mode or in a special mode for the Dx4e. Make sure you follow the instructions to bind it as a Computer radio. This will make the heli a 6 channel heli with the channel order as: TAERGP
Firmware simulators
One of the best features of custom firmware, be it deViation, er9x, open9x etc. Is is that they have firmware simulators of one type or another. For er9x you can use eePe or Companion9x, and deViation has one to. These make it super easy to test your mixes and setups before trying it in something that cost money when it crashes. If you want to try out the deViatoin emulator, just remember you have to download the file system zip. Extract it so the folder "filesystem" is in the same folder as the emu_devo8.exe file.
Hope this helped someone.
Cheers
Dave
There are 10 types of people in this world. Those that understand binary and those that don't.
Please Log in or Create an account to join the conversation.
- sbstnp
- Offline
- Posts: 649
Great work!
Devo 10 + 4in1
FrSky Taranis + TBS Crossfire
Please Log in or Create an account to join the conversation.
- RugWarrior
- Offline
- Posts: 59
It should be included or at least be pinned...
Please Log in or Create an account to join the conversation.
- Hexperience
- Topic Author
- Offline
- Posts: 588
I plan to add more and to cover planes as well as a flybar heli example.
Cheers
There are 10 types of people in this world. Those that understand binary and those that don't.
Please Log in or Create an account to join the conversation.
- Masen72
- Offline
- Posts: 8
ME LIKE
Solo Pro 270 // Mini CP // Super CP // Devo8S
Please Log in or Create an account to join the conversation.
- Masen72
- Offline
- Posts: 8
"template=6Ch Helicopter
type=heli
[radio]
num_channels=6
[swash]
type=none
[channel1]
template=cyclic1
[channel2]
template=cyclic2
[...]
[channel6]
template=cyclic3"
And then further down a couple of virtual channels are defined.
"[virtchan1]
template=expo_dr
[mixer]
src=AIL ..."
My questions to you (or anyone else with knowledge of the inner workings):
1. How does Channel 1 => Cyclic 1 tie to the virtual channels below?
2. Isn't it overkill to use virtual channels? Hexperience's way of defining channels seems much more straight forward or am I not getting the whole picture here?
Cheers,
M
Solo Pro 270 // Mini CP // Super CP // Devo8S
Please Log in or Create an account to join the conversation.
- vlad_vy
- Offline
- Posts: 3333
Please Log in or Create an account to join the conversation.
- Masen72
- Offline
- Posts: 8
Mini CP = FBL. But if you look at TomZ template for the Mini CP it uses the virtual channels, so he's modelling it as a CCPM?
I must be missing out on something fundamental here.
Solo Pro 270 // Mini CP // Super CP // Devo8S
Please Log in or Create an account to join the conversation.
- vlad_vy
- Offline
- Posts: 3333
For most cases virtual channels simply not needed, you can setup model using mixing for ordinary channels.
Please Log in or Create an account to join the conversation.
- Hexperience
- Topic Author
- Offline
- Posts: 588
Think if it this way, some thing has to do the math that figures out when you push forward on the elevator, you really mean, move the elevator servo uo a littlle and the pitch and aileron servos down a bit.
The tx can do that and the fbl controller can do it as well. There is nothing stopping you from asking both of them to do it but you end up with soft control because you mix your input twice.
There are 10 types of people in this world. Those that understand binary and those that don't.
Please Log in or Create an account to join the conversation.
- Masen72
- Offline
- Posts: 8
What are the pros and cons of doing it either way?
(I'm thinking of skipping work to go home and program my TX instead... )
BTW: This Dev Forum Thread was quite usefull too.
Solo Pro 270 // Mini CP // Super CP // Devo8S
Please Log in or Create an account to join the conversation.
- Hexperience
- Topic Author
- Offline
- Posts: 588
Sorry Tom Z!
There are 10 types of people in this world. Those that understand binary and those that don't.
Please Log in or Create an account to join the conversation.
- stein@office-center.no
- Offline
- Posts: 58
This was really helpful. Is it possible for You to make similar document on how to devolop this furter in a standard 3D setup for FBL helis?
And the more i use this software on my Devo 10 i really long for the Skyartec support also. Any news on when this will be available?
Thanks!!!
Stein
Norway
Please Log in or Create an account to join the conversation.
- Tom Z
- Offline
Masen72 wrote: Sorry, I don't understand your reply.
Mini CP = FBL. But if you look at TomZ template for the Mini CP it uses the virtual channels, so he's modelling it as a CCPM?
I must be missing out on something fundamental here.
I just made a new template and this time I didn't use the virtual channels.
I will upload the new file after I test it out with some helicopters.
Please Log in or Create an account to join the conversation.
- stein@office-center.no
- Offline
- Posts: 58
Maybe this message should have been placed elsewhere - but I try here first.
I have set up according to Hexperience's setup as mentioned in the first message in this topic.
Using my Devo-10 for simulator practice until I get the CC2500 module installed to use the Devo-10 with my Skyartec Wasp X3V.
The setup works great.
But i wanted to try to fly upside down. I just tried to adjust the Throttle from simple to complex with 3 switches. I set page 1 to Fmod0 and used the values 1-to-1. Saved and tried this and it worked just the same way as with simple template. Selecting Fmod1 or 2 - no throttle - as expected.
Back in the menues I selected page 2. As soon as i try to alter the Switch: by selecting right hand L/R buttons - i hear a little beep, the screen goes blank and the software jumps back to the stored settings (Simple) and the startup screen appears.
I've tried this several times and the same happens each time.
Maybe I'm trying to do something which the software does not allow or could it be some bug or defect on my radio?
Thanks..
Stein Holstad
Norway
Please Log in or Create an account to join the conversation.
- Masen72
- Offline
- Posts: 8
Had the same thing happen to me. My workaround was to hook the radio up to the computer, edit the model file on the computer and manually copy the info from the first page to the following pages making it look (something) like this:stein@office-center.no wrote: Hi.
[...] Selecting Fmod1 or 2 - no throttle - as expected.
Back in the menues I selected page 2. As soon as i try to alter the Switch: by selecting right hand L/R buttons - i hear a little beep, the screen goes blank and the software jumps back to the stored settings (Simple) and the startup screen appears.
[channel3]
scalar-=0
template=complex
[mixer]
src=THR
dest=Ch3
switch=FMODE0
curvetype=7point
points=-100,17,66,75,75,75,75
[mixer]
src=THR
dest=Ch3
switch=FMODE1
curvetype=3point
points=85,80,85
[mixer]
src=THR
dest=Ch3
switch=FMODE2
scalar=85
curvetype=fixed
[mixer]
src=AIL
dest=Ch3
switch=RUD DR
scalar=-100
usetrim=0
curvetype=fixed
Does that work for you?
Regards,
M
Solo Pro 270 // Mini CP // Super CP // Devo8S
Please Log in or Create an account to join the conversation.
- Hexperience
- Topic Author
- Offline
- Posts: 588
stein@office-center.no wrote: Hi.
Maybe this message should have been placed elsewhere - but I try here first.
I have set up according to Hexperience's setup as mentioned in the first message in this topic.
Using my Devo-10 for simulator practice until I get the CC2500 module installed to use the Devo-10 with my Skyartec Wasp X3V.
The setup works great.
But i wanted to try to fly upside down. I just tried to adjust the Throttle from simple to complex with 3 switches. I set page 1 to Fmod0 and used the values 1-to-1. Saved and tried this and it worked just the same way as with simple template. Selecting Fmod1 or 2 - no throttle - as expected.
Back in the menues I selected page 2. As soon as i try to alter the Switch: by selecting right hand L/R buttons - i hear a little beep, the screen goes blank and the software jumps back to the stored settings (Simple) and the startup screen appears.
I've tried this several times and the same happens each time.
Maybe I'm trying to do something which the software does not allow or could it be some bug or defect on my radio?
Thanks..
Stein Holstad
Norway
There is a bug in 2.1.0 (and maybe 2.1.1?) that will cause the reboot you are getting.
Use the nightly build, or use the Dual Rates mixer to do the same thing.
There are 10 types of people in this world. Those that understand binary and those that don't.
Please Log in or Create an account to join the conversation.
- stein@office-center.no
- Offline
- Posts: 58
Just upgraded to last nightly build. When building a new flybarless config i came a cross a problem during Your gear complex setup. When the curve is set to fixed i can not change the src - which remains none whichever button i press. Changed to Deadband instead of fixed I could alter the Src.
I also recon that with the last nightly build of 25. March - the switch now in Your 5-GEAR setup i.e. Gear0 and Gear1 for the two mixers - and in 12.1.1 it would be None and Gear. Correct?
I do not know if this is an error i should report elsewhere?
I also learned that after a software upgrade - do calibrate!!! Just broke the flybar on the 120SR which is the only heli i can fly with the deviationtx and devo-10 for the moment. (Waiting for CC2500 modules to arrive to bind to skyartec.) But I also use it for the simulator (Phoenix) with flybarless setup. Glad I had a spare flybar.
Thanks.
Stein
Please Log in or Create an account to join the conversation.
- stein@office-center.no
- Offline
- Posts: 58
Something tells me that to be able to fly upside down i also would need to adress the pitch curve.
Fixed negative value - ok?
Thanks
Stein
Please Log in or Create an account to join the conversation.
- sbstnp
- Offline
- Posts: 649
stein@office-center.no wrote: When the curve is set to fixed i can not change the src - which remains none whichever button i press. Changed to Deadband instead of fixed I could alter the Src.
It's by design. If you set a fixed value to be your "curve" does the src matter anymore? If you set 35 it's gonna be 35 regardless of your source. See?
Devo 10 + 4in1
FrSky Taranis + TBS Crossfire
Please Log in or Create an account to join the conversation.