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.
Just thought i would add the pre trial test without the canopy attached, sorry for me chatting away, but was really happy that it was flying :)
Hey Malcom are you gonna update the build guide for us?
Hi Randy did some more testing to day.
These are my findings.
Stabilise Mode.Tail sometimes turned without any input from me up to 150 - 180 degrees.I fixed it by putting the tail control direct to the RX
Loiter modeWhen switching from Loiter to Stabilise -- the helicopter would forget its level -- i would have to move the cyclic stick to try and keep the helicopter level. Then reboot the APM to get it to return to the level.
While in loiter mode the altitude hold was ok i think i can tune this with the PID controller.
The Loiter PID control.Couldn't hold it in loiter mode for too long, the helicopter would try and move to position but it had quite a lot of angle on the heli, and moved way too fast. I tried to turn down the PID. I think the best bet might be to have a maximum speed plus maximum angle. This would slow the heli down and also not allow too much angle on the Heli ... maybe 5 degrees.
What do you think ?
Malcolm and Randy,
With our tests on a Logo 400 this is pretty much what we saw. We were able to get alt_hold mode to kind of work using the barometer (~3 meter accuarcy), but it was good enough.
We flew the helicopter about 50 yards away and switched to RTL mode. During our first flight the heli did a very aggrestive tilt and tried to fly back to home but was dropping altitude so fast we flipped back to stabilize. We recovered and I knocked the Max_Pitch number down. While our aggresive behavior was inducing a large roll we thoerized that the heli code was reading just one paramater for the max movement. It seemed to work as the next time we flipped to RTL we had a good experience. The heli returned to home, overshot and flew back.
We did two or three flights tuning the NAV PIDs using the RTL and we got it pretty locked in. We had to stop testing though when we booted up the heli and stabalize mode had lost all swash plate control. We've run into an issue where on random boot-ups the swash plate loses nearly all it's range. We fix it by re-downloading the code and running through the setup again.
As an aside, we've never run the tail through the ardupilot in the air because on the bench it wanders a fair amount. We would love it though if we could get it locked in as having to constantly unplug the tail servo in and out of the ardupilot and the reciever is a pain in the tail.
We would love to help fly new versions of the code with our heli.
Ardupilot Mega 3.6 HELI
Compass, UltraSonic Range Finder, all the trimmings,
Great news. I've never even tried RTL myself. great to hear it kind of works.
so when you're saying the tail isn't run through the APM, you mean you control it directly from the radio? Have you tried using the APM but also with an external tail gyro?
yes, in the CLI, you can type "gyro on 1200" and it will enable the external gyro and output 1200 on channel 7 (not 6 like the wiki says - i'll get that updated).
The tail control in the code also works slightly differently if the have the gyro enabled - it will use a single PID loop based on heading. if the gyro is disabled then it will use a nested control - a rate control within a heading control.