HeliQuad rudder 4th servo not mixing with the collective - acting as tail rudder

Ok sorry this is an airplane thing. I’m not talking about the throttle hold, again that is all done through channel 8. on your RC transmitter, when you choose the airplane model, they typically have a feature for ICE that you can set to cut fuel to the engine. I want you to turn off that feature in your RC transmitter. It will mess with the collective range (throttle stick) if you were to accidentally flip that switch.

my big point here is that your transmitter is nothing other than joysticks and a few switches to the pixhawk. you don’t want to do any special programming that will mess with the signals that the pixhawk gets.

Bill I cant thank you enough! Your advice for the Plane model was the best advice so far! You have no idea how I struggled to set and write the servo params to get them to work respectfully in the heli model to using an airplane model and not needing to do ANYTHING! None of that is needed in the plane mode. Removing ALL mixing was the trick, it even calibrated 100% without any extra swipes of the joystick, it just worked first time. I now see why I had so many issues, it was the damn 120 mixing of the swash throwing off all my radio readings in the PX4! My drone is ready to fly, it was ALL the DAMN MIXING!!!

Just so you know, I am writing up a step by step tutorial for others who wish to use PX4 with a CP drone (stingray, VL380, or HK) and will site your help. I am writing out all the things to do and not do to get this working across the board. I am still new to PX4 (pixhawk in general) but obviously not to RC or helis so my struggle has been converting the heli knowledge to CP drones. You have been a huge help in this area, I have all issues sorted now, including throttle, flight modes, servos, tweaks, ETC. THANK YOU! The AP mode saved the day and made all the sense in the world.

I am so used to just fixing issues, that I missed the underlying root cause (CP 120 sawsh) so my solution was to tweak the servos, none of that is needed. This is the type of things I will note in the user guides for others so they dont struggle as hard as I did. WOW am I shaking my head at myself, total engineering oversight on my part, SHEESH! I cannot believe I missed such an easy and obvious issue as mixing in the radio!! Wow I am embarrassed at myself to be honest! Than you so much Bill, I will get her in the air today or tomorrow and send a video or at least a follow-up but it is definitely far far far better now than it was before when I had CPPM swashplate configured in my heli model, but using AP model, no issues at all, the PX4 mixes everything beautifully!

No problem. Glad I could help.

Be careful in your use of PX4. I assume you are referring to the boards. I believe the PX4 community also has PX4 firmware. And that is where you should refer to ArduCopter as the firmware. Maybe state it as PX4 boards running ArduCopter in your writeup.

PX4 does not officially support helicopters. In open source systems only ArduPilot and LibrePilot support heli’s that I’m aware of. And LibrePilot’s support is very poor.

sorry, my bad you are right, but I am not using the PX4 firmware (OS), I DO mean pixhawk PX4 (using NuttX), I tried PX4 (first), then ChiBios and finally found Nuttx the most stable.

I am using Nutxx with plane model, using frame type 13 (HeliQuad) and class (H). My issues were ALL radio related from my stubborn brain wrapping around the HeliQuad portion requiring a swash type. This was my misunderstanding then my brain locking on to heli structure so it must be a heli model (this was my crazy rational). All thats sorted now

Bill all I can say is THANK YOU! The plane mode fixed everything (I mean literally every issue I had), without mixing, the pixhawk PX4 is reacting normally now, including throttle (as this was previously mixed to the swash) as well as all pitch, roll, and yaw. Before, using the heli model, it all reacted abnormally (but to me being new to pixhawk, I didnt know it was wrong, now I do). Now all servos respond identically ACROSS the board, for the amount of throw (pos/neg) and center points as well as speeds (before with the mixes in place, it wasnt all the same across the board, now it makes sense because it was being mixed with other channel outputs), now it works without any weird tweaks needed. Before I had to lower and raise my low/center/high servo params, now it just works properly, including my bench tests. Before all my bench tests were barely moving the servos, I assumed (since I am new to pixhawk) that it was a safety step/function and would improve in the air (using a sensor, knowing its lifted off the ground) but no thats not what happened, it was the wrong mixes screwing up all the servo outputs across all 4 servos as they had also been mixed from the radio. With plane model, I.E. no swash mixing, they all respond properly now.

PHEWW thank God I didnt fly this until your answer this morning!

I owe you a few beers!

No worries. Maybe we can incorporate some of your learning into the heli quad wiki. Z

Exactly what I am thinking, that way we have a user-guide from end to end. I write tons of these for users at work when I migrate their trading web.services, so I am used to explaining complex things to users who have no idea what a mouse is. Pictures save hundreds of qustions

1 Like

Bill I also confirmed the gyros are compensating in opposite directions of the vehicle (to counter the stability) so its all good now, everything is operational in regards to the 6-axis gyro stabilization! I bench-tested EVERYTHING and its 100% ready for flight. I plan to test hover shortly (as soon as I finish with work).

