I have just bought the ArduPilot Mega 2560 Full Kit... plus the Triple Axis Magnetometer HMC5883L. I should have it built over the weekend.. then i'm off to a my mates machine shop, and i'll make the splitter plate for the lower frame onto which i am going to fit the Ardupilot. the magnetometer i'll put on the tail as suggested. I am going to use my X-cell Razor 600E. For those that dont know its around the 50 size nitro heli.
Do i need to buy any other sensors i.e. the Sonar... i can fly a helicopter all day long but this is my first time flying one with stabilisation so any tips would be gratefully appreciated.
If this works well then i am going to try and use it on my x-cell gasser. i can get up to 20 minute flights with this. But i think for the time being a battery 600 is the way to go.
i'll post some pictures when i have it all together.
When loading up via arduino, the only thing you should do is change the frame to heli right? and the magnetometer?
anyways, hows the test flight?
I'm tempted to update the version that's in the mission planner to be the latest code. I know stabilise is working. Not so sure about RTL, ALT_HOLD though. This is another reason we need a simulator..it's quite hard to test a build, then update the mission planner before the code has changed!
I got tired of updating the #define for the magnetometer so I've now switched mine to be "components down, pins forward". The standard config loaded through the mission planner and the wiki have been updated to show this.
I also have a bunch of preset #defines that I add to AP_Config.h to make it so I don't need to reset them all through the AP_MissionPlanner. Something like what's below..
#define STABILIZE_ROLL_P 0.70
#define STABILIZE_ROLL_I 0.025
#define STABILIZE_ROLL_D 0.04
#define STABILIZE_ROLL_IMAX 7
#define STABILIZE_PITCH_P 0.70
#define STABILIZE_PITCH_I 0.025
#define STABILIZE_PITCH_D 0.04
#define STABILIZE_PITCH_IMAX 7
// yaw stabilise
#define STABILIZE_YAW_P 0.7
#define STABILIZE_YAW_I 0.02
#define STABILIZE_YAW_D 0.0
// yaw rate -- not used
#define RATE_YAW_P 0.135
#define RATE_YAW_I 0.0
#define RATE_YAW_D 0.0
#define THROTTLE_P 0.22
#define THROTTLE_I 0.001
#define THROTTLE_IMAX 300
#define NAV_P 2.64
#define NAV_I 0.03
#define NAV_IMAX 10
Does anybody know, are there any plans, or any hope, that the Arducopter will be able to do an auto-autogyro? If you're flying outside of visual range, or not paying enough attention, and lose power... Just wonder if the program will ever get to that point?
Also, what about failsafe? Is that built in yet? Will it RTL if radio signal is lost?
I'm wondering do you mean an autorotation? that's pretty advanced and although it's conceivable I think it's a long way off. We better get loiter and waypoints working well first!
Re the failsafe...there's no special code in arducopter at the moment to deal with this situation so it's up to your tx/rx to do something. I suppose if you used an advanced tx/rx like a futaba with a pcm set-up which I believe allows you to set the failsafe to affect any channel you could make it switch the value of the flight modes switch to RTL.
Duh, sorry, yes, I meant autorotation.
I understand it's a long way off. Just wondering if anybody is thinking about it yet. I think the biggest hurdle, would be to recognize automatically that the heli has lost power, before it's too late. But once that is figured out, it would be a matter of commanding a ground speed and descent rate. Auto-land with a flare would be a whole other issue again. But even to be able to achieve a "controlled crash" would be a big improvement over simply continuing to feed collective until the rotor stops and the heli literally falls from the sky. I think that's what would happen if the heli was far away, currently. It would automatically attempt to maintain altitude by feeding in collective, until the rotor stops. You wouldn't know anything was wrong until it was too late to recover.
I was just thinking of it as I'm still trying to decide if I should try ACM on my heli, or build a quad. But really, I'd need to build an Octo to get the failsafe that I want so that I can fly a camera around. Octos should be able to land safely with a motor out. A quad will just tumble out of the sky. A heli can autogyro, but it's tough to do at a distance.
Failsafe: gotcha. I use an FrSky system, I think it has failsafe but I've never used it yet. I'll check it out.
Sorry all will be away until Saturday 01/10/11 so will not be able to post any updates.
I had thought about it a bit but you've got me thinking about it a bit more. With my personal set-up at the moment, as the battery gets low, the ESC cuts power and try as it might, the APM will not be able to keep the heli airborn (and the amount that it can move up the collective is limited) so the heli will come down but not like a stone and it will stay basically upright on the way down.
But if I lose radio contact, my failsafe is set to move the collective all the way down, so it will power itself into the ground. it'll hit feet first but it will be going very quickly. That's probably not such a cool setting so maybe I'll try and make it move the collective to slightly below what it takes to keep it airborne.
Probably what we shoudl eventually add is a radio failsafe and a battery check. the radio failsafe triggers a RTL (after first checking that it's actually airborne) and a battery check that triggers either an RTL or a 'land' command.
I think at this point, if you want to mount a camera, that a big hexa (or octo) is a better choice. The testing and tuning is further along.
Randy, you are using futaba gy401 right? what is your gyro gain?
On the futaba R617FS receiver i programme the failsafe to shut the throttle, i know the helicopter will crash but rather that than it flying off.
On my petrol helicopter i will run a power box and mux with dual receivers.
The idea is to be able to switch out of ACM and land it manually if the ACM fails, also if one receiver fails the power box will switch between the two receivers if it loses connection.
Its a big helicopter so there is plenty of room for the electronics, and having redundancy is a bit of an overkill but it could save me money in the end.
Hi malcolm, what's your gyro? We are currently having a problem with ours. The gyro works perfectly when connected to the receiver, but it doesn't initialize when connected to the apm. Any ideas? We changed our gyro to gy401 (futaba) with gyro gain of 1672.
Basically the gyro reacts at the first movement, then the tail goes back to the original position, and then there will be no more movement after.
maybe you could try switching the servo types to analog? or change the SV_AVG average to 5 using AP_MissionPlanner. I'm grasping at straws but perhaps it's again the update rate.
The 401 gyro works on either side of the middle point so if the you have 1000 - 2000 then 1500 is the centre, the gyro will give no control @1500 as you move either way it will go into heading hold or Normal mode, but i dont know which way is which.
If you say that it is returning to center at 1672 then go below 1500 and try around 1350 and see what it does then, you should be in AVCS mode (heading Hold).
found this on another site might explain it better
Servo Throw (PWM) = mode, gain : examples:
-- 100% (2.0 ms PWM) = heading hold, 100% gain
-- 90% (1.9 ms PWM) = heading hold, 80% gain
-- 80% (1.8 ms PWM) = heading hold, 60% gain : if you want 60% gain in heading hold mode, you need 50% + (.6 * 50%) = 80% total throw.
-- 70% (1.7 ms PWM) = heading hold, 40% gain
-- 60% (1.6 ms PWM) = heading hold, 20% gain
-- 50% (1.5 ms PWM) = 0% gain
-- 40% (1.4 ms PWM) = rate mode, 20% gain
-- 30% (1.3 ms PWM) = rate mode, 40% gain : if you want 40% gain in rate mode, you would need 50% - (.4 * 50%) = 30% total throw.
-- 20% (1.2 ms PWM) = rate mode, 60% gain
-- 10% (1.1 ms PWM) = rate mode, 80% gain
-- 0% (1.0 ms PWM) = rate mode, 100% gain
Set you gain to 60% which according to the table above is around 1800, the reason you had little or no response is because you were too low with your gain channel. If you still see no heading hold but your gyro is working in rate mode then reverse the channel or go below 1500 to 1200 hope that helps