Actuator Control PX4

Hello everyone,
In my fixed wing project, I enabled actuator control in PX4 in QGroundControl to configure control surfaces. In that section I am doing configuration as described here. However, although at first servos work without error, they start behaving really strange. These behaviours are:

  • While testing the servo does not move although at the beginning it moved.
  • After that when I try to control it through RC it does not move.
  • Sometimes a strange sound occurs on the servo, its temperature rises but it does not work as intended.
    Considering these I think that the problem may arise from QGC configuration. The values I use on actuator section:
  • PWM400
  • Disarm: 900
  • Min:1000
  • Max: 2000
    While setting these values, I am trying to provide neutral position when the fixed wing is disarmed. However, I think that the disarm value may not be correct. It should have been 1500. Or, PWM400 is not correct. However, I have not tried changing them yet. I really appreciate if someone could help me about finding what is wrong and control surface configuration.

Have you checked this part of the documentation? (I know it’s long, sorry for that :sweat_smile:)

I think that the Servo making noise & being hot is because you configured it to “PWM 400 Hz” output protocol, instead of “PWM 50 Hz”, which is most commonly what’s used for Servos. So I think your servo is getting 400 commands a second and definitely not liking it!

Also, on that same header section, there’s a mention of COM_PREARM_MODE parameter discussion. It states that if you enable it by setting it to Always, then the non-motor actuators (in your case, the Servo) will be able to move even when disarmed. Maybe this is why your Servos don’t move now? Could you set that parameter to Always?

Thank you for your answer. I set PWM50 instead of PWM400 and it worked right now. The problem was this I guess. Have a good day!

1 Like