lkaino / Triflight

Triflight flight controller firmware for tricopters
http://rcexplorer.se
GNU General Public License v3.0
50 stars 19 forks source link

Cant control servo with 0.5b3 #36

Closed kristoferahlqvist closed 8 years ago

kristoferahlqvist commented 8 years ago

So I tried the new 0.5B3 today but I cant control the servo. It's all the way to the right and nothing happens when I use yaw. I cant tune the yaw with yawtuning either.

I use naze32 and a servo without feedback

kristoferahlqvist commented 8 years ago

Is there some change how yawtuning works while disarmed?

lkaino commented 8 years ago

Do you mean the servo setup in unarmed tail tune mode? It should work as before. I didn't test without feedback. Could you post your CLI dump?

kristoferahlqvist commented 8 years ago

Yeah unarmed tail tune mode. The servo does not move in either unarmed tail tune mode or when I move yaw stick when unarmed.

I have flashed back to 0.5b1 so that I could fly again. I will flash 0.5b3 again and post the dump later

Bengt-M commented 8 years ago

This is probably the same issue that was fixed in af7f2c76edfb7920fbefaffd2bd016c039797025, which was after 0.5b3. If you can build your own hex, the current master branch is better. Otherwise you have to do that tuning the old fashion way as described well by @LeoTheHuman:

Go to the servo tab of the configurator and enable “live mode”. Servo 5 is the tail servo for the tricopter, so we will only be working with its values. To test the deflection at the given value, set all three parameters (mid, min and max) to that value. ... I would recommend starting with the mid and min values. To find max start with the value of (mid * 2 - min), which should be spot on, but might need minor corrections to it. When you find the values for all three positions, put these into the corresponding fields of Servo 5 and click “Save”.

kristoferahlqvist commented 8 years ago

I tried to change the values in the servo tab but I dont know how to set it up when i cant get the servo to move while disarmed.

Another weird thing with 0.5b3 is that I cant arm in angle or horizon. Only in acro mode.

Here is the dump:

version

TriFlight 0.5 Beta 3/NAZE 1.12.0 May 22 2016 / 19:55:48 (536747b)

dump master

mixer

mixer TRI mmix reset smix reset

feature

feature -RX_PPM feature -VBAT feature -INFLIGHT_ACC_CAL feature -RX_SERIAL feature -MOTOR_STOP feature -SERVO_TILT feature -SOFTSERIAL feature -GPS feature -FAILSAFE feature -SONAR feature -TELEMETRY feature -CURRENT_METER feature -3D feature -RX_PARALLEL_PWM feature -RX_MSP feature -RSSI_ADC feature -LED_STRIP feature -DISPLAY feature -ONESHOT125 feature -BLACKBOX feature -CHANNEL_FORWARDING feature -TRANSPONDER feature RX_PPM feature MOTOR_STOP feature FAILSAFE feature ONESHOT125

map

map AETR1234

serial

serial 0 1 115200 57600 0 115200 serial 1 0 115200 57600 0 115200

led

led 0 15,15:ES:IA:0 led 1 15,8:E:WF:0 led 2 15,7:E:WF:0 led 3 15,0:NE:IA:0 led 4 8,0:N:F:0 led 5 7,0:N:F:0 led 6 0,0:NW:IA:0 led 7 0,7:W:WF:0 led 8 0,8:W:WF:0 led 9 0,15:SW:IA:0 led 10 7,15:S:WF:0 led 11 8,15:S:WF:0 led 12 7,7:U:WF:0 led 13 8,7:U:WF:0 led 14 7,8:D:WF:0 led 15 8,8:D:WF:0 led 16 8,9::R:3 led 17 9,10::R:3 led 18 10,11::R:3 led 19 10,12::R:3 led 20 9,13::R:3 led 21 8,14::R:3 led 22 7,14::R:3 led 23 6,13::R:3 led 24 5,12::R:3 led 25 5,11::R:3 led 26 6,10::R:3 led 27 7,9::R:3 led 28 0,0:::0 led 29 0,0:::0 led 30 0,0:::0 led 31 0,0:::0

color

