450 helicopter is going full negative pitch when engage Alt Hold

Thanks to Chris and all other members for help in the past, my Heli is flying very well in Stablize mode thanks to all suggestions, now it is a joy not a chore, of course now I am wanting to try other flight modes.
I know there are topics similar to my question, I have tried there fixes with no difference, so I must be missing something
Question I have attacked my parameter list hoping someone can tell me why when I select Alt Hold either high in the air or setting on the ground my blades go full negative pitch? I have tried setting THR_Accel_P to 0.2 but still get full negative pitch even sitting on ground?
If some one can look at my parameter file and suggest changes that would help, Please do.
In my file I know I am probably using too high Rate RLL and Rate P PIT FF values and should be using more P values, but it is flying so good I hate to change it
Thanks for any help
APM 2.6, Firmware 3.2.1, 450 clone, Tarot FBL head, Emax Digital servos, Flysky TH-9X radio

Heli 10 10 17 par.param (5.4 KB)

Can you post a flight log that will help.

Thanks for help , I have uploaded a tlog file, hope this helps.
2017-10-10 18-34-52.tlog (362.7 KB)

Can you post bin or log file. The tlog file does not have all the information.

In looking through your parameter list I did notice some things that were inconsistent with what I would expect. The first is H_STAB_COL_MIN is set to 650. The description for this parameter in the code says that this should be between 1000 and 2000. Not sure if that is causing your problem but I recommend setting the minimum value of 1000 and see if that affects your collective range. I suspect that if the code sees this value outside the acceptable range that it sets the value to 1000 but I don’t know. This parameter sets your collective lower limit in stabilize mode and H_STAB_COL_MAX sets the collective upper limit for stabilize.

So what does H_COL_MIN and H_COL_MAX correspond to in degrees pitch on the blades? What does STAB_COL_MAX and MIN correspond to in deg pitch on the blades?

The other parameter that may be affecting this is H_LAND_COL_MIN. This is the minimum collective pitch setting the software establishes when you are on the ground. This would not explain why it goes full negative pitch when switching to ALTHOLD in flight.

As @Sunit_Pal posted, please provide a *.log or *.bin file from the APM. BTW, the tlog file that you posted did not include any flying. It was just on the ground with the aircraft unarmed.


1 Like

The main problem is here with these settings:


In the old code the procedure used to be to adjust H_COL_MID to hover collective. There is 636 pwm between MID and MAX, so I don’t think there is any way MID could be close to hover.

In the later code the IM_STAB_COL’s came into play.

The other thing is the Stabilize collective pitch range given by the bottom two params. MIN should not be below what H_COL_MIN is set to. MAX should not be above what H_COL_MAX is set to. Those two params limit the collective pitch in Stabilize mode.

I think the problem to be H_COL_MID set too low so when switching to Alt Hold it seeks the hover collective value and the throttle gain (actually collective gain, but they call it throttle) does not respond fast enough to keep it from slamming in full negative collective pitch.

1 Like

William, the setup in the old code is different so I’ll outline it here.

First H_SV_MAN only has two settings - 0, and 1. 0 is for flying it. 1 is for setting up the head. So set H_SV_MAN to 1.

Now move the collective on your transmitter to the middle of its travel. Measure the blade pitch. It should be 5.5 to 7 degrees (or whatever your heli likes to hover at). Adjust H_COL_MID until it’s at hover collective pitch with the stick in the middle. Note with the old code the change does not take effect on the fly. You have to reboot the flight controller and refresh the params.

Now set H_COL_MAX and H_COL_MIN to your desired pitch with the stick at the top and with it at the bottom (verify H_SV_MAN is 1).

After getting this all set up, now set H_SV_MAN back to 0 and go out and test hover it. It should hover with the stick in the middle. If it doesn’t adjust H_COL_MID again until it does.

Once you get this set, now try Alt Hold again. It will work this time once you get it to hover with the stick in the middle in Stabilize.

One final note - collective going to bottom on the bench in Alt Hold is normal. Don’t worry about that.

1 Like

@ChrisOlson doesn’t H_STAB_COL_MIN and H_STAB_COL_MAX have to be set before using stabilize mode. If his blade pitch ranges match what he will use in stabilize then they would be set to 1000 and 2000 respectively?

Yes, you’re correct and I forgot to mention that. Right now the H_STAB_COL_MAX is only 1500. That should be very close to the H_COL_MAX, if not the same. Otherwise it will limit the stabilize collective pitch to mid and it won’t even take off.

Since this heli does not have a GPS and is not using any autopilot modes I would recommend setting the H_STAB_COL_MIN equal to the H_COL_MIN and MAX equal to the H_COL_MAX.

