I have read through the traditional helicopter setup. Watched the videos. I still have some questions about setup that I don’t know what to do.
I have a Turnigy plush 30A ESC. Had the setup working with LibrePilot, which used a passthrough mode and setup everything in the TX.
What setting should I use for H_RCS_MODE? (presuming I don’t want to use passthrough H_RCS_MODE=1)
H_RCS_MODE=2: According to wiki, this mode is used for a ESC. How does this work from start up? How is the throttle controlled?
H_RCS_MODE=3: I think I understand this one as it is similar to pass through but the throttle curve is on the FC. Is the throttle curve the same for stable and acro? Can I set them different? When I created a passthrough in the past I would have a couple of different throttle curves. One for normal flight and one for 3D (didn’t ever use it as I was afraid to crash when trying to fly upside-down.)
H_RCS_MODE=4: Needs to have a rotor speed sensor. Which I don’t have, so I shouldn’t use it.
Does anyone have a parameter list and common settings for a trex 450 or a setup guide?
Does it have an internal governor or did you set it up on a throttle curve?
Well for sport flying, currently your kind of stuck with one setup unless you do passthrough. The big caution with passthrough mode is that if your receiver goes into failsafe mode because it lost the transmitter signal then you need to have the failsafe set correctly for the motor interlock channel (default is RC channel 8).
When using this RSC mode, you only have one throttle curve.
Again if you want the ability to change rotor speed from your transmitter, you’ll have to use RSC passthrough mode. There are some complications with this because you need to re configure the default setup in ardupilot to make use of your transmitter throttle/pitch curve functionality.
This can get complicated. I have started a branch that allows the user to use the throttle/pitch curve functionality but reverts back to the selected RSC mode if modes other (LOITER, AUTO…) than Acro and Stabilize are selected. I haven’t had time to test it and it probably won’t make it into master until summer.
Mode 2 is the best for ESCs with an internal governor.
Again if you want to select rotor speeds while flying, you will need to use passthrough mode but again you want to ensure that if the receiver goes into failsafe, that it doesn’t shutdown the motor. In this case, I recommend that you only use a plane set up in your transmitter and bypass the complexity of reworking the RC channels in ardupilot to match the output of the transmitter. now you can set up a switch to provide for two different head speeds and then off. You would set Acro 3D collective pitch range (-10 to 10) through the H_COL_MIN and H_COL_MAX. You can then set up the stabilize 2D collective pitch range (-3 to 10) using the IM_STB_COLX params.
I will end with saying that I dont have a lot of experience with a sport heli setup. But I know a lot about the code and how it works for heli’s.
In that case, I recommend setting H_COL_MIN and H_COL_MAX to the limits of what you would fly in 2D. Something like -2 to 10 deg. then just leave the IM_COL_STB_X at defaults. Try to set the range of H_COL_MIN to H_COL_MAX so that your hover collective is near the center of the that range. So for my example above of -2 to 10 deg. I would expect my hover collective to be around 4 deg.
Also be sure you understand how to set H_COL_MID. This is NOT your hover collective. It is the collective that produces zero thrust. so if you have symmetrical airfoil blades then it would be zero deg.
Glade to hear you were able to get everything set up. In light of a recent number of in-flight motor shutdowns due to the collective going below H_COL_MID, I would recommend setting the H_COL_MID for -1 deg or even 20 PWM above H_COL_MIN. This offers more protection of the heli catching an updraft and causing the aircraft to think it is landed and going through the automated shutdown. This would only happen in Auto, RTL, Land, or Guided modes. Just wanted to make sure you were aware of this. Changes coming in Copter 4.2 which is planned to be released in April 2022 will change the collective setup and offer more protection.
Thanks for the heads up. I will make those changes.
I am currently fighting my ESC. If it doesn’t get a signal shortly after powering on then it will not work. It is old, so I ordered a new one. I went with a single drone ESC w/o BEC that is a BLHeli_S. I am hoping it is plug and play, otherwise I need to learn how to do the passthrough to program it. I am going to try and figure out how to use DShot with it, but will start with PWM.
I did try the H_RCS_MODE=2. Got a good feeling for how it works. I am going to go with H_RCS_MODE=3. The governor in the old ESC doesn’t work very well. The new ESC doesn’t have one. I hope it will work good.
Thanks for all the help! I am making progress and that is a good thing!
I needed to setup my SERVO_BLH_MASK correctly and then the output types I would like.
I am using a matek h743 slim FC. There is a grouping for it, so I had to keep that in mind.
SERVO_BLH_MASK = 960 (servo 7, 8,9,10 are grouped and have to run the same protocol)
SERVO_BLH_OTYPE = 7 (I am using a RDQ ESC that uses D1200)
Why dont you use the Group1 ? S1 (channel 1) for your ESC and ignore the S2 (leave it alone) . This way you could use the Group2 (S3,S4,S5) for the swash plate servos and the S6 for the tail servo. This way you would save all other PWMs for any other purpose, remember when you set one channel of a group with Dshot, the others inside that group cannot be use as PMW. Please check the messages ardupilot sends when it starts to verify the status.
@Pedro_Claro I did the wring as you suggested. Works great! Thanks. Not sure what I will do with the other PWMs at this time. That is probably in the next steps.
I have the ESC working and everything setup. Ran all the preflight tests and everything looks good. Hooked up the motor and everything is spinning how I think it should. No noticeable vibrations. Am very happy at what I was seeing.
Tried my first flight. It didn’t go as well as I wanted. With the motor spinning it sat on the ground for a little bit. It did not want to hover. No response to lift requests. Then all of the sudden it shot up into the air. I killed the motor and it drifted back down. I was able to catch it and don’t see any damage to the frame. So, that is good.
The cyclic servos didn’t handle the torque and the gears are stripped. They were newer servos. I thought they would handle the torque, but just did not. I am going back to servos that I know will handle the simple flying that I do. I am planning on looking for better servos once I start flying more.
@bnsgeyer I am wondering what the normal operation of take off is for traditional helis. I think it is to turn everything on. Arm the heli. Enable the motor interlock. Motor will start to spin. Then wait until the heli starts to hover. At that time lift controls will be available. Is that correct?
I was in altitude hold mode for my first flight. I am guessing that was part of the problem. Once the heli was ‘ready’ it thought I wanted it to be high in the air because I was trying to get lift before it was ready.
My next steps… Get servos that I know work. then try a flight again, but this time use ‘stabilize’ flight mode until I get a better feel of the operations.
@dpcsar I’m sorry that your first flight did not go as well as you had hoped. We recommend conducting first flights in Stabilize mode only. It provides the good stabilization and the most pilot control (meaning the pilot controls all axes). In Althold the autopilot controls the vertical axis and the collective stick controls vertical speed. I suggest you stick with stabilize modes in future flights until you get confidence in the aircraft and your setup.
So the aircraft will NEVER lift off unless it is given the command in some way. In stabilize, it requires you to control the collective to lift off. In modes where the autopilot controls the vertical axis, it requires the rotor to be at operational speed dictated by the H_RSC_RUNUP_TIME and the pilot to raise the collective stick above the midpoint. In auto modes, it depends whether you arm in auto or are in another mode with the rotor spinning that determines the what tells the aircraft to begin the mission (takeoff).
You have the sequence correct but after enabling motor interlock, wait until the rotor reaches the operational speed. Then you would use the collective in stabilize mode to lift off.
If you have a log, please post it so I can have a look.
You can put the H_RSC_RAMP_TIME to 1 second as long as the ESC has a governor that is handling the spool up. That is just how fast the signal is ramped into the ESC. If your ESC doesn’t have a governor then I would not recommend that short of a time. Be sure the H_RSC_RUNUP_TIME is set for the time it takes your heli to spool up. For most heli’s that is more like 10 seconds. DO NOT shorten this for expediency, it will only cause your heli to try to take off in modes that use althold in the vertical axis before the rotor is at a flying rotor speed.
I don’t think I want to spin up my 600 faster than 10 seconds. Never owned a 450 so I don’t know what a typical spin up time is. I saw that you have your H_RSC_RAMP_TIME at 1 second. So it means that it is ramping the ESC from 0 to the throttle curve in 1 second. I would suggest you increase that at least to 5 seconds.
How did you decide on your throttle curve values?
Also I noticed that your collective was at the midpoint during your spool up. You will need to pull the collective stick to the bottom stop during spool up in stabilize mode and slowly increase it to the midpoint for takeoff. Otherwise if you leave it at midpoint then it will takeoff during the spool up as your collective blade pitch would be whatever corresponds to the stick midpoint.