color 0 0,0,0 color 1 0,255,255 color 2 0,0,255 color 3 30,0,255 color 4 60,0,255 color 5 90,0,255 color 6 120,0,255 color 7 150,0,255 color 8 180,0,255 color 9 210,0,255 color 10 240,0,255 color 11 270,0,255 color 12 300,0,255 color 13 330,0,255 color 14 0,0,0 color 15 0,0,0

set looptime = 1000 set emf_avoidance = OFF set i2c_highspeed = ON set gyro_sync = ON set gyro_sync_denom = 1 set mid_rc = 1500 set min_check = 1100 set max_check = 1900 set rssi_channel = 0 set rssi_scale = 30 set rssi_ppm_invert = OFF set rc_smoothing = OFF set input_filtering_mode = OFF set min_throttle = 1160 set max_throttle = 1850 set min_command = 1000 set servo_center_pulse = 1500 set 3d_deadband_low = 1406 set 3d_deadband_high = 1514 set 3d_neutral = 1460 set 3d_deadband_throttle = 50 set motor_pwm_rate = 400 set servo_pwm_rate = 50 set retarded_arm = OFF set disarm_kill_switch = ON set auto_disarm_delay = 5 set small_angle = 25 set fixedwing_althold_dir = 1 set reboot_character = 82 set gps_provider = NMEA set gps_sbas_mode = AUTO set gps_auto_config = ON set gps_auto_baud = OFF set serialrx_provider = SPEK1024 set sbus_inversion = ON set spektrum_sat_bind = 0 set telemetry_switch = OFF set telemetry_inversion = OFF set frsky_default_lattitude = 0.000 set frsky_default_longitude = 0.000 set frsky_coordinates_format = 0 set frsky_unit = IMPERIAL set frsky_vfas_precision = 0 set hott_alarm_sound_interval = 5 set battery_capacity = 0 set vbat_scale = 110 set vbat_max_cell_voltage = 43 set vbat_min_cell_voltage = 33 set vbat_warning_cell_voltage = 35 set current_meter_scale = 400 set current_meter_offset = 0 set multiwii_current_meter_output = OFF set current_meter_type = ADC set align_gyro = DEFAULT set align_acc = DEFAULT set align_mag = DEFAULT set align_board_roll = 0 set align_board_pitch = 0 set align_board_yaw = 90 set max_angle_inclination = 500 set gyro_lpf = 188HZ set gyro_soft_lpf = 60.000 set moron_threshold = 32 set imu_dcm_kp = 2500 set imu_dcm_ki = 0 set yaw_control_direction = 1 set pid_at_min_throttle = ON set airmode_saturation_limit = 50 set yaw_motor_direction = 1 set yaw_jump_prevention_limit = 200 set tri_unarmed_servo = ON set servo_lowpass_freq = 400.000 set servo_lowpass_enable = OFF set tri_servo_angle_at_max = 400 set tri_tail_motor_thrustfactor = 138 set tri_tail_servo_speed = 300 set tri_servo_feedback = VIRTUAL set tri_motor_acc_yaw_correction = 10 set tri_motor_acceleration = 0.180 set failsafe_delay = 10 set failsafe_off_delay = 200 set failsafe_throttle = 1000 set failsafe_kill_switch = OFF set failsafe_throttle_low_delay = 100 set failsafe_procedure = 0 set rx_min_usec = 885 set rx_max_usec = 2115 set acc_hardware = 0 set baro_hardware = 0 set mag_hardware = 0 set blackbox_rate_num = 1 set blackbox_rate_denom = 1 set blackbox_device = SERIAL set magzero_x = 0 set magzero_y = 0 set magzero_z = 0

rxfail

rxfail 0 a rxfail 1 a rxfail 2 a rxfail 3 a rxfail 4 h rxfail 5 h rxfail 6 h rxfail 7 h rxfail 8 h rxfail 9 h rxfail 10 h rxfail 11 h rxfail 12 h rxfail 13 h rxfail 14 h rxfail 15 h rxfail 16 h rxfail 17 h

dump profile

profile

profile 0

aux