What’s causing it to slam in negative collective in Alt Hold is that the stick is not centered in Stabilize right now due to H_COL_MID being set way too low. It looks like it has zero pitch at about 20% stick and probably hovers on about 35-40%. That’s going to make the switch to Alt Hold really exciting in the old code.

1 Like

Not in the old code. It is pwm in the old code. It does not use the same scaling as the 0-1000 does in the newer code for IM_STAB_COL’s, which sets a four-point stabilize collective pitch curve. You can them to 1000 and 2000 respectively, and it will just use full collective pitch range that you have the H_COL_MIN/MAX set to.

@bnsgeyer I was in a hurry when I typed that last description, as I had some people that walked in right at the last moment.

What tipped me off as to the problem here is that having 600+ pwm from MID to MAX is not normal. It became apparent that what William did, and this will work quite well for stabilize, is to possibly set MID to zero pitch. But I think the collective range is being limited by the H_STAB_COL_MAX at 1500 pwm. The newer codes uses 0-1000 (percent *10 pwm) for the stabilize pitch curve. The older code uses pwm. So set to 1500 it probably limits the max collective to around 10 degrees with normal amount of stick movement.

But the problem is that the Altitude Hold mode uses a different collective pitch curve than Stabilize, based on hover at mid-stick and a progressive “dead zone”. From experience setting up these old APM’s with 3.2.1, with the given settings the stick is probably slightly low when Alt Hold is engaged, and the result is not necessarily full negative collective but it will result in a rapid loss of altitude when it’s switched. They are more of a challenge to get that transition “just right”. The newer code makes it relatively easy. So the “trick” used to be, and I think this is even mentioned in a one-liner in the setup wiki, to adjust H_COL_MID to hover collective and make sure that corresponds to mid-stick. Otherwise people used to complain about the sudden surge in altitude (usually down) when switching to Alt Hold or Loiter.

I’m a little surprised at how much FF is being used. But if that seems to work and provides the responsiveness and stabiity there’s nothing really wrong with it. The last couple APM’s I set up - one for my pylon racer and another for a 3D heli - I used only FF and no PID loop at all. And they handle really nice and sharp and hover beautifully in attitude (Stabilize) mode. That would not be the setup for most people who want a little more damping. But the sharp responsive non-mushy handling is maybe what William likes, and I can understand that. So I’d say leave that well enough alone. He is using some damping with the PID loop so I can believe it probably handles pretty nice.

I think once he gets the pitch curve sorted out, Altitude Hold will work fine. It just can’t work with the current settings. It could, but you’d have to be really fast on the collective when making the switch. The older code is sort of funky that way :grinning:

1 Like

[quote=“ChrisOlson, post:7, topic:21962”]
Now move the collective on your transmitter to the middle of its travel. Measure the blade pitch. It should be 5.5 to 7 degrees (or whatever your heli likes to hover at). Adjust H_COL_MID until it’s at hover collective pitch with the stick in the middle. It should hover with the stick in the middle. If it doesn’t adjust H_COL_MID again until it does.

Just to be sure I understand after setting collective stick to the middle position on transmitter, the actual pitch of 5.5 to 7 degrees can be set by just changing values in H_COL_MID correct? or does this have to be changed by adjusting rod lengths? ( all done in full parameter list and with S_V_MAN set to 1)
Thanks again to you and Bill for help, Heli is flying great in Stablize mode. Actually just using FF values it is really smooth not wandering around and much more a pleasure to fly.
Thanks again

William, it can be done with H_COL_MID. Adjusting rod lengths is only necessary if you have a situation where the the servo arm is not at 90 degrees to the swash link at hover collective, and it can’t be adjusted with the trims without getting too far from 1500 pwm

So when you set H_SV_MAN to 1, move the collective (“throttle”) stick to mid position. Now look at the servo horns and links. This is your current trim settings (bold for the cyclic trims)

The servo 1 trim doesn’t look too bad. That’s pretty close to 1500. But the other two are way off. So what I would do is set the trims to 1500 on all three with the stick in the middle. Look at the angle of the servo arms to the swash links. If they are not at 90 degrees pull the arms off and put them back on the servo shafts so they are (or very close) 90 degrees.

If this can’t be achieved it is likely somebody crashed the helicopter in the past and put different length swash links on it that aren’t right length.

Now the swash will likely not be level after the above. So adjust the swash links until you get pretty close to level (just eyeball it). Once you get the swash pretty level looking, now just for giggles put your pitch gauge on a blade and see where you’re at. You should be somewhere in the range of 5.5-7 degrees. Almost all RC helicopters are set up to have that geometry at hover collective pitch. There’s some strange ones like Bergen heli’s with mechanical CCPM mixing that it takes a mechanical engineer to figure out how to set up. But I don’t think this is one of those :grinning:

If it is not somewhere in that range of collective pitch with the above geometry I would try to get the right links for it. Anywhere from zero to 7 will probably be ok but it’s always possible somebody put the wrong links on it, and that’s a good way to check.

Collective Pitch:
Put the heli on a level surface and ensure the mainshaft is vertical. Or if your pitch can be zero’d with it not level, zero the pitch gauge so it indicates actual blade angle.

So now that we have the mechanical geometry about right, put your swash leveling tool or dial indicator on it and level the swash by adjusting the servo trims slightly with H_SV_MAN set to 1 and stick in the middle.

Once the swash is level, now put the pitch gauge on it and set H_COL_MID to get your hover collective pitch, stick in the middle, and H_SV_MAN = 1

Now move the stick to the top and check pitch. It should be 10-12 degrees. If it’s not adjust the H_COL_MAX to get 10-12 degrees.

Now move the stick to the bottom and see what you get. Set H_COL_MIN for the desired minimum pitch (usually anywhere from -3 to -10 for a RC heli, depending on your preference).

Cyclic Pitch:
Now move your collective to get zero pitch, which now should happen somewhere around ~40% stick position (depending on where you set the H_COL_MIN). With the blades fore and aft move the cyclic lever to full right or left roll and note the pitch angle. It should be about 8 degrees.

Rotate the head so the blade are side to side and put in full pitch up or down with the cyclic lever and note the pitch angle. It should be about 8 degrees.

If it is not 8 degrees it can be adjusted with these two params:

Stabilize Collective:
Now set H_SV_MAN back to zero and put the flight controller in stabilize flight mode. The PID loop is now active so make sure the heli is level and mainshaft vertical or it will try to compensate for it being tipped.

Move the stick all the way to the bottom. Note the blade pitch angle. Set H_STAB_COL_MIN to get what you would like for minimum collective pitch in Stabilize flight mode. If you like doing autorotations for practice I would recommend no less than -3 degrees, as you can just slam it to the bottom in the first part of the auto and then feather it once you get forward cyclic into it for the glide. But every pilot will like a different minimum.

Now move the stick all the way to the top and set H_STAB_COL_MAX to your desired maximum collective pitch in Stabilize. This will usually be the same as H_COL_MAX, but again different pilots have different preference. Personally, I like to have full collective pitch on tap for any manually flown flight mode like Acro or Stabilize.

Hover Test:
Take the heli outside and test hover it and ensure you’re hovering at mid-stick on the collective. Note that since you’re using H_RSC_MODE 1 you may have to adjust your throttle/pitch curve in the transmitter after changing all the above so the heli runs the head at the right speed. If necessary, tie the heli down solid and run it at the full collective pitch range before flying it to make sure the throttle curve compensates for collective pitch properly. That’s one of my favorite methods to tweak the throttle/pitch curve for nice smooth rpm control without a governor.

If the heli does not hover at mid-stick make a further adjustment to H_COL_MID to get it there. You don’t have to set H_SV_MAN to 1 to make this adjustment. Just change it a bit, reboot the flight controller and do another test hover to see if the change moved it in the desired direction.

Once you get it to hover at mid-stick, now try Alt Hold again. It should work this time.:sunglasses:

William I highlighted the one sentence above about the throttle curve. This is important to get right because if the headspeed is varying, it will also affect how much collective pitch is required to hover. What you want for your throttle curve is that at zero pitch with the heli running the head will be at the desired speed. As you increase collective the load on the motor goes up, and causes headspeed to drop. So the throttle curve has to increase power to maintain headspeed smoothly.

Once you switch to Alt Hold now the throttle will be stationary because the collective lever is not moving in a steady hover. But the flight controller will be moving the collective pitch to maintain the hover. You don’t want a wind gust to come along, put the heli into ETL, then suddenly have the heli try to sink when the wind dies out, the flight controller increases collective pitch to compensate, and the headspeed sags. That is bad.

1 Like

Chris, Bill, and all the others that have given up there time to help someone in need of their knowledge, Thanks again.
Chris I just bought another EXI 450 helicopter (used pretty good shape), I am planning a Tarot FBL head and fitting it a APM.3.1 Ver 3.2.1 I have.
I will this time try my best to follow your instructions you have posted for the last few months as a guide for my setup. My first 450 with APM you have been giving advice about is flying so well in Stabilize (other than Alt Hold) I hate to change things at this time, it pretty much will stay where you put it (except for altitude) without having to correct all the time. I have been playing with the throttle and pitch curves in my radio and altitude is getting better.
Thanks again to all