Micro tuning techniques - different than larger quads


#101

No problem I will post when I get a chance … However tuning silverware has a much smaller open window for success, and it is not likely my tune will work well on your build. In fact, my tune will great on 55mm props was horrible on 65mm props with everything else the same. I think it is great derail and tuning silverware may be a great thread all on its own. I made a couple code changes too and there are some other silverware specific features that need attention to mimic what we have control over with betaflight. When I get a chance to open that discussion, I’ll tag you in it and we can all tune together!


#102

I’m having an issue tuning out my alien.
I can set it so that i have a solid "stay where i put it"
yet in a bank it auto levels out slowly.
Ive tried decreasing and increasing “i” and it seems not to help it stay at the angle i put it in a bank.
still i have to fight a slow level out.

any suggestions?
thanks so much


#103

I have to agree with you. The change in response is really a wow factor. It just feels so much more responsive and almost like it shed a few grams of weight. Currently, 2 of my microscisky builds (6mm and 8.5) are flying amazingly well with no filters. Only D-term is enabled and if I had a blackbox (or any other color :slight_smile: ) I might actually be able to tune D-term without employing my current method (SWAG)…


#104

Keep raising I, what are more details on your build? Where are your pids now?


#105

i stoped at 120 “i” and 52 p with 32 d.
it seems that no change was really happening with the banks.
the stick input/stops would get more wobble is all.

i reset the pids after that and took a break.
i felt like i was getting nowhere

alien wii
90mm
fpv
8.5mm chaoli


#106

Thanks NotFastEnough.

To be honest my quad sounds quite similar to yours, 55mm props (did try 65mm KingKongs but it was too powerful) and a few changes to the motor frequencies etc. It’ll be really helpful as Silverware is not as intuitive but it’s still pretty amazing. Looking forward to the thread.


#107

In my opinion your P is way too low to give the pid controller authority over external forces like wind and momentum in a banked corner. I think you need higher P so that when I askes for a change - the change will be applied with more force. Now keep in mind that with higher P, you will need higher D also. Try P at 90, I at 55, and D at 65. Don’t be surprised if D needs to be raised higher than P at these larger values. I would honestly put P at 90 and D at 85 or 90 or maybe even 100 looking for a decent ride and then tune up higher from there using the techniques outlined above - pick a windy day and keep cranking P up till the big bobbles become tight oscillations with high frequency in straight and level flight. Then raise D up as high as it needs to go to smooth out the tight oscillations into a butter smooth ride. I wouldn’t think that when you give the Pid controller more authority to make changes with higher P, that you would ever need I over 65.


#108

Feel free to give it a shot in the mean time. Are you using the open micro or the h8 version of the code? I will say that I explored a process using debug mode to center the sticks properly with my transmitter subtrim. I added code for a rc deadband. I added code to hold back a little thrust at the top end of the throttle range for the PID controller to have more room to keep the craft level in punchouts… and I feel like there was something else too. I will revisit this soon as I have switched to actual 2s rated brushed motors and my weight carries too much momentum into corners with 55mm props to keep turns tight. Ive had to prop up to 65mm and it flies like garbage with these PIDS. Severe bounceback at the end of rolls. I either need smaller batteries to get my weight down and keep my tune, or I need to go through it all over again. There is something also about setpoint weighting in silverware that I haven’t explored yet too. It looks like we can choose setpoint weighting for P, I, and D but I will probably ask silverXXX about this and review the code before making changes there. Have fun and give it a try!

// Kp ROLL PITCH YAW
float pidkp[PIDNUMBER] = { 13.0e-2 , 13.0e-2 , 8e-1 };

// Ki ROLL PITCH YAW
float pidki[PIDNUMBER] = { 10e-1 , 10e-1 , 8e-1 };

// Kd ROLL PITCH YAW
float pidkd[PIDNUMBER] = { 14e-1 , 14e-1 , 10e-1 };


#109

Thanks. I’m using the Open Micro and a Devo 7E and need a severe throttle controller. Yes, you’re right about the punchouts, stock PIDs make it fly like a pig. I’m rocking lower PIDs

// Kp ROLL PITCH YAW
float pidkp[PIDNUMBER] = { 9.0e-2 , 9.0e-2 , 4e-1 };