aux 0 1 0 900 1300 aux 1 2 0 1300 1700 aux 2 0 0 900 900 aux 3 0 0 900 900 aux 4 0 0 900 900 aux 5 0 0 900 900 aux 6 0 0 900 900 aux 7 0 0 900 900 aux 8 0 0 900 900 aux 9 0 0 900 900 aux 10 0 0 900 900 aux 11 0 0 900 900 aux 12 0 0 900 900 aux 13 0 0 900 900 aux 14 0 0 900 900 aux 15 0 0 900 900 aux 16 0 0 900 900 aux 17 0 0 900 900 aux 18 0 0 900 900 aux 19 0 0 900 900

adjrange

adjrange 0 0 0 900 900 0 0 adjrange 1 0 0 900 900 0 0 adjrange 2 0 0 900 900 0 0 adjrange 3 0 0 900 900 0 0 adjrange 4 0 0 900 900 0 0 adjrange 5 0 0 900 900 0 0 adjrange 6 0 0 900 900 0 0 adjrange 7 0 0 900 900 0 0 adjrange 8 0 0 900 900 0 0 adjrange 9 0 0 900 900 0 0 adjrange 10 0 0 900 900 0 0 adjrange 11 0 0 900 900 0 0

rxrange

rxrange 0 1000 2000 rxrange 1 1000 2000 rxrange 2 1000 2000 rxrange 3 1000 2000

servo

servo 0 1000 2000 1500 45 45 100 -1 servo 1 1000 2000 1500 45 45 100 -1 servo 2 1000 2000 1500 45 45 100 -1 servo 3 1000 2000 1500 45 45 100 -1 servo 4 1000 2000 1500 45 45 100 -1 servo 5 1500 2000 1500 45 45 100 -1 servo 6 1000 2000 1500 45 45 100 -1 servo 7 1000 2000 1500 45 45 100 -1 smix reverse 5 2 r

set gps_pos_p = 15 set gps_pos_i = 0 set gps_pos_d = 0 set gps_posr_p = 34 set gps_posr_i = 14 set gps_posr_d = 53 set gps_nav_p = 25 set gps_nav_i = 33 set gps_nav_d = 83 set gps_wp_radius = 200 set nav_controls_heading = ON set nav_speed_min = 100 set nav_speed_max = 300 set nav_slew_rate = 30 set alt_hold_deadband = 40 set alt_hold_fast_change = ON set deadband = 5 set yaw_deadband = 9 set throttle_correction_value = 0 set throttle_correction_angle = 800 set default_rate_profile = 0 set gimbal_mode = NORMAL set acc_cut_hz = 15 set accxy_deadband = 40 set accz_deadband = 40 set accz_lpf_cutoff = 5.000 set acc_unarmedcal = ON set acc_trim_pitch = 0 set acc_trim_roll = 0 set baro_tab_size = 21 set baro_noise_lpf = 0.600 set baro_cf_vel = 0.985 set baro_cf_alt = 0.965 set mag_declination = 0 set pid_delta_method = MEASUREMENT set pid_controller = LUX set p_pitch = 38 set i_pitch = 23 set d_pitch = 20 set p_roll = 40 set i_roll = 24 set d_roll = 30 set p_yaw = 70 set i_yaw = 10 set d_yaw = 35 set p_pitchf = 1.400 set i_pitchf = 0.400 set d_pitchf = 0.035 set p_rollf = 1.500 set i_rollf = 0.400 set d_rollf = 0.042 set p_yawf = 2.500 set i_yawf = 0.800 set d_yawf = 0.050 set level_horizon = 3.000 set level_angle = 5.000 set sensitivity_horizon = 75 set p_alt = 50 set i_alt = 0 set d_alt = 0 set p_level = 20 set i_level = 10 set d_level = 100 set p_vel = 120 set i_vel = 45 set d_vel = 1 set yaw_p_limit = 500 set dterm_cut_hz = 40.000 set gtune_loP_rll = 10 set gtune_loP_ptch = 10 set gtune_loP_yw = 10 set gtune_hiP_rll = 100 set gtune_hiP_ptch = 100 set gtune_hiP_yw = 100 set gtune_pwr = 0 set gtune_settle_time = 450 set gtune_average_cycles = 16

dump rates

rateprofile

rateprofile 0