Shaking my head again, somehow I forgot that I mixed a conditional channel to a switch to make a logical knob, this in turn made my channel 8 also my flight mode. SO when I was enabling acro, it was also arming the motor thus why I couldnt get it to arm in stabilized mode, in stabilized mode the motor interlock was off, when in acrbo, it was turned on, boy oh boy the things I do sometimes :slight_smile:

Fixed that issue and I can now arm in both modes. My last question to you will be regarding h_rsc_mode or throttle output on channel 8. I understand its more of an on/off thing with channel 8 while channel 3 is more of controlling the collective pitch than the throttle. This however, is VERY difficult for me, after flying for so many years, to not control the throttle output with my throttle gimble is tough. I realize and understand this is by design, and I get it and understand its to keep the motors from not disabling at to low of attack (left stick all the way down). So this all makes sense to me and is fine, however I HATE the fact its an on/off switch so I am changing it to use a knob. Right now the knob is only reacting as an on/off (low PWM, off, high PWM, on --> knob turned all the way). This also makes sense as the knob is simply being read as low then high, so off when low then on when high, but how can I change this into a gradual throttle with the knobs? I read up on it and saw it should be possible but I am having trouble with getting it to read a low input PWM and have it output the motor, then increase as I turn the knob. Its just turning on or off with the low/high switch. Is this a radio config (logical switch tied to channel) or is this a Pixhawk config I need to set somewhere?

As always, thank you so much in advance.

not sure what you mean by this. So first thing you have to understand is that the RC channels (input to pixhawk from receiver) are totally segregated from the Servo channels (output from pixhawk to servo). So RC channel 3 is the collective input from the pilot. RC channel 8 (or what ever you assign the motor interlock switch (i.e. throttle hold)) is turning the motor on and off.

So are you using the governor in the ESC or a throttle curve? I assume you are using the throttle curve with an electric engine if you are asking this question. So I am think that you want to run up the rotors from ground idle to flight speed and that is what you use the knob for? If so, then you don’t have direct control over this. You would use the Ramp timer (H_RSC_RAMP_TIME). this parameter specifies the time to go from ground idle (H_RSC_IDLE) to flight throttle (throttle curve for collective position). In the case of an electric engine, H_RSC_IDLE is going to be 0 (no throttle output). H_RSC_IDLE is really only used for ICE. then you would set the H_RSC_RUNUP_TIME to something greater than the ramp time. the runup timer is the total time to get the rotors to flight rotor speed. Which I guess in your case would be the same time as the ramp timer.

Hopefully this answers your question.

Yes that helps greatly but I thought I read somewhere that we could tie the channel 8 (on off) to a knob for finer control using different output to different throttle power (33/66/99%) for example tied to a knob so when knob is turned 1/3 it puts out 33% throttle? Guess not based on what you’re saying, my issue is having the blades go from standing still to full power. In a traditional heli, there’s no way that would work. I’d be stripping gears left and right. How would one overcome this with a traditional heli or a gasser? Or is my only option with pixhawk to have the motor on or off with varying arrays of ramp up times?

Traditional helis allows me to output each step as I raise the gimbal, it not only controls the pitch (collective) but also the ESC power output to the motor.

I’ve flown traditional helicopters with gas engines. I am not sure what you mean by raising the gimbal. What are you referring to when you say gimbal? From What I remember I would switch flip throttle hold off and raise the collective to increase rotor speed to the operational rotor speed. However I never flew 3-D modes with idle ups.
Have you seen Chris’s videos on the traditional helicopter set up for arducopter? They are under the traditional helicopter Wiki on Ardupilot.org. There is one video on throttle curve set up

By raising the gimbal you are talking about the gimbal in the transmitter, or the collective lever. So what you want is H_RSC_MODE = 3 for throttle curve, then set the throttle curve values to your liking. Channel 8 then just becomes the throttle hold with the switch.

I am guessing my problem is that my traditional helicopter lingo doesnt directly translate to pixhawk. In the pic below (found on the internet) to show the left, throttle gimbal/joystick, not only controls the throttle output but also the collective pitching for lift, the right gimbal/joystick is for pitch and roll, collectively they handle CPPM control.

jpg

What I am trying to do or understand in the pixhawk, is if I can control throttle output other than “on/off” which translates into spinning motors from a dead stop to full power spinning blades. In the heli world, the left stick handles both ranges for throttle as well as collectively pitching the blades from negative to positive pitch for lift (thrust). On my T-Rex 600 and 700, both have -11 degrees negative pitch (lowest throttle position - all the way down) to 50% throttle (left mid-stick) 0 degrees pitch (knife’s edge) to 100% throttle/100% collective pitch (lift) when raised to the 100% position (all the way up). This allows me to not only control the lift pitch but also the output of the motor power translating to spinning blades. Can I have some sort of control over the throttle output tied to a knob or the left stick? It sounds like a no, an it can only be configured on or off through channel 8 via a switch.

