I am trying to control my T-REX 250 with Pixracer. I will try to provide as much information as possible.
- The Helicopter is set up using the existing Blade 130x frame in QGC.
- Im using a Spektrum Dx8 for manual flight control.
- Calibrated the sensors and Radio.
- Edited the mixer according to the pitch and throttle curve using the data sheet of the T-REX 250.
- The helicopter produces Thrust, however the tail does not lock. The Helicopter seems to spin in anti-clockwise direction when I apply sufficient throttle for take off.
- When I move my channel 1 stick (ROLL) the rudder servo will move. However, when I am moving the channel 4 stick (YAW) the rudder will not move.
Above are all observations and steps I have taken. Below is a link of the log interpretation:
A sense of direction towards where I need to improve or a change is required in the system will be very helpful.
Hi @Junaid ,
It seems that the outputs of the controllers are not properly allocated to the servos. I don’t see a direct error in the mixer file but I will try to reproduce the problem on a PixRacer and will come back to you.
For completeness, the mixer configuration is here: https://github.com/PX4/Firmware/blob/master/ROMFS/px4fmu_common/mixers/blade130.main.mix
And the implementation of the mixer is in this file: https://github.com/PX4/Firmware/blob/master/src/lib/mixer/mixer_helicopter.cpp
Thank you @bresch for your attempt.
I have edited the mixer configuration already because the servo placement difference in the blade 130x and the T-REX 250. Blade 130 uses 140 degree swash plates, and the T-REX 250 uses the 120 degree swash plates according to my knowledge. Accordingly I edited the mixer file. The changes made are the servo angles, throttle and pitch curves according to the Data sheet of T-REX 250. I have attached a screenshot of the mixer file which is placed on the Micro SD card for the PixRacer:
I fear that the rudder servo might need to be re-configured because of the direction as the 130 and T-REX 250 do not share the same placement positioning of the rudder servo so I will be looking in to reversing the rudder servo signal.
Thank you for your guidance and help.
I replicated the setup on a pixracer to make sure that the mixer is properly running. By checking the pwm outputs, everything seems to be fine. As you said, the problem could be that the signal to the tail servo need to be reversed. To do so, just change the mixer as follows:
# Tail servo:
S: 0 2 -10000 -10000 0 -10000 10000
However, the thing that still confuses me is when you say:
When I move my channel 1 stick (ROLL) the rudder servo will move. However, when I am moving the channel 4 stick (YAW) the rudder will not move.
Are you sure that the RC calibration is correct? Do you see the correct sliders moving in the Radio tab of QGC?
Also, make sure to bench test the configuration in Acro mode first as reduces the complexity of the control system.
Thank you for the suggestion! The servo direction change seems to improve the situation. Now while the Helicopter is armed and I move it in circular directions manually and it is moving the servo in the correct direction to counter my manual movements by hand.
However, while I try to take off it will lose the tail hold and start circling in the anti-clockwise direction.
Am I right to conclude that now this has to do with the PID values in QGC?
The YAW channel is still unresponsive and I tried the ACRO flight mode (The last selection in the picture) as per your suggestion and and had the same issue with helicopter.
The sliders are moving correctly and I have double checked with the documentation that each motors are physically connected in the correct channel as well but the yaw still seems unresponsive…
Good to hear that it’s moving forward. Yes, if you see that the tail servo responds while manually turning the heli but that it spins in air, it can be that the yaw rate PID gains are too low.
However, it could also be that the mag drifts because of the magnetic field produced by the motor/power cables and that the heli actively follows the rotating compass. Check a new log file to see how good is the yaw tracking.
I will be tuning the PID gains today and will update you. However this is the link to link to the log from yesterday’s test after changing the servo directions:
I have got another concern. The swashplates is what I think could be causing this issue. Here are pictures of while arming the helicopter and while full throttle.
Once I have armed the helicopter this is how my swashplate looks like:
Once I apply full throttle this is how the swashplate looks like:
Can you please notify if this could be the reason why the drone starts rotating after 50 percent of more throttle? Unless I try to stabilize it using the elevator and roll the heli wont stop rotating.
Thanks for your help!
@bresch ! I have got the helicopter to tail lock. It works now after your suggestion!
@Junaid Congrats! Can you explain a bit what exactly solved the issue? Thanks!
Please also share a video showing the heli flying if possible
@bresch Thank you for your help! Appreciate it.
The issue was leveling the swash plates servos after solving the yaw locking.
It was a lesson. Lesson learnt after a broken torque tube, Tail boom brace set, Elevator servo, Feathering shaft and a few ball links. I know it sounds bad but I feel confident now.
Here is a screenshot from the video of before the first flight of the chopper:
And here is a screenshot of the chopper during the flight:
Thank you again for the help you provided.
Did you have an issue with the tail rotor being powered on by default when the heli is disarmed ? There is an issue here: https://github.com/PX4/Firmware/issues/13746 . Is this something you’ve encountered?