Differences

This shows you the differences between two versions of the page.

Link to this comparison view

madoverlord:robots-futabamix [2016/05/13 21:42]
127.0.0.1 external edit
madoverlord:robots-futabamix [2016/10/04 14:42]
Line 1: Line 1:
-==== Futaba 9CAP Mixes for Robots (Robots) ==== 
- 
-// The Futaba 9CAP is the radio of choice in combat robotics. It is programmable enough to do single-stick mixing in the radio (eliminating the need for  // 
- 
- 
- 
-=== Configuring the Futaba 9CAP / 9CAF / 9CHP / 9CHF Radio to do single-stick mixing === 
- 
- 
- 
-The Futaba 9CAP is the radio of choice in combat robotics. ​ It is programmable enough 
-to do single-stick mixing in the radio (eliminating the need for a mixer chip in the 
-actual robot). ​ By single-stick mixing, I mean using the right stick for all driving, 
-converting the forward/​back and left/right axes to two motor channels (left motor and 
-right motor). 
- 
- 
- 
- 
-The Futaba website has confusing instructions on how to configure the radio 
-to do this kind of mixing. ​ I eventually figured it out and posted a tutorial on 
-the <A HREF="​http://​forums.delphiforums.com/​BattleBot_Tech/​messages?​msg=16267"​ TARGET="​_blank">​Battlebots 
-Forum</​A>​ explaining it in more detail. 
- 
- 
- 
- 
-Subsequently,​ Ted Zeiger posted an even simpler mixing configuration that does the 
-same job.  So what I've done is combined my tutorial with his mix.  Thanks, Ted!  You da man! 
- 
- 
- 
- 
- 
-=== How to set up the configuration === 
- 
- 
- 
-The motor outputs will be channels 1 and 2; channel 1 is the left side of  
-the bot, channel 2 is the right side. 
- 
- 
- 
- 
-Start with a clean, empty ACRO model configuration. Decide what switch you want to control the INVERT function. In this example, switch E flipped away from you will be normal, switch E flipped towards you will be INVERT. To confuse matters, in Futabaspeak,​ away from you is considered the UP position (even though it is DOWN towards the floor when you are holding the transmitter in a normal position). Go figure. ​ 
- 
- 
- 
- 
-I personally like to configure my radio so that my left hand does all the switch flipping, leaving my right had free for driving. ​ So I use switch E for invert, switch A as a forward/​back dual-rate control, and switch B as a left/right dual-rate control. ​ This also leaves switch F available as a momentary on weapons switch. 
- 
- 
- 
- 
-Pressing MODE a second time gets you to the ADVANCED mix menu. Scroll to PROG.MIX1 (if not already highlighted) and press the scroll button to configure it. 
- 
- 
- 
- 
-Press the down cursor button a few times to get to page 2.  Set MIX to either ON ro OFF (anything but INH) using the scroll wheel. ​ Set MAS (Master) to ELEV.  Set SLV (Slave) to ELEV as well.  Set LINK and TRIM to OFF.  Set SW (Switch) to E (or whatever switch you want to use).  Set POSI to DOWN.  Note that as you toggle switch E up and down, the MIX setting will change from ON to OFF. 
- 
- 
- 
- 
-Keep pressing the down cursor button until you get back to page 1.  Change both RATEs to -100; you can toggle between the two by moving the elevator stick up and down.  Set OFFSET to 0. 
- 
- 
- 
- 
-Hit END to get back to advanced menu.  
- 
- 
- 
- 
-Now that you've got the hang of it, set PROG.MIX2 to: 
-<​BLOCKQUOTE>​RATEs=-100,​-100;​ 
-OFFSET=0; 
-MAS=ELEV; 
-SLV=ELEV; 
-LINK=OFF; 
-TRIM=OFF; 
-SW=E; 
-POSI=DOWN 
-</​BLOCKQUOTE>​ 
- 
- 
-Set PROG.MIX3 to: 
-<​BLOCKQUOTE>​RATEs=**+100,​+100**;​ 
-OFFSET=0; 
-MAS=ELEV; 
-SLV=AILE; 
-LINK=OFF; 
-TRIM=OFF; 
-SW=E; 
-POSI=DOWN 
-</​BLOCKQUOTE>​ 
- 
- 
-Set PROG.MIX4 to: 
-<​BLOCKQUOTE>​RATEs=-100,​-100;​ 
-OFFSET=0; 
-MAS=ELEV; 
-SLV=AILE; 
-LINK=OFF; 
-TRIM=OFF; 
-SW=E; 
-POSI=**UP** 
-</​BLOCKQUOTE>​ 
- 
- 
-Set PROG.MIX5 to: 
-<​BLOCKQUOTE>​RATEs=**+100,​+100**;​ 
-OFFSET=0; 
-MAS=AILE; 
-SLV=ELEV; 
-LINK=OFF; 
-TRIM=OFF; 
-SW=E; 
-POSI=**NULL** 
-</​BLOCKQUOTE>​ 
- 
- 
- 
-Now go to the Basic Acro menus, and select SERVO on page 2.  Make sure switch E is down.  Push the right stick forward and you should see both channels 1 and 2 go up.  Pull it back and both will go down.  Push to the right and channel 1 will go up while channel 2 goes down.  Push to the left and the opposite occurs. ​ Flip up switch E (turning on invert mode) and you'll see that the front/back response is reversed, but the turning response is not.  Your mix is complete. 
- 
- 
- 
- 
-Turn on your robot and give it a try.  Depending on how your motor controllers are wired up to the motors, you may have to reverse some of the channels. ​ This is done in the REVERSE option on page 1 of the Basic Acro menus. 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
-=== Dual Rates and Exponential === 
- 
- 
- 
-A little tweaking can get you much better driving performance. ​ I had two issues with my latest robot 
-<A HREF="​anorexia.t.html">​Anorexia</​A>​. ​ The first was that going full-blast with 14.4v for a long period 
-of time would melt my motor endbells. ​ Not good.  The solution was to put a "​dual-rate"​ on the elevator 
-STICK using switch A.  When Switch A was pushed forward, I'd get full authority, but when it was pulled back, 
-I'd limit myself to half-speed. 
- 
- 
- 
- 
-To do this, go to the D/R,EXP option. ​ Cursor up/down to select channel, then turn the scroll wheel to select channel 2.  Cursor down to SW and rotate wheel to select switch A.  Now flip switch A to the forward (UP in Futabaspeak) position, and scroll to D/R and set them to 100,​100. ​ Same wiggling of the stick to select the two sides. ​ Set EXP to 0,0.  Now flip the switch back (DOWN) and set the D/R to 50,50 and EXP to 0,0. 
- 
- 
- 
- 
-Now you have, in effect, two gears; regular (A flipped back) and afterburner (flipped forward) 
- 
- 
- 
- 
-I also had a problem with the turn response being too squirrely. ​ I fixed this by using a combination of reduced authority and exponential. ​ Exponential makes the stick response a curve, so that you get a softer response when the stick is near the center. ​ By experiment I found that D/R=50,50; EXP=-50,-50 and D/R=30,30; EXP=-50,-50 seem to work well for me.  The former for normal conditions and the latter for when things are slick. 
- 
- 
- 
- 
-Even so, the robot is squirrelly when you command a turn while moving at full speed. ​ What is needed is something that reduces the left/right commanding automatically when you're moving forward/​back at high rates. ​ While there is no perfect solution, you can link the dual rate to the ELEV (forward/​back) stick, so you have a reduced turning input when commanding a lot of speed. ​ I'm still playing with this, but if you want to try it, set SW to ELEV(90%). ​ Change the % by moving the ELEV stick to the desired setting (by eye) and pressing and holding the scroller. ​ You might, for example, set D/R=50,50; EXP=-50,-50 for normal operations, and D/R=10,10; EXP=-50,-50 when you're going over 75% of full speed forward and back. 
- 
- 
- 
- 
-It would be nicer if there was a way to smoothly blend between two settings, but currently I don't see how to do this.  If you know how, let me in on the secret! 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
-=== Timers === 
- 
- 
- 
-It's often useful to know how much time is left in your match. ​ The 9CAP has two timers, which is convenient since there are two standard match lengths, 3 and 5 minutes. 
- 
- 
- 
- 
-What I did was configure the timers so that when the throttle (otherwise unusued) was above a certain value, the timers would count down.  So timer 1 was configured as TIME=3:00; MODE=DOWN; SW=STK-THR; POSI=^23%, 
-and timer 2 was configured as TIME=3:00; MODE=DOWN; SW=STK-THR; POSI=^23%. 
- 
- 
- 
- 
-During a match, as soon as the Christmas Tree starts counting down, I flip up the throttle, and the countdown starts. ​ If there'​s a timeout, I just flip the throttle down.  Turning the radio on and off resets the timers. 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
-=== Multiple-Failsafe Weapon Control === 
- 
- 
- 
-In one of my new robots, I wanted to use a speed controller to control the weapon. ​ However, this raises a 
-safety issue, since if the robot is turned on with the radio sending out a non-neutral signal to the speed controller, the weapon will start up, which is not amusing in the slightest. 
- 
- 
- 
- 
-I decided that the best solution was to use the throttle stick to control the weapon, but have several switches act as failsafes. ​ In order for the radio to send out a non-neutral signal to the robot, not only would the stick have to be more than 50% off center, but two switches, one of them a momentary-on switch, would have to be set.  Moreover, I wanted some sort of visual indication that the weapon was armed. 
- 
- 
- 
- 
-Fortunately,​ by using the mysterious **LINK** ability of the 9CAP, this is possible - and you can do it while using all of the other mixing functions listed above! 
- 
- 
- 
- 
-Assuming you're using in-radio mixing to do tank steering, you've used up the first 5 programmable mixes. ​ This means you've got two left, PROG.MIX6 and PROG.MIX7. ​ These two mixes are interesting because they let you adjust the output at 5 points (full down, mid down, neutral, mid-up and full-up). ​ This turns out to be very useful. 
- 
- 
- 
- 
-One thing to keep in mind: I have modified my 9CAPs and swapped switch H and switch F.  This means that the momentary contact switch on them is Switch F, and lets my left hand control both the throttle and a momentary-on switch. ​ Why I did this will become clear soon. 
- 
- 
-The first step is to set PROG.MIX6 to: 
-<​BLOCKQUOTE>​MAS=THRO;​ 
-SLV=GEAR; 
-LINK=**ON**;​ 
-TRIM=OFF; 
-SW=H; 
-POSI=**UP** 
-POS-1 through -5 = +100,​0,​0,​0,​-100 
-</​BLOCKQUOTE>​ 
- 
- 
-Set all the stuff on Page 2 of the mix first, then go back and set the POS-1 through 5 values. ​ The reason for this is that if you change the MAS or SLV settings, the 9CAP zeroes the values on Page 1. 
- 
- 
- 
- 
-When this is done, if you check the servo monitor page, you'll see that if switch H is in the up position, channel 5 (GEAR) now copies channel 3 (THRO) with a huge deadband; you have to move the stick 50% before channel 5 starts moving, but it reaches 100% just as THRO reaches 100%.  If switch H is down, then GEAR is neutral no matter what position the throttle is in. 
- 
- 
- 
- 
-It is very important to set the LINK to ON.  If you don't, then the next mix (MIX7) will use the GEAR value as it was **before** it was modified by MIX6 - and so will always get a neutral setting. ​ Apparently, the way LINK works is that it tells subsequent mixes to use the modified value instead of the original value (hmm, might be possible to make the tank-steer mix a bit simpler using that...) 
- 
- 
- 
- 
-Anyway, now set PROG.MIX7 to: 
-<​BLOCKQUOTE>​MAS=GEAR;​ 
-SLV=FLAP; 
-LINK=**OFF**;​ 
-TRIM=OFF; 
-SW=F; 
-POSI=**DOWN** 
-POS-1 through -5 = +100,​+50,​0,​-50,​-100 
-</​BLOCKQUOTE>​ 
- 
- 
-If you now monitor the servo output, you'll see that channel 6 (FLAP) now copies channel 5 if, any only if, Switch F is down.  So what this means is that in order for the weapon to be told to turn on, the throttle stick must be more than 50% off center and both switches must be in the correct positions (when you do your setup, you'll change the switches and positions to suit your tastes, of course). 
- 
- 
- 
- 
-For the final touch, exit SERVO and go back to page 1 of the basic setup menu, and select THR-CUT. ​ Set it as follows: 
-<​BLOCKQUOTE>​RATE=0% 
-SW=H (or whatever you used in PROG.MIX6) 
-POSI=UP 
-</​BLOCKQUOTE>​ 
- 
- 
-With a RATE of 0%, Throttle Cut doesn'​t actually do anything to the throttle setting, but it has an interesting side-effect - when switch H is in the armed position, the POWER LED will flash! ​ So now you have a visual indication that the weapon might be dangerous. 
- 
- 
- 
- 
-**Reminder**:​ while failsafes like these are a good idea, you **should not depend on them**. There are many things that can go wrong; you might start the radio on the wrong model, the robot might be damaged, etc. Develop and use a good startup/​shutdown checklist, and be paranoid. 
- 
- 
- 
- 
- 
- 
- 
- 
- 
-