In my helis, I spin the blades up carefully and slowly until I hit my desired speed, then I toggle idle-up (which is actually a throttle lock on 65% power --> @2200RPM governed when activated). This allows me 65% throttle power to the motor at ALL positions of the left stick, once I activate my idle-up, the motor spins at max speed and remains governed and locked at any position, so I have max power in negative and positive pitch for lift. The key thing here is, I have the ability to spin the blades up smoothly, not off or on as this would destroy my gears trying to spin my massive 700MM blades on the main rotor.

Does this all make sense, in heli world, collective and throttle are the same left stick? I just want to know if its possible to control the motor speed output, either through my throttle stick, or a knob tied to a channel then configured in the pixhawk?

Bill in my world, I know the sticks/joysticks as gimbals as this is what I was always taught they were called, this was back in mid 1980’s but this was long before there was such a thing as 2.4GHz radios. Back them it was all FM I believe but my terminology may be all off for today’s lingo.

I understand what you mean now. Never heard the transmitter joysticks referred to as gimbals. Ok now I’m on the same page.

The short answer to your questions is yes. the software ties the left stick of the transmitter to the throttle as well as the collective pitch. HOWEVER, you can specify different ranges of the collective stick between acro and stabilize modes. the full range of the collective output as specified using H_COL_MIN and H_COL_MAX is controlled by the left stick using the acro mode. So you can set up your -11 to 11 deg collective output range and be able to command that full output range with the left stick in Acro mode. the output range of the collective in stabilize mode is controlled by the IM_STAB parameters which specify the percent *10 of the max range (COL_MIN to COL_MAX). So if you set up your output to be lets say -10 deg to 10 deg with COL_MIN and COL_MAX and you want your stabilize mode collective range to be -2 deg to 10 deg then your IM_STAB_COL_1 param would be 400 and your IM_STAB_COL_4 would be 1000. Thus when you put the aircraft into stabilize mode your left stick would now command the -2 deg to 10 deg collective pitch range. the IM_STAB_COL_2 and IM_STAB_COL_3 parameters allow you to set the collective that correspond to 40% and 60% points on your left stick. that way you can make the collective gradient a little more shallow at mid stick.

So like I said earlier the throttle is tied to the left stick but really it is tied to the collective output through the throttle curve when the channel 8 motor interlock is enabled (throttle hold off). the throttle curve uses a 5 point spline to map the collective to throttle at the 0, 25, 50, 75 and 100 % collective positions where 0 % is the collective at COL_MIN and 100 % is the collective at COL_MAX. You can watch Chris’ video here to learn more about it. watch the last video on throttle curve set up for piston and turbines.

As far as the transition from the channel 8 motor interlock off to on, that is handled by the H_RSC_RAMP_TIME parameter and the rotor speed controller. It takes the ramp time and linearly increases the throttle from the H_RSC_IDLE value to the throttle corresponding the the collective output (which is based on the position of your left stick and the flight mode) over the ramp time provided. I believe @ChrisOlson has some way of increasing that manually but i’m not completely sure.

Hopefully this answers your questions.

Bill THANK YOU! This is the piece I needed to know along with ‘its possible’, that was main issue, knowing if its possible or not. If not, then I would have found a way around it, but since it IS possible, I will do as you said, watch the videos and play around with IM_STAB_ and COL_ params. Thank you so much as always!

Just a quick heads up, I tested her this morning at 6AM, she lifted and flew but went into a side to side oscillation (when switching flight modes and doing slight 3D acrobatics), she seemed to lose level and over compensated then touched a blade to the frame so I ordered new blades (cooler colors anyways), the blades I had on there were new but I never planned to fly with them, only testing them so I am not all that upset. I learned 3 very important things from this test flight, 1, it flies, 2 fix the stabilization (lower the gyro stabilization on the roll) to remove the oscillation, 3 tame the motor, it was outputting way to much power. This is all I need to be able to fix and solve the flight issues for my next attempt. My real blades will be here in 2 days so I have that much time to fix my params and reset the blade rotor (the one that touched the frame). I only broke a servo control and a blade so its all good. I expected to have way more damage with the height and speed I was flying. All in a days learning :slight_smile: charging my 12S lipos now to head out to the field and fly my 700. That always calms me to fly my 700, no matter whats going wrong in the world, flying my helis always soothes the soul! I find no better way to relax and enjoy summer than inverting my heli or just flying. I cant wait to get my UAV CP in the air and stable to add that to my realm of flights!

You know the easy answer to all of this is using an ESC that has a built in governor. However if you are intent on using the throttle curve, Chris recently incorporated a governor that works with the throttle curve to govern the rotor speed but it requires an rotor speed sensor. You can read up on it here