Futaba 9C switch mixing
I'm new to the Futaba 9C and would like to mix one of the two position switches and a three position switch to give a six position switch. All on the same channel. That is three positions with the two position switch forward and three with it back. Is this posible and could anyone explain how I could do this.
I believe your going to need 5 different mixes to do that, but Ive never tried adding them together like that.
I dont have my 9C handy so Im not even sure there are 5 seperate mixes that will allow you to set offsets.
Try it and see how it works?
Ok, this might work but I havent tried it to be sure.
Go into the advanced programming mode - push the Mode bvutton until your in advanced mode.
Then select the first PROG.MIX1 and push the big button on the far right to open it up.
When your in the next screen RATE should be highlighted. Push the UP Select(cursor) button until you highlight the MIX option - change it from INH to ON.
Scroll down to the MAS option - thats the master chanel. Change it to OFST for Offset.
Scroll down to the SLV option and select the chanel you want to controll.
I dont know if your going to want Link ON or OFF. Id try OFF to start but be prepared to change it. That effects how other chanells work with the same mix so you may need it on.
Next scroll down to SW and select the switch you want to use.
Below that is listed the various positions for that switch. Select the position you want.
next scroll down to Rate and select an offset value. I would hook up a servo and adjust that number as needed.
Exit that MIX and go to PROG.MIX2 and repeat with the apropriate changes. MIX2 would be the same except you would choose a different switch position and a different RATE to get the servo to move to the second position you want.
MIX3, 4 and 5 would start on the second 3 position switch.
I would leave a servo hooked up and watch how the movement changes with each added mix - especially when you add the second switch to things. You may have to go back and forth changing RATE values between the two switches until you get what you want.
It occurs to me you may not end up with what you want. You will get 3 positions with 3 different off sets, then 3 positions with 3 other offsets - but they will not be in sequence.
You will probably end up with something like this. The first three positions might be 20, 40 and 60 degrees. The second set will be 25, 45, 65 or something similar.
I dont think your going to be able to get 6 different steps in progressive order - but maybe Im wrong :)
Any luck with this?
I havent had time to play with it yet, but Im considering a project that would need something similar but with only 4 positions instead of the 6 you want.
Im going to be dropping bombs :)
The goal is still to use 2 switches to get a progression of steps on the servo.
Larry, I haven't tried the multiple mixes yet, TBH I'm not really sure what I am trying to achieve.
I'm not controlling a servo, I'm using the 3 position switch to send a signal via the receiver to change the mode setting on a ardupilot mega autopilot circuit board. There are several different modes which can be assigned to the switch via channel 8. It would be good to assign six different modes rather than just three to give me more choices when the aeroplane is flying on autopilot.
The ardupilot mega wiki advises that I should configure the transmitter to produce PWM pulse widths of 1165, 1295, 1425, 1555, 1685 and 1815 milliseconds, but I'm well out of my depth with this and don't really understand how to achieve this. :(
I have no idea how to set the exact pulse width on the signal unless you have a hi end ocilliscope or some other hi end meter that can measure pulse width. I dont know of any cheap ones.
Is there any way with your gear to measure pulse width or to figure it out by trial and error?
I know that with the servo throw set all the way to one side is the low pulse width = 1000 and all the way to the other extreme is the hi pulse width = 2000 - but I have no idea which way is which. I would assume negative settings are to the low end? I also know that center position is 1500
It looks like all those steps are 130 ms apart. It would probably work if you set the 3 position switch to give you the first three 130 ms steps in order.
Lets see, If Im doing the math correctly, the folowing may work - or at least get you in the ball park.
If full throw to one end is -100 (Im guessing thats equal to 1000 ms pulse width) on your end point or travel offset screen, then Id try -71 for the first step and -43 for the second step (middle position on the 3 position switch) and -14 for the third (the final position on the 3 position switch).
Then id set the 2 position switch to give an offset of (Im guessing on the plus direction. It may need to be negative) +0 in the default position and +85 in the second position.
Lets say both switches start in the down position. That is the -71 on the 3 position switch and 0 on the 2 position switch.
In this position, the total offset is -71+0 = -71 which, if my guesses are correct, should give you a pulse width close to 1165.
Moving the 3 position switch one step to the middle position will now give you -43 or somewhere near 1295.
Moving the 3 position to its last position should give you -14 or about 1425.
Now, if you move the 2 position switch to the UP position it adds +85 to the value already set by the 3 position switch. So if you move the 3 position switch back to the starting position it gives you -71 again and the 2 position switch adds +85 which = +14 or about 1555.
Now leave the 2 position switch in the UP position and move the 3 position switch to the middle and it should give you -43 + 85 = +42 which should be near 1685
The last positions should give you +71 or about 1815
By the way, I may have the + and - exactly backwards. If so just change them around in the above example and it should work - maybe :)
You've got my curiosity up now so do let us know how this goes.
Ive long wanted to mess with some arduino gear but never have so Im very curious.
It occurs to me it might be worth checking the Futaba website or e-mailing tech support. They may be able to tell you exactly what offset values equal what pulse widths.
Then you could correct my guesses above :)
Many thanks for all this information, I now understand things a bit better! What I didn't tell you is that the Arduino software has a mode for testing the radio outputs so I can use this to monitor the outputs as I change the mixing, I didn't realise that the steps in the radio pulses equated to the steps in the servo position.
My background is in construction "Bricks & Sticks" so I'm OK with the glueing and installation side of modelling, but not so hot with the electronics.
I'll try things out later today and let you know how I get on. :rolleyes:
Hooked it all up and I get PWM readings of 2071, 1521 and 973 (forward, middle and back) with 3 position switch E which I have assigned to channel 7. I've been looking at the mixing programmmes but am hopelessly lost and don't understand even the basics such as master/slave, would the 3 position switch be the master with the 2 position switch being the slave, and how do I link the 2 position switch to the 3 position switch.
Are you using the Offset type mix?
re-read my two posts above. Those cover the proceedure for setting the mixes to the switches.
Master and slave have nothing to do with the switches. Master and slave refer to channels on the radio you want to control.
master is the primary channel you want to control and slave is a second chanel that is "slaved" to the master. For example, you might have a plane with 2 servos driving ailerons on two chanels. On Futaba, the aileron chanel is normally ch 1. To program the tx so both servos move in the proper directions, you would use a mix where the master was ch1 and the 'slave' was a different chanel - usually ch5 or 6. The programming mix would "slave" ch 5 to ch 1. In the programing mix you would set the direction the slave moved and how far it moved in relation to the 'master' ch1.
That mix could be turned ON or OFF or changed by turning a switch - which you cam also set in the same programing mix.
BUT thats not what you want to do. For your task, you want the master to be OFFSET
On the slave setting, you want to set it to what ever chanel sends the signal to your auto pilot.
Offset is how far the servo will move left or right from center, when you put the selected switch in various positions.
You set the OFFSET amount under the "Rate" setting in the mix.
You need to do a seperate Program mix for each switch position.
See my first set of instructions above.
So, you need to do 3 seperate offset type mixes for the 3 position switch and 2 more for the 2 position switch. You will need to adjust the amount of offset to get the pulse width you want.
Remember that 1500 is center position on the servo or zero "offset" in the programing mix and -100 offset will be 1000 and plus 100 offset will be 2000 or I may have the plus minus reversed.
So, what you were getting above with your first try, one switch position was near 100, the middle was near 0 and the third was near -100.
oops I mis spoke and reversed master and slave in the second part - editing the above post.
great question I am new to the sport and will look to see what you get answered
Maybe this will help. here are some screen shots of the program mix on my 9C.
Yours may be slightly different if its a newer model. My switch E for example is only a 2 position switch.
This is the first screen you see in the advanced programing mode. I selected mix 1
This is the first screen you see whan you first open that mix. Its where you set the amount of OFFSET by adjusting the RATE amount anywhere from -100 to zero to +100
From that screen, you scroll UP with the cursor buttons to get to the main screen below where you enter the following:
MIX = on or inhibit. You want it on. It may also display OFF if the switch is in the wrong position. You dont want it to say INH because that means the mix is inhibited or disabled.
MAS = master channel. You want to set it to OFFSET - mine says OFST
SLV is the slave channel. You set that to the chanel that goes to the auto pilot
LINK - try OFF to start but you may need it ON.
SW: is the switch you want to use
POSI: is the position of the switch. When you move round selector button, this value will change from UP to UP/CENTER or center or center/down or down or NULL. Select the position you want to program for this mix. NULL = no switch is active. Note that when the switch is in the position you have selected here the mix will show as ON.
When you scroll down one more time you are back to the RATE screen above. Again use the round button to select an offset amount.
You need to go through the above steps with 3 mixes for the 3 position switch and 2 more mixes for the 2 position switch.
In each mix you will use OFFSET and slv will be the same.
The switch positions and rate will be different for each mix.
Hope that helps :)
OK, first thanks for the full and very helpful explanation and I can now report a good measure of success. :D
Using your values of -71, -43 -14 for switch E and 0 , +85 for switch F gives me PWM readings of 2100, 1752, 1049 with switch F forward and 1994, 1285 and 928 with it back.
that gives in decending order 2100, 1994, 1752, 1285, 1049 & 928. not quite as evenly spread and the spread is a little large.
I will start to experiment and reduce the offset values and see if I can get nearer to the theoretical readings that I require.
These settings don't give me six mode settings but they do give me four which is one more than I had before! :ws:
Can you suggest what offsets I should try next?
Many thanks for your help so far
I've done it! :D:D:D
With a little adjustment to the mixes whilst connected to Arduino, I just dialed in the required offsets to achieve the PWM readings that I required.
I've got all six and can now set six different modes, brilliant.
Larry I've got to say "you are the man"
many, many thanks for your help
Those are not the results I was expecting.
The first value, 2100 only drops by about 100 when the 2 position sw is thrown, but the middle value drops by almost 500. Then the last value only drops by about 100 again.
Thats also makes the values not go in sequence the way I was expecting. You will have to flip the 2 pole switch once for each jump which would be confusing.
Id start by trying to get the first offset value for the 3 position switch to be the correct value to give the first desired pulse width in sequence - thats with the 2 position sw in the 0 offset position.
Then adjust the 2 position sw offset value so that when its thrown, you get the 4th value you are seeking.
Then move the 2 position sw back to zero and set the second position on the 3 position sw to give you the second value you want.
Now go back and throw the two position switch and see if it gives you the 5th number in the sequence.
repeat for the final values.
Glad it worked out :D
For your information the offsets settings for mixes 1 to 5 in order are +6, -47, -100, +29 and +53.
I think using your calculations that this equates to aggregate settings of +59, +35, +6, -18, -47 and -71.
These give near as makes no difference the six PWM settings that I was looking for.
Also the sequence of the pulses doesn't matter as each of the modes can be set to any of them, but you're correct that if I needed them in order I would have to keep moving between the two switches.
Your transmitter screen and butttons are similar to mine, I've chosen switches E and F which are located on the top LHS of mine.
Whilst setting the mixes I notice that mixes 6 and 7 have 5 step throttle curves, could I have used one of these to create 5 step points?
I dont see a way to get those curve mixes to work the way you want. There is no option for OFFSET and you must slave a second channel to the first.
Glad you got it working!
|All times are GMT +1. The time now is 11:08 PM.|
Powered by: vBulletin
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Copyright 2005 WattfFlyer.com
RCU Eflight HQ