set rc_rate = 100 set rc_expo = 85 set rc_yaw_expo = 83 set thr_mid = 50 set thr_expo = 0 set roll_rate = 55 set pitch_rate = 55 set yaw_rate = 55 set tpa_rate = 45 set tpa_breakpoint = 1500 set tri_dynamic_yaw_minthrottle = 250 set tri_dynamic_yaw_maxthrottle = 60

Bengt-M commented 8 years ago

I see now that my previous response was wrong. Sorry. You have the latest version.

When I compare your settings with my own I see some differences:

your channel map is map AETR1234 Mine is TAER1234 Check so you use a map matching your radio.

servo_pwm_rate You have 50, I have 250 Guess it depends on servo.

align_board_pitch and align_board_yaw You have (0, 90), I have (180, 0) If you have an RCE copter with integrated NAZE you should change but maybe you have something custom built.

Your servo settings are different You have servo 5 1500 2000 1500 45 45 100 -1 Same value for min and mid can't be right.

You use smix reverse. If you have a standard RCE kit you should not. There have been issues reported about servo reversing so it's possible there is still a bug here. I would try reversing in the Tx instead but I'm not at all sure about that. Try a normal servo maybe?

And also: One big difference between acro and stabilised is that stabilised use the accelerometers. Try redo that calibration and check that the copter is about level when you start.

Hope something helps you.

kristoferahlqvist commented 8 years ago

To start with. Everything works fine with 0.5b1.

I use aetr1234 cause that's how my radio is setup and everything is correct in the receiver tab

I have 50 hz pwm rate cause I use an analog servo

I have a 3d printed tricopter and the fc is rotated so I can reach the USB so that's why I have 90 degree yaw offset

I have not been able to setup the servo settings cause I can't get it to move with 0.5b3.

I use six reverse to make the servo move correct direction

I'm aware of the difference between stab and acro. I have maybe twenty race multirotors before this tricopter.

The problem is the 0.5b3 firmware.

Issue 1: servo don't move when unarmed Issue 2: can't arm with stabilised flight modes

Bengt-M commented 8 years ago

You have no idea how many people start by ignoring half of the instructions and then complain about the performance. You seem to know better. Good for you. Then I'm sure you also know that faultfinding cannot be successful in a system where the fault cannot be seen. My own tri arms and fly well in stabilised modes and bench tuning works as advertised. I use 0.5b3 so logically there must be some critical difference between my tri and your tri. HW or setup. It's impossible to guess; I tried to detail the differences between your dump and my dump so you could get some ideas. A likely alternative on my list is the reversing bug (which I don't think have been squashed for sure yet). Trying a different servo which doesn't need reversing has worked for other people. Actually, removing the reversing setting for a bench test might be helpful. It won't fly that way but maybe it can tell if this bug is still present. One big difference between 0.5b1 and 0.5b3 is the underlying Cleanflight version. If you like you can try with Cleanflight v1.12.0 and then V1.13. That could also give more info. No more ideas for now..

lkaino commented 8 years ago

@Bengt-M gave some good advise.

It might also be a problem with the virtual feedback as I haven't tested it. Are you Bengt also running a feedback wire?

kristoferahlqvist commented 8 years ago

First I'd like to thank you for your help Bengt. Seems like you were onto something with the servo reversing. Without servo reversing everything seems to works except that I can't move servo when unarmed.

But I can move it when tailtuning is activated so that's not really an issue.

The only issue now is that the servo goes wrong way

Bengt-M commented 8 years ago

I am not using the servo feedback wire. 0.5b2 had a bug but with 0.5b3 it works fine for me. Tuning and all.

My biggest problem now is that a tree close to my field very aggressively attacked my tri and brutally ripped off the logging connection. So now I have no USB either. But it still flies.

kristoferahlqvist commented 8 years ago

So how do I reverse servo with 0.5b3?

lkaino commented 8 years ago

Unfortunately you can't, see #11.

kristoferahlqvist commented 8 years ago

Bummer :(

lkaino commented 8 years ago

I'll close as duplicate.

lkaino commented 8 years ago

@kristoferahlqvist now it is possible to reverse the servo in the new alpha release

kristoferahlqvist commented 8 years ago

Great! Thank you!