// Ki ROLL PITCH YAW
float pidki[PIDNUMBER] = { 2e-1 , 2e-1 , 1e-1 };

// Kd ROLL PITCH YAW
float pidkd[PIDNUMBER] = { 8e-1 , 8e-1 , 5e-1 };

It has been ok but not feeling locked in. Anyway, I eagerly await the thread and hopefully there’ll be communication between the two forums :slight_smile:


#110

so when raising p…
do i want tight wobbles only in forehead flight and not hover?
thanks


#111

Yes, fly forward leisurely under fpv, just cruise around. The wind will cause big bobbles in your otherwise smooth flight. Raise p till those big bumps become tight oscillations. You need external forces on the quad for this to work so find wind and be moving. Go up higher if it feels calm close to the ground.


#112

Jumped in and did this tonight too with the filtering. Started on my e010s. It just flew like crap compared to my makerfire or my beecore. Same tune, swapped motors, nothing explained it but the board. It’s pid loop limit is 4k and I get 8k on the other 2. So, as we have all learned, pid loop and gyro sampling is only one source of latency. I changed d low pass to pt1, and removed the gyro notch filters. Based on previous experience with d term notch closing the tuning window - I left that one in. Low and behold it feels like the other 2 boards running 8k while only being able to crank out 4k. Finally happy with that thing now.

Next on the list is the 8.5 scisky brushed. Gave it the same treatment. Hover in the garage indicates no obvious problems so I’m looking forward to flying it tomorrow. It has been one of the best feeling rigs I have ever flown lately … will be hard pressed to improve on its performance but I’m excited to see if it does.


#113

I tried to get my ultralight tuned via this method, but I think it might just be too light to deal with messy wind type air.
It’s better indoors than it was before I messed with it, but it’s still not great outside.

Admittedly all I really seem to do with whoop type things outside is break them, so it might be a good thing if it only flies right indoors.

I need to see if the kid’s school will let me fly in the gym, that’d be an amazing place to take a whack at the pylon racing.


#114

Didn’t really notice any wow factor on the 8.5mm. It was flying as good as can be expected anyway. If I land flat after a maneuver, maybe the prop wash is a little less or it pushes a little deeper before getting into it… but if I’m on point with the sticks, it’s doing fine for me. At least it didn’t show a problem I will leave it be, it’s probably a little better. I’ve been flying multirotors since before active braking was was a thing in brushless so I’ve sort of developed flying style of avoiding dirty air anyway. It will be interesting to see how it does on the next windy day. Previously I could hear tight oscillation in wind but could not see them on camera… look forward to seeing if those oscillations that were right on the edge in wind now show in the camera, sound less intense, or if there is no change.


#115

hey @NotFastEnuf , I am finally able to post a CLI dump of the crook 110 …

CLI

dump

Betaflight / MULTIFLITEPICO 3.1.6 Feb 21 2017 / 14:30:51 (1fd502c)

name -
resource BEEPER 1 C15
resource MOTOR 1 A06
resource MOTOR 2 A07
resource MOTOR 3 A11
resource MOTOR 4 A12
resource MOTOR 5 B08
resource MOTOR 6 B09
resource MOTOR 7 A02
resource MOTOR 8 A03
resource MOTOR 9 NONE
resource MOTOR 10 NONE
resource MOTOR 11 NONE
resource MOTOR 12 NONE
resource SERVO 1 NONE
resource SERVO 2 NONE
resource SERVO 3 NONE
resource SERVO 4 NONE
resource SERVO 5 NONE
resource SERVO 6 NONE
resource SERVO 7 NONE
resource SERVO 8 NONE
resource PPM 1 A00
resource PWM 1 A00
resource PWM 2 A01
resource PWM 3 B11
resource PWM 4 B10
resource PWM 5 B04
resource PWM 6 B05
resource PWM 7 B00
resource PWM 8 B01
resource SONAR_TRIGGER 1 B00
resource SONAR_ECHO 1 B01
resource LED_STRIP 1 A08
resource SERIAL_TX 1 A09
resource SERIAL_TX 2 A14
resource SERIAL_TX 3 B10
resource SERIAL_TX 4 NONE
resource SERIAL_TX 5 NONE
resource SERIAL_TX 6 NONE
resource SERIAL_TX 7 NONE
resource SERIAL_TX 8 NONE
resource SERIAL_TX 9 NONE
resource SERIAL_TX 10 NONE
resource SERIAL_TX 11 NONE
resource SERIAL_TX 12 NONE
resource SERIAL_RX 1 A10
resource SERIAL_RX 2 A15
resource SERIAL_RX 3 B11
resource SERIAL_RX 4 NONE
resource SERIAL_RX 5 NONE
resource SERIAL_RX 6 NONE
resource SERIAL_RX 7 NONE
resource SERIAL_RX 8 NONE
resource SERIAL_RX 9 NONE
resource SERIAL_RX 10 NONE
resource SERIAL_RX 11 NONE
resource SERIAL_RX 12 NONE
mixer QUADX

