Servo 2 running abnormal after Motor Interlock ON

Hello,
I’m running arduheli with version 4.1.2 on an turbine RC helicopter
Currently, I’m facing a problem with servo 2 with the H3R-120 configuration.
If I only turn on the system with battery, all three servos running normally as I pushed the joystick in Roll and Pitch direction. However, when I armed the vehicle and started the engine (motor interlock on), both servo 1 and servo 2 moved normally when I pushed the roll joystick (picture 1), but only servo 1 moving when I pushed the pitch joystick (picture 2)
Picture 1: Before engine running

Picture 2: During engine running

Could anyone help me if anything is going wrong in my system, please?
Thank you so much!

@kalhe85 It is best that you post a link to a log file. There are other things I would look at to make sure you set up is good. It also depends on the flight mode that is set.

Thanks a lot for your reply. Sorry for not posting the log earlier. This is the last log file of the vehicle: https://drive.google.com/file/d/18SejgiHlm04dMj8W2IujJTgLN51_AKaZ/view?usp=sharing. I did the check indoor so no information about GPS and time.

For a quick summary, if I moved the roll and pitch controller joystick before arming the vehicle, all 03 servos would move normally. However, if I moved the joystick after arming the vehicle and motor interlock ON, the servo 2 still moved normally with servo 1 in roll command (one up and one down), but only servo 1 and 3 moves with pitch command (so the Swashplate would pitch up but also tift to one side of the vehicle). I still could the changing of RC_out of servo 2 in the log, but with a very small amount when comparing to roll command and servo 1 output. I tested in stabilize mode.

@kalhe85 I looked over your parameters just to make sure there wasn’t anything out of the ordinary. The only thing that I can think of that would cause this is the PIDs. After you enable motor interlock, the integrator is now active and since the default I gain in pitch and roll is so high, it has a huge impact on the servos if there is any pitch and roll. I would suggest that you zero the rate P, rate I and rate D terms for pitch and roll.
ATC_RAT_PIT_P
ATC_RAT_PIT_I
ATC_RAT_PIT_D
ATC_RAT_RLL_P
ATC_RAT_RLL_I
ATC_RAT_RLL_D

Change the VFF terms for pitch and roll to 0.15.
ATC_RAT_PIT_VFF
ATC_RAT_RLL_VFF

Try your test. They should behave as you expect. for your first flight I would suggest that you leave the VFF values at 0.15 and change the P and D terms back to the defaults. Lastly I would make the I term 0.05 initially. In 4.2, I changed the defaults to better values than what was loaded with your version (4.1.2)

By the way I would recommend loading at least 4.1.5 which is the latest point release of 4.1 or upgrade to 4.2.2 when it comes out in a week. 4.2.2 has the heli autotune feature. Please be sure that it is 4.2.2. There was a bug in autotune in 4.2.1 which was fixed in 4.2.2 so it is important that you wait for 4.2.2 if you upgrade to 4.2. Hopefully that makes sense.

@bnsgeyer Thanks a lot for your kind support. I really appreciated it. I will check the system and give some feedback if there is any problem.

1 Like

Hi @bnsgeyer I need some additional support with my setup.


(I corrected the thrust vector)
As shown in the above photo, the setup has the H3R-120 swashplates configuration. It uses brushless motor for tail control. The thrust direction is to the left. Therefore, I tried to set the parameters in H_ as follows:
H_SW_TYPE = 3
H_TAIL_TYPE = 4 (since the tail motor would push the vehicle in CCW direction from the top view)
H_SW_COL_DIR =1 (since the servo direction were wrong when I pulled up the throttle stick)

After that, I check the direction of all servos on the ground and was able to confirm:

  • The location of each servo 1,2,3 was the same as the photos - 3 in front, 2 on the left and 1 on the right (I checked by disabling each servo output so see if the servo setting were correct or not)
  • The movement of 03 servos were correct when I pull up the throttle stick (both raised up if I pulled up the throttle stick)
  • The movement of 03 servos were correct when I controlled the elevator and aileron stick (1,2 up and 3 down when pitch up, 2 up and 1 down when roll right).
  • The rotation speed of the yaw motor was correct when I use the yaw stick (yaw right and the speed decreased so the tail would move left → nose move right)
  • In stabilization mode, the movement of 03 servos were correct when I tried to push the whole airframe pitching up, down and tilt left, right (nose down => 3 up, 1,2 down/ tilt right => 1 up, 2 down for example). The speed of yaw motor was also correct when I moved the tail (speed up when I move the tail to the left)
    => So I think the actuator wiring and parameter setting should not have any problem.

However, as I mentioned in previous post, after I armed the vehicle and do the motor interlock ON, when I pushed the aileron stick, servo 1,2 moved normally. When I pushed the elevator stick up, the servo 3 down and servo 1,2 up, but the servo 1’s movement was much smaller than the servo 2’s movement, so the swashplates also tilted a little right (so sorry I made mistake about servo number in previous post).

As I understand, the difference between movement of servo 1,2 is to against the thrust made by tail motor, so the vehicle would be stable in left-right movement, is that correct? However, in my current setup, both tail motor thrust and the tilt angle of swashplates would make the helicopter move to the right, not to balance the vehicle. Could you please help me to confirm if there were any thing wrong with my setting?

P/S: this helicopter is my friend’s and I’m helping him to setup an autopilot on it. In fact, we successfully flied it in stabilization mode one time with Arduheli (the vehicle could take-off and hover for a few minutes manually, you can check the flight log for more info. In this log, in 09:25:19, we did some servos test before flight and both servo 1 and 2 moved normally (same amount) when we pushed the elevator stick. (https://drive.google.com/file/d/1a6QFr7rB7CnyWsavv72NRosqhD0KGf8p/view?usp=sharing).

However, the old servos failed and we had to change all of them with newer and better ones. After installing new servos, all servo movement were wrong and we had to reverse the direction by mission planner.

Which way does the main rotor spin when viewed from above? Does the thrust direction show the vector of the tail thrust or the direction of the air that the propeller is moving.
H_TAIL_TYPE = 3 is for rotors that turn clockwise when viewed from above
H_TAIL_TYPE = 4 is for rotors that turn counter clockwise when viewed from above

based on the tailrotor thrust direction above I would say your main rotor turns clockwise like most RC heli’s and therefore you need to be using H_TAIL_TYPE =3

When viewed from above, the main motor spin in counterclockwise (CCW) direction. The thrust direction show the air that the propeller is moving (so sorry for the misunderstanding). Therefore, I think that the H_TAIL_TYPE = 4 is correct. So, the behavior of servo 1,2 when pushing pitch stick with Motor Interlock ON is normal or not? could you please confirm for me?

Thank you so much for your support

I am not sure I can comment on the servo one and two of the swashplate but in the parameters your parameter called ATC_HOVR_ROL_TRM should be a negative number. This is due to the fact that your heli will hover with a left roll angle in a hover. So I think what you were referring to in the difference of servo one and two is that your swash plate currently is tilting right when it should tilt left because of the counter rotating rotor

1 Like

Hi Bill,
I tried to modify the ATC_HOVR_ROL_TRM to zero (0) but the servo behaviors are stills the same: asymmetry movement of servo 1 and servo 2 (left and right rear servos) in pitch control.


The log: https://drive.google.com/file/d/1ezySNNF1ljDo0sMSCrVxGn8WKJ8RwRCV/view?usp=sharing
Is there any other parameters that should control this behaviors? I tried to track the parameter change in the logs during our tests but could not find anything different in ATC_ and H_ parameter before and after replace the servos.