i have setup my heli and everything looks almost perfect, did't test fly it yet, but i have a note, my rudder never work unless i move the throttle stick a little high.
I have a turnigy 9x set as heli 1, i have connected the ESC directly to ch 3 on the receiver, and the pitch ch 6 to the ACM input 3, so since i have a throttle curve, it takes almost half the stick to stat moving the pitch output, but until the pitch is up a bit the rudder servo is absolutely not responding, neither from the radio, joystick or even the ACM stabilize. i thought it is something with the gyro, changed it with another one i had, connected the servo directly to ACM output 4, nothing, until i moved the pitch up.
is this normal?
is it something with the arming feature?
i tried to do it as in the manual, throttle down and full right rudder, nothing, unless i move throttle up, off course i have the throttle hold, but anyway it only affects the ch3 which is not connected to the ACM at all.
is heli1 on that transmitter mixing the roll, pitch and collective channels? It's definitely important that you set-up your radio much like you would set-up a quad which is normally airplane mode. Does your swash plate move as it should when you move the roll and pitch sticks on your transmitter? (a video would be great if you have one).
It's true there is code in there to stop all yaw output unless your collective pitch is above zero. so if your swash plate is at it's lowest position, the yaw won't work. I guess I could remove that code..it makes sense for the quad where when you're throttle is at the bottom, you're engines aren't moving..but it makes less sense for the heli.
by the way, i checked in a change to scale the collective pitch from the radio to match the range of movement of the swash so if you pick up the latest code, it's possible that it'll work more like you want.
Yes, as I've posted multiple times now, there is a MAVLink bug in 1.0.87 introduced yesterday. It will be fixed tomorrow. In the meantime, please use 1.0.86 instead.
Are you in acro mode or stabilize mode? I notice that the rudder barely moves with stick input when in stabilize mode. But in acro mode, it moves much more. Not sure why.
@Randy: I thought in stabilize mode that the stick would be commanding a yaw rate, so I would expect that since the heli is not yawing in response to the small servo movement, shouldn't it build servo travel in order to achieve the programmed yaw rate?
If you did your servo set-up using the CLI, when you did the 'm' command did you move the yaw channel around as well? If not, the min/max for the yaw channel might have been recorded as being very small.
If you're saying that yaw doesn't move only when the collective pitch (input channel 3 to the APM) is down near the bottom of it's range, then the issue is the deadband. Try changing the deadband setting from 60 to 0 for channel 3 via the APMPs configuration screen (somewhere in the list on the left). Sorry, i can't tell you the exact setting to change as I don't have my apm with me at the moment.
yes, it should move in stabilise mode. I actually would not recommend using acro mode unless you're feeling lucky. I've never used it so no guarantees of what it will do.
That's the right one to change. Ok, I'll have to have a look at the yaw control..I can't imagine how any of my recent changes could have affected it but I'll have a look.
Simple mode is a valid mode, the various flight modes are described on this wiki page although I can't immediately find a description of how it works. The mode is also described (by me) on the big trex discussion. basically it uses the heli's starting direction (as captured when you "arm the motors" ) to allow control always from the pilot's point of view. I.e. pitch forward = go away even no matter which way the heli is facing. It's a good mode if the heli's far away and you can no longer tell it's direction.
Ah, actually that wasn't the right one to change..you should change the RC3_DZ to zero.
I meant to reply to your simple mode question yest but in any case it is a valid control mode in which it changes the roll/pitch controls to be from the pilot's point of view. I.e. push pitch forward and it will fly away from you no matter which way the heli is actually facing. Note: it doesn't use the gps, it uses the initial direction that the heli at the time you "arm motors". There's some info about it on the wiki and also a discussion between Robert and I regarding it on the long traditional heli thread.
I got confused by this. He said he changed RC3_DZ to zero. You said that was the right change, then it's the wrong change, and that he should change RC3_DZ to zero? Not hassling you, just wondering what I'm missing?
On another note, what is the difference between HS4_REV and RC4_REV?
The "init" message is caused by the "out of range" error. Basically it's an arduino bug that should be fixed in the next patch of Arduino that comes out. Until then you can pick up a version of arduino 0022 from our download area (look for arduino-0022-relaxpatch.zip).
What you're describing doesn't sound good really although I always fly with an external gyro and thus always have it checked. I'll have a look at this issue this weekend.
Robert has flow without a gyro so perhaps he can comment more.
I've updated the build coming out of the mission planner just now. This is slightly dangerous as I haven't flight tested trunk on the heli in a week but it's probably ok.
The over responsiveness of the servos is because when you upload through arduino you will end up with the default PIDs for the quad instead of the helicopter. You should something like what i have below to your APM_Config.h
#define INSTANT_PWM ENABLED
// DEFAULT PIDS
#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
// throttle - rate controller
#define THROTTLE_P 0.22
#define THROTTLE_I 0.1
#define THROTTLE_IMAX 300
// throttle - altitude controller
#define THR_HOLD_P 0.400
#define THR_HOLD_I 0.020
#define THR_HOLD_IMAX 300
#define NAV_P 2.24
#define NAV_I 0.03
#define NAV_IMAX 10