mmix reset

servo 0 1000 2000 1500 90 90 100 -1
servo 1 1000 2000 1500 90 90 100 -1
servo 2 1000 2000 1500 90 90 100 -1
servo 3 1000 2000 1500 90 90 100 -1
servo 4 1000 2000 1500 90 90 100 -1
servo 5 1000 2000 1500 90 90 100 -1
servo 6 1000 2000 1500 90 90 100 -1
servo 7 1000 2000 1500 90 90 100 -1
smix reset

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 -OSD
feature -BLACKBOX
feature -CHANNEL_FORWARDING
feature -TRANSPONDER
feature -AIRMODE
feature -SDCARD
feature -VTX
feature -RX_SPI
feature -SOFTSPI
feature -ESC_SENSOR
feature VBAT
feature RX_SERIAL
feature FAILSAFE
beeper GYRO_CALIBRATED
beeper RX_LOST
beeper RX_LOST_LANDING
beeper DISARMING
beeper ARMING
beeper ARMING_GPS_FIX
beeper BAT_CRIT_LOW
beeper BAT_LOW
beeper GPS_STATUS
beeper RX_SET
beeper ACC_CALIBRATION
beeper ACC_CALIBRATION_FAIL
beeper READY_BEEP
beeper MULTI_BEEPS
beeper DISARM_REPEAT
beeper ARMED
beeper SYSTEM_INIT
beeper ON_USB
map TAER1234
serial 0 1 115200 57600 0 115200
serial 1 0 115200 57600 0 115200
serial 2 64 115200 57600 0 115200
led 0 0,0::C:0
led 1 0,0::C:0
led 2 0,0::C:0
led 3 0,0::C:0
led 4 0,0::C:0
led 5 0,0::C:0
led 6 0,0::C:0
led 7 0,0::C:0
led 8 0,0::C:0
led 9 0,0::C:0
led 10 0,0::C:0
led 11 0,0::C:0
led 12 0,0::C:0
led 13 0,0::C:0
led 14 0,0::C:0
led 15 0,0::C:0
led 16 0,0::C:0
led 17 0,0::C:0
led 18 0,0::C:0
led 19 0,0::C:0
led 20 0,0::C:0
led 21 0,0::C:0
led 22 0,0::C:0
led 23 0,0::C:0
led 24 0,0::C:0
led 25 0,0::C:0
led 26 0,0::C:0
led 27 0,0::C:0
led 28 0,0::C:0
led 29 0,0::C:0
led 30 0,0::C:0
led 31 0,0::C:0
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
mode_color 0 0 1
mode_color 0 1 11
mode_color 0 2 2
mode_color 0 3 13
mode_color 0 4 10
mode_color 0 5 3
mode_color 1 0 5
mode_color 1 1 11
mode_color 1 2 3
mode_color 1 3 13
mode_color 1 4 10
mode_color 1 5 3
mode_color 2 0 10
mode_color 2 1 11
mode_color 2 2 4
mode_color 2 3 13
mode_color 2 4 10
mode_color 2 5 3
mode_color 3 0 8
mode_color 3 1 11
mode_color 3 2 4
mode_color 3 3 13
mode_color 3 4 10
mode_color 3 5 3
mode_color 4 0 7
mode_color 4 1 11
mode_color 4 2 3
mode_color 4 3 13
mode_color 4 4 10
mode_color 4 5 3
mode_color 5 0 9
mode_color 5 1 11
mode_color 5 2 2
mode_color 5 3 13
mode_color 5 4 10
mode_color 5 5 3
mode_color 6 0 6
mode_color 6 1 10
mode_color 6 2 1
mode_color 6 3 0
mode_color 6 4 0
mode_color 6 5 2
mode_color 6 6 3
mode_color 6 7 6
mode_color 6 8 0
mode_color 6 9 0
mode_color 6 10 0
mode_color 7 0 3
aux 0 0 0 975 1325
aux 1 27 0 975 1325
aux 2 1 1 1375 1700
aux 3 12 1 975 1325
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 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
adjrange 12 0 0 900 900 0 0
adjrange 13 0 0 900 900 0 0
adjrange 14 0 0 900 900 0 0
rxrange 0 1000 2000
rxrange 1 1000 2000
rxrange 2 1000 2000
rxrange 3 1000 2000
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
set task_statistics = ON
set mid_rc = 1500
set min_check = 1100
set max_check = 1900
set rssi_channel = 0
set rssi_scale = 30
set rc_interp = AUTO
set rc_interp_ch = RP
set rc_interp_int = 19
set rssi_ppm_invert = OFF
set input_filtering_mode = OFF
set fpv_mix_degrees = 0
set max_aux_channels = 14
set debug_mode = NONE
set min_throttle = 1020
set max_throttle = 2000
set min_command = 1000
set digital_idle_percent = 4.500
set 3d_deadband_low = 1406
set 3d_deadband_high = 1514
set 3d_neutral = 1460
set 3d_deadband_throttle = 50
set use_unsynced_pwm = OFF
set motor_pwm_protocol = BRUSHED
set motor_pwm_rate = 32000
set disarm_kill_switch = ON
set gyro_cal_on_first_arm = OFF
set auto_disarm_delay = 5
set small_angle = 25
set fixedwing_althold_dir = 1
set reboot_character = 82
set serial_update_rate_hz = 100
set gps_provider = NMEA
set gps_sbas_mode = AUTO
set gps_auto_config = ON
set gps_auto_baud = OFF
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 beeper_inversion = ON
set beeper_od = OFF
set serialrx_provider = SPEK2048
set sbus_inversion = ON
set spektrum_sat_bind = 9
set spektrum_sat_bind_autorst = 1
set tlm_switch = OFF
set tlm_inversion = ON
set sport_halfduplex = ON
set frsky_default_lat = 0.000
set frsky_default_long = 0.000
set frsky_gps_format = 0
set frsky_unit = IMPERIAL
set frsky_vfas_precision = 0
set frsky_vfas_cell_voltage = OFF
set hott_alarm_int = 5
set pid_in_tlm = OFF
set bat_capacity = 0
set vbat_scale = 100
set vbat_max_cell_voltage = 44
set vbat_min_cell_voltage = 32
set vbat_warning_cell_voltage = 33
set vbat_hysteresis = 1
set ibat_scale = 400
set ibat_offset = 0
set mwii_ibat_output = OFF
set current_meter_type = ADC
set battery_meter_type = ADC
set bat_detect_thresh = 55
set use_vbat_alerts = ON
set use_cbat_alerts = OFF
set cbat_alert_percent = 10
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 = 0
set gyro_lpf = OFF
set gyro_sync_denom = 4
set gyro_use_32khz = OFF
set gyro_lowpass_type = PT1
set gyro_lowpass = 90
set gyro_notch1_hz = 400
set gyro_notch1_cut = 300
set gyro_notch2_hz = 200
set gyro_notch2_cut = 100
set moron_threshold = 48
set imu_dcm_kp = 2500
set imu_dcm_ki = 0
set alt_hold_deadband = 40
set alt_hold_fast_change = ON
set deadband = 2
set yaw_deadband = 2
set thr_corr_value = 0
set thr_corr_angle = 800
set yaw_control_direction = 1
set yaw_motor_direction = 1
set servo_center_pulse = 1500
set tri_unarmed_servo = ON
set servo_lowpass_hz = 400
set servo_lowpass = OFF
set servo_pwm_rate = 50
set gimbal_mode = NORMAL
set channel_forwarding_start = 4
set airmode_start_throttle = 1350
set failsafe_delay = 2
set failsafe_off_delay = 0
set failsafe_throttle = 1000
set failsafe_kill_switch = OFF
set failsafe_throttle_low_delay = 100
set failsafe_procedure = DROP
set rx_min_usec = 885
set rx_max_usec = 2115
set acc_hardware = AUTO
set acc_lpf_hz = 10
set accxy_deadband = 40
set accz_deadband = 40
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 baro_hardware = NONE
set mag_hardware = NONE
set mag_declination = 0
set pid_process_denom = 1
set blackbox_rate_num = 1
set blackbox_rate_denom = 1
set blackbox_device = SERIAL
set blackbox_on_motor_test = OFF
set magzero_x = 0
set magzero_y = 0
set magzero_z = 0
set ledstrip_visual_beeper = OFF
set displayport_msp_col_adjust = 0
set displayport_msp_row_adjust = 0
profile 0

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 yaw_p_limit = 500
set pidsum_limit = 0.500
set d_lowpass_type = BIQUAD
set d_lowpass = 100
set d_notch_hz = 260
set d_notch_cut = 160
set vbat_pid_gain = OFF
set pid_at_min_throttle = ON
set anti_gravity_thresh = 350
set anti_gravity_gain = 1.000
set setpoint_relax_ratio = 20
set d_setpoint_weight = 100
set yaw_accel_limit = 10.000
set accel_limit = 0.000
set iterm_windup = 50
set yaw_lowpass = 0
set p_pitch = 55
set i_pitch = 25
set d_pitch = 30
set p_roll = 40
set i_roll = 30
set d_roll = 27
set p_yaw = 84
set i_yaw = 47
set d_yaw = 20
set p_alt = 50
set i_alt = 0
set d_alt = 0
set p_level = 50
set i_level = 50
set d_level = 100
set p_vel = 55
set i_vel = 55
set d_vel = 75
set level_sensitivity = 55
set level_limit = 55
rateprofile 0
rateprofile 0

