Posted by Jason Short on December 18, 2009 at 9:00pm
I finally had some quality time with the Ardupilot Airframe Tester in the air and would like to report, after a few bug fixes and tweaking, I finally have a nice solution.Why this matters and why you should fly it:- It will help you set up your plane properly and give you vital debugging information.- It will help you adjust your stabilization gains- It is a very nice flight stabilizer- It will let you test your Autopilot setup (more on this below)You can read this post to learn about the debugging aspects.What I really wanted to explain is the new Fly-By-Wire mode. It essentially lets you input the relative waypoint location in space, and the plane will try to go there. Now, other than being fun, it is really helpful for debugging and adjusting your gain settings.The new FBW input is proportional and controlled with your radio:Hard right = waypoint is 35° to the right; centered = waypoint is dead ahead; left = -35°Hard up means the waypoint is below you (hey, you can reverse that if you want.) Centered means the waypoint is at the same altitude.While in FBW, the airspeed controller will try and maintain a constant airspeed.Here is the last beta. After this the tester will be final and appear in the download section.Ardupilot_25_Airframe_test_beta4.zipA note about radios - In the header file you can specify radios. Futaba Faast radios can be scanned at 50hz and others at only 25hz. This has to do with how they setup the signals. So there is an option in the header file to use Fubata or other radios. Default is "other." (Spectrum's won't work with the Futaba setting. You need to specify 'other')The events.pde file contains the code for managing your radio's 3 position switch. Instructions are in there as well.The full version of 2.5 should be right around the corner.Jason
about Xbee, this is an old story. The only way I (and other) found to solve this is to power up the system and connect Xbee only after that. I make this way all the time and it works. Don't want to bring my laptop on the field and don't want to waste a flying session :D
Jason I cut pin 13 back and it seems to work every time.
For some reason it just dose not like the power supply coming from my ESC I am connecting a battery to the receiver and have removing positive pin from the plug coming out of the ESC. As I said it has worked fine with 2.4 code?
The other strange thing is it seems to occasionally deprogrammed the XBee it stopped working 3 times and I was forced to reprogram it each time sometimes it worked fine and I was getting data through it. I am putting together a complete new system to see if there is something strange with my gear. Should have it running some time tonight
Hi Scott,
My setup does not have a header pin going from pin 13 to the shield, so I never caught this one. It is safe to simply remove this pin - either by desoldering, or by clipping the header pin right about the black plastic strip.
I wouldn't clip too low as you might put force on pin 12 and crack the solder joint.
Jason
Jason / Chris here is the data that I think you asked for ?
I have managed to get it to run 100% of the time without the shield and having both jumpers inplace as per chris drawing.
It seems that the main problem that I was having is the ESC power supply. I have been powering it through ardupilot out 3 as per the manual. When I disconnected this and place a battery directly into the Spektrum receiver all was good. It seemed that the power is not stable when the ESC is powering up I could see the LED on the Spektrum receiver fluctuating. If it was powered up and stable and I pushed the reset button still the same issue no good (not making sense re power fluctuations). Its just happier with a battery plugged into the receiver. I have 3.5 hrs flight time powered through the ESC on the 2.4 code.
Now to get it to work with the shield???
Jason, I cut the pin 13 header to the shield, and it now seems to work sometimes. But the "No throttle input detected" seems to be totally random. I get it about half the time, regardless of what throttle setting I'm actually at (see sample below).
Maybe pulsein isn't the way to go here, and we should the same custom PWM reading routines as you use on the other channels?
---- Try One:
--
Waiting for Radio
No throttle input detected
R:1376 E:1460 T:1906
--- Try Two:
-----
Waiting for Radio
R:1376 E:1460 T:1906
Just tested latest Airframe Test beta 4. with Good results!
I have flown this airframe several times under full autopilot to 8 waypoints with return to home. also just stabilize mode.
Radio: JR model XP7202, FCC ID BRWXP7202 (very similar to DX7 just 72mhz)
I will test with early DX7 FCC ID BRWDAMTX10 too.
I disconnected two poles of brushless motor for safety,
I added wire jumper from pin13 to Ch 3 throttle, Shield v1
Here is my log file, very nice.. worked first try...
Init Ardupilot Airframe Tester 2.5
Waiting for Radio
Radio IN: R:1468 E:1383 T:941 Analog IN: 0:511, 1: 511, 2: 511, 3: 511 Sensors: ir_max:150 roll:5 pitch:5 airSp:0 PWM OUT: R:1500 E:1500 T:1008
Reading radio limits:
Move sticks to: upper right and lower Left.
To Continue, hold the stick in the corner for 2 seconds.
*FAILSAFE OFF*
.............................................................................................................................
Hi Chris, I think that would have made more sense had I made an air-gesture with a pair of wire cutters. You can remove the header pin that connects pin 13 to the shield.
Scott, I made a post a little while back with a specific test file for radios. It's good because all it does it output your radio values. That way we can avoid other issue while we try and fix this one.
I'm sorry it's a little bumpy, but I really need a few people to bang on this to make sure it works on a majority of setups and not just mine before we release it.
Thanks!
Jason
Comments
about Xbee, this is an old story. The only way I (and other) found to solve this is to power up the system and connect Xbee only after that. I make this way all the time and it works. Don't want to bring my laptop on the field and don't want to waste a flying session :D
Is there anyone that already solved this?
Ric
For some reason it just dose not like the power supply coming from my ESC I am connecting a battery to the receiver and have removing positive pin from the plug coming out of the ESC. As I said it has worked fine with 2.4 code?
The other strange thing is it seems to occasionally deprogrammed the XBee it stopped working 3 times and I was forced to reprogram it each time sometimes it worked fine and I was getting data through it. I am putting together a complete new system to see if there is something strange with my gear. Should have it running some time tonight
Any news on the 2.5 release?? :)
My setup does not have a header pin going from pin 13 to the shield, so I never caught this one. It is safe to simply remove this pin - either by desoldering, or by clipping the header pin right about the black plastic strip.
I wouldn't clip too low as you might put force on pin 12 and crack the solder joint.
Jason
You can add this line to Ardupilot_25.pde with the other variable declarations for now:
float battery_voltage = 0;
I will update the files for release as soon as we get any radio issues all smoothed out.
In function 'void print_info()':
error: 'battery_voltage' was not declared in this scope In function 'void read_analogs()':
Is this a problem or did I miss something,
I have managed to get it to run 100% of the time without the shield and having both jumpers inplace as per chris drawing.
It seems that the main problem that I was having is the ESC power supply. I have been powering it through ardupilot out 3 as per the manual. When I disconnected this and place a battery directly into the Spektrum receiver all was good. It seemed that the power is not stable when the ESC is powering up I could see the LED on the Spektrum receiver fluctuating. If it was powered up and stable and I pushed the reset button still the same issue no good (not making sense re power fluctuations). Its just happier with a battery plugged into the receiver. I have 3.5 hrs flight time powered through the ESC on the 2.4 code.
Now to get it to work with the shield???
ÿÖ(PJR›¹ Tá± ± ¥^µ ½• ÖP‹ JR›¹£Tá± ± ¥^µ ½[…ÖhTx‚± ± ¥^µB± @)ImÕï%ÈÖP
JR›¹£
Tá± ± ¥^µ ½[…ÖP
JR›¹£Tá± ± ¥^µ ½• Ö(Tᬱ ± ¥^µB± @)ImÕ/%ÈÖP‹ JR›¹£Tá± ± ¥
^µ ½[…Ö(Tx‚± ± ¥^µB± @)ImÕV[…Ö(Tx‚± ± ¥^µB± @)ImÕV[…ÖP
JR›¹£Txë± ± ¥^µ ½• ÖP
JR›¹£Txë± ± ¥^µ ½• ÖP‹ JR›¹£Txë± ± ¥^µ ½•
JR›¹£Tá
± ± ¥^µ ½[…Ö(Tx‚± ± ¥^µB± B)ImÕV[…Ö(Tx‚± ± ¥^µB± @)ImÕV%ÈÖP
JR›¹£Tá± ± ¥^µ ½
• ÖP
JR›¹£Tá± ± ¥^µ ½[…ÖP‹ JR›¹£Tá± ± ¥^µ ½[…ÖP« JR›¹£Tá± ± ¥^µ ½[…ÖP
JR›¹
£Txë± ± ¥^µ ½• ÖP
Tᬱ ± ¥^µB± @)ImÕV%ÈÖhTᬱ ± ¥^µB± @)ImÕV%ÈÖP
¥^µ ½[…ÖP
JR›¹£Tá± ± ¥^µ ½[…Ö(Tx‚± ± ¥^µB± @)ImÕV[…ÖP
JR›¹£Tá± ± ¥^µ ½• ÖP‹
JR›¹ Tá± ± ¥^µ ½• Ö(Tᬱ ± ¥^µB± @)ImÕV[…ÖP
JR›¹£Txë± ± ¥^µ ½[…Ö(Tᬱ ± ¥^
µB± @)ImÕV[…ÖhTᬱ ± ¥^µB± @)ImÕV%ÈÖP
JR›¹£Txë± ± ¥^µ ½• ÖP
JR›¹£Tá± ± ¥^µ ½
Init Ardupilot Airframe Tester 2.5
Waiting for Radio
Radio IN: R:1499 E:1496 T:1272 Analog IN: 0:511, 1: 511, 3: 511 S
ensors: ir_max:150 roll:5 pitch:5 airSp:0 PWM OUT: R:1500 E:1500
T:1008
Reading radio limits:
Move sticks to: upper right and lower Left.
Calibrate XY IR sensor now.
To Continue, hold the stick in the corner for 2 seconds.
..................................................
#define CH1_MIN 1119
#define CH1_MAX 1600
#define CH2_MIN 1068
#define CH2_MAX 1596
#define CH1_TRIM 1500
#define CH2_TRIM 1496
#define CH3_TRIM 1273
#define FAILSAFE_PWM 1223
Turning On Stabilization
Throttle input is enabled
Battery Voltage input is disabled
Throttle output is enabled
Move the stick to continue or wait...
Ready
Radio IN: R:1408 E:1597 T:1274 Analog IN: 0:475, 1: 418, 3: 691 S
ensors: ir_max:150 roll:29 pitch:-12 airSp:-49 PWM OUT: R:1258
E:1596 T:1544
Radio IN: R:1500 E:1498 T:1273 Analog IN: 0:471, 1: 357, 3: 556 S
ensors: ir_max:150 roll:43 pitch:-25 airSp:-184 PWM OUT: R:1222
Maybe pulsein isn't the way to go here, and we should the same custom PWM reading routines as you use on the other channels?
----
Try One:
--
Waiting for Radio
No throttle input detected
R:1376 E:1460 T:1906
---
Try Two:
-----
Waiting for Radio
R:1376 E:1460 T:1906
I have flown this airframe several times under full autopilot to 8 waypoints with return to home. also just stabilize mode.
Radio: JR model XP7202, FCC ID BRWXP7202 (very similar to DX7 just 72mhz)
I will test with early DX7 FCC ID BRWDAMTX10 too.
I disconnected two poles of brushless motor for safety,
I added wire jumper from pin13 to Ch 3 throttle, Shield v1
Here is my log file, very nice.. worked first try...
Init Ardupilot Airframe Tester 2.5
Waiting for Radio
Radio IN: R:1468 E:1383 T:941 Analog IN: 0:511, 1: 511, 2: 511, 3: 511 Sensors: ir_max:150 roll:5 pitch:5 airSp:0 PWM OUT: R:1500 E:1500 T:1008
Reading radio limits:
Move sticks to: upper right and lower Left.
To Continue, hold the stick in the corner for 2 seconds.
*FAILSAFE OFF*
.............................................................................................................................
#define CH1_MIN 1208
#define CH1_MAX 1731
#define CH2_MIN 1014
#define CH2_MAX 1786
#define CH1_TRIM 1468
#define CH2_TRIM 1383
#define CH3_TRIM 941
#define FAILSAFE_PWM 891
Turning On Stabilization
Throttle input is enabled
Battery Voltage input is disabled
Throttle output is enabled
Move the stick to continue or wait...
Ready
Radio IN: R:1714 E:1783 T:941 Analog IN: 0:475, 1: 520, 2: 558, 3: 222 Sensors: ir_max:150 roll:-6 pitch:-10 airSp:0 PWM OUT: R:1714 E:1783 T:888
Radio IN: R:1208 E:979 T:941 Analog IN: 0:476, 1: 523, 2: 558, 3: 222 Sensors: ir_max:150 roll:-5 pitch:-10 airSp:0 PWM OUT: R:1208 E:1014 T:888
Radio IN: R:1469 E:1381 T:941 Analog IN: 0:474, 1: 522, 2: 556, 3: 222 Sensors: ir_max:150 roll:-5 pitch:-10 airSp:0 PWM OUT: R:1316 E:1297 T:888
Radio IN: R:1469 E:1381 T:941 Analog IN: 0:474, 1: 523, 2: 556, 3: 222 Sensors: ir_max:150 roll:-5 pitch:-11 airSp:0 PWM OUT: R:1318 E:1297 T:888
Radio IN: R:1319 E:1246 T:941 Analog IN: 0:476, 1: 527, 2: 555, 3: 222 Sensors: ir_max:150 roll:-4 pitch:-11 airSp:0 PWM OUT: R:1282 E:1218 T:888
Radio IN: R:1669 E:1486 T:941 Analog IN: 0:475, 1: 522, 2: 556, 3: 222 Sensors: ir_max:150 roll:-5 pitch:-10 airSp:0 PWM OUT: R:1669 E:1446 T:888
Radio IN: R:1208 E:976 T:941 Analog IN: 0:477, 1: 526, 2: 555, 3: 222 Sensors: ir_max:150 roll:-4 pitch:-11 airSp:0 PWM OUT: R:1208 E:1014 T:888
Radio IN: R:1729 E:1781 T:941 Analog IN: 0:475, 1: 522, 2: 555, 3: 222 Sensors: ir_max:150 roll:-5 pitch:-10 airSp:0 PWM OUT: R:1729 E:1781 T:888
Radio IN: R:1208 E:979 T:941 Analog IN: 0:476, 1: 527, 2: 554, 3: 222 Sensors: ir_max:150 roll:-4 pitch:-11 airSp:0 PWM OUT: R:1208 E:1014 T:888
Radio IN: R:1208 E:1782 T:941 Analog IN: 0:476, 1: 527, 2: 556, 3: 221 Sensors: ir_max:150 roll:-4 pitch:-11 airSp:-1 PWM OUT: R:1208 E:1782 T:888
Radio IN: R:1211 E:1781 T:941 Analog IN: 0:476, 1: 527, 2: 556, 3: 221 Sensors: ir_max:150 roll:-4 pitch:-11 airSp:-1 PWM OUT: R:1211 E:1781 T:888
Radio IN: R:1471 E:1382 T:941 Analog IN: 0:475, 1: 526, 2: 555, 3: 222 Sensors: ir_max:150 roll:-4 pitch:-11 airSp:0 PWM OUT: R:1327 E:1293 T:888
Radio IN: R:1472 E:1382 T:1652 Analog IN: 0:481, 1: 528, 2: 541, 3: 222 Sensors: ir_max:150 roll:-2 pitch:-10 airSp:0 PWM OUT: R:1342 E:1300 T:1592
Radio IN: R:1469 E:1382 T:1868 Analog IN: 0:480, 1: 528, 2: 541, 3: 222 Sensors: ir_max:150 roll:-3 pitch:-10 airSp:0 PWM OUT: R:1335 E:1298 T:1808
Radio IN: R:2074 E:1382 T:1868 Analog IN: 0:479, 1: 528, 2: 541, 3: 222 Sensors: ir_max:150 roll:-3 pitch:-11 airSp:0 PWM OUT: R:1731 E:1296 T:1808
Radio IN: R:2074 E:1382 T:939 Analog IN: 0:479, 1: 528, 2: 542, 3: 222 Sensors: ir_max:150 roll:-3 pitch:-11 airSp:0 PWM OUT: R:1731 E:1297 T:888
Radio IN: R:2074 E:1382 T:1872 Analog IN: 0:479, 1: 529, 2: 542, 3: 221 Sensors: ir_max:150 roll:-3 pitch:-11 airSp:-1 PWM OUT: R:1731 E:1294 T:1816
Radio IN: R:2074 E:1382 T:1871 Analog IN: 0:479, 1: 528, 2: 542, 3: 221 Sensors: ir_max:150 roll:-3 pitch:-11 airSp:-1 PWM OUT: R:1731 E:1296 T:1808
Radio IN: R:1459 E:1382 T:1263 Analog IN: 0:479, 1: 528, 2: 542, 3: 221 Sensors: ir_max:150 roll:-3 pitch:-11 airSp:-1 PWM OUT: R:1329 E:1296 T:1200
Radio IN: R:2069 E:1382 T:1871 Analog IN: 0:479, 1: 528, 2: 542, 3: 222 Sensors: ir_max:150 roll:-3 pitch:-11 airSp:0 PWM OUT: R:1731 E:1296 T:1808
Radio IN: R:1595 E:1382 T:1685 Analog IN: 0:479, 1: 529, 2: 542, 3: 222 Sensors: ir_max:150 roll:-3 pitch:-11 airSp:0 PWM OUT: R:1546 E:1295 T:1624
Radio IN: R:2074 E:1382 T:943 Analog IN: 0:484, 1: 530, 2: 537, 3: 221 Sensors: ir_max:150 roll:-1 pitch:-10 airSp:-1 PWM OUT: R:1731 E:1302 T:888
Radio IN: R:2074 E:1382 T:943 Analog IN: 0:477, 1: 529, 2: 561, 3: 222 Sensors: ir_max:150 roll:-3 pitch:-11 airSp:0 PWM OUT: R:1731 E:1293 T:888
Radio IN: R:870 E:1382 T:943 Analog IN: 0:498, 1: 490, 2: 607, 3: 222 Sensors: ir_max:150 roll:-7 pitch:1 airSp:0 PWM OUT: R:1208 E:1391 T:888
Radio IN: R:2074 E:1382 T:943 Analog IN: 0:495, 1: 489, 2: 610, 3: 221 Sensors: ir_max:150 roll:-8 pitch:1 airSp:-1 PWM OUT: R:1731 E:1390 T:888
Scott, I made a post a little while back with a specific test file for radios. It's good because all it does it output your radio values. That way we can avoid other issue while we try and fix this one.
Go here and download the file. Put it on your setup and let me know how it goes.
http://diydrones.com/profiles/blogs/help-testing-radios
I'm sorry it's a little bumpy, but I really need a few people to bang on this to make sure it works on a majority of setups and not just mine before we release it.
Thanks!
Jason