Coaxial helicopter vibration and spin problems

I would like to ask some experts, how to solve the high-frequency jitter and counterclockwise spin of the coaxial helicopter after taking off?

I am not an expert, but also the best experts cannot help if you don’t share more details.
System description and setup; Firmware; PARAM file, log.bin file etc

Sorry, the network disk link is the video parameter log and firmware. Could you please help me analyze it? Thank you.

My firmware version is: ArduCopter V4.4.0 CUAVv5-heli

As this system is running the “heli” firmware it might be best if Bill @bnsgeyer can have a look at this.

You put this as a coax copter. Is this a fixed pitch, variable speed or variable pitch, fixed speed system. That leads me to questions about the rotor system. Are the blades allowed to flap (move up and down)?

If it is a variable pitch system, you have a ganged swashplate? That is the only way I can imagine that you would have if you are using the conventional heli frame type instead of a dual heli frame type.

I was only able to look at your params. I won’t have time to look at your log until tonight. But having a better understanding of the rotor system and configuration would help me understand the possible sources of the vibration. Also is this an electric powered heli?

Thank you very much for your reply. My helicopter is an electric variable pitch, fixed speed system. In order to better present the structure of my helicopter, I have provided photos and videos here.



This is the frame type I chose

You have demonstrated 3 axis head, and you need 4 control axis.
You have:

  • common collective pitch
  • cyclic pitch
  • cyclic roll
    for yaw control you need to also have differential collective pitch.

@LupusTheCanine You beat me to it. I was going to ask the same question.

@Rik_Sam how are you controlling yaw using the conventional main rotor/tail rotor frame type with only three servos and what appears to be no mechanical mixing.

In regards to the vertical oscillation that you are encountering in flight. That is most likely due to the PIDs for the vertical axis being too high for you configuration. These parameters are
PSC_ACCZ_D,0
PSC_ACCZ_FF,0
PSC_ACCZ_FLTD,0
PSC_ACCZ_FLTE,20
PSC_ACCZ_FLTT,0
PSC_ACCZ_I,1
PSC_ACCZ_IMAX,800
PSC_ACCZ_P,0.65

I would say that PSC_ACCZ_P is too high. The default is 0.32. Any reason that you changed this?

@LupusTheCanine @bnsgeyer Thank you very much for your reply. Let me explain that my aircraft changes its heading by reducing or increasing the speed of the motor below. I have not changed PSC_ACCZ_P. The default value here is 0.65. I can try to reduce it first. In order to better present the structure of my aircraft, I attached a video here.

That’s odd. The default value is definitely not 0.65. So somehow it got changed. My bet is that it is too high. Set it to 0.3 and test it.

So that is why you are using the tail type of DDFP. I think the reason the heading is changing in flight is due to running out of control authority. If you look at the log, you’ll see that channel 4 out is getting close to the limit. Not sure how you have the change of rotor head speed on the lower rotor controlled but you need to give it more authority in the one direction.

Yes, you are right, the oscillation has been eliminated by reducing PSC_ACCZ_P. Regarding the spin problem, I don’t know how to give more permissions to channel 4, but I increased the median value of motor 4 and it eliminated the spin. I am not sure if this is the right way to do it. Can you help me check it? I attached pictures, videos and logs here

I may not be very familiar with log analysis. Can you provide me with some reference materials? Thank you

Well, it was a pure guess on my part because I don’t know enough about how you mechanized the yaw control. The only way I can think you’ve done this is by having the HeliRSC output run the upper rotor motor and the tail DDFP output run the lower rotor motor.

If you set the helicopter up the way I described above then it is definitely not the right way to do it. It would be better if you made changes to the motors library for this particular configuration.

I also have concerns about the physics behind the way you are controlling yaw. I think you’re going to have different responses between going in one direction and the other. I think in one direction it’ll be much stronger response and in the other direction it will be a much weaker response to your control inputs. In the one case, you slow down the lower rotor and because you slowed it down you lose thrust on the lower rotor and collective is added to both rotors (because they are tied together) to compensate. Now the upper rotor is at a higher speed so there is the torque difference caused by the change in rotor speed between the two rotors to cause the commanded yaw. the increased collective will also create a torque difference in favor of the commanded yaw direction because the upper rotor will cause more torque than the lower since it is at a higher speed.

For the other case, you speed up the lower rotor and because you increased the speed the thrust increases on the lower rotor and collective is decreased to both rotors (because they are tied together) to compensate. Now the upper rotor is at a lower speed so there is the torque difference caused by the change in rotor speed between the two rotors to cause the commanded yaw. However the decreased collective will also create a torque difference but it will not be in favor of the commanded yaw direction. The lower rotor was sped up and then the collective reduced which now decreased the torque it created. So overall the torque difference to cause the yaw will be less.

Sorry about the long explanation. The takeaway from it is that I think you need to change rotor speed on both motors where one is increased and the other decreased so the collective doesn’t need to be changed to maintain altitude. The would make the yaw control equal in both directions.

2 Likes

Thank you very much for your long explanation. I want to try your method (changing the rotor speed of two motors, one increasing and the other decreasing). Which parameters should I change in MissionPlanner?

@Rik_Sam you haven’t even told me how you have your aircraft configured for this method or at least confirmed that my guess was correct.

There is no way to do what I proposed with the current firmware. You will have to make code changes and compile new firmware.

@bnsgeyer I looked at the log of a complete coaxial helicopter of the same model as mine, and I found that its upper motor was flying at a constant speed of 50%, and the lower motor changed its heading by accelerating or decelerating. I am not sure whether my judgment is correct, so I provided the video, log and parameters of the complete coaxial helicopter here. Please help me take a look, thank you