set rc_rate = 120
set rc_rate_yaw = 100
set rc_expo = 0
set rc_yaw_expo = 0
set thr_mid = 50
set thr_expo = 0
set roll_srate = 73
set pitch_srate = 73
set yaw_srate = 68
set tpa_rate = 10
set tpa_breakpoint = 1650

if you dont have time to look it over, no worries! :smiley: but any suggestions would be greatly appreciated… I am going to install a new set of dark edition motors and props 2moro on it probably - just plugged into betaflight and did a motor test on all 4; front right motor is causing the rest to sag greatly…

I’ll try to count how many flights I can get out of the next set (wont be flying as hard - and crashing as much because im broke and cant afford motors until a month or so from now…) I got about 50+ packs flown with this set tho - Im going to try to shoot for 100+ flights on the next set lol gotta make them last! :smiley:


#116

Oh wow … we are gonna make you fall in love with your crook like you have never loved it before - just follow along and keep an open mind. First I have to ask - are you sure you like your stick feel the way it is? There is no right or wrong answer to that - I’m just curious if you’d like to address that in the makeover too. You have a lot of “feel” settings at defaults. It may actually be hard to tell with some of your settings and pids … we can address “feel” stuff after settings and pid corrections if you want to also explore that. Also what props are on it … afuntas?


#117

I’d like to add that on my best day - my past, present, or future self would never be able to hit the gaps you hit or run some of those lines on that tune… you are a freaking animal bro!


#118

thank you so much man, that is such an awesome compliment to get, especially coming from you man!

in terms of stick feel, i LOVE the way the crook is feeling… it is snappy, and sharp, even with minor stick inputs… but i usually can adjust to anything, so if things change up a little bit I can adapt!

#excited!


#119

also, i forgot to mention, yes I am running 55mm afuntas… for some reason 65mm gemfans were making the dark editions run excessively hot, like burn my finger hot, so i stuck with afunta 55mm props… so far those are the best props i have ever come across anyway, so i stocked up on black/green like crazy…


#120

Ok, I just needed to hear you describe what you like to get it there when we are done. Give me a little time to outline a plan. You want steps/stages? Or all at once?