Home › Forums › Everything about the Tricopter V4 › F3FC & iNav experiences
Tagged: GPS, iNav, Loiter, position hold SPF3, tricopter
- This topic has 163 replies, 22 voices, and was last updated 6 years, 2 months ago by Marlon.
-
AuthorPosts
-
7 September, 2016 at 21:36 #33056wilco1967Participant
Hi,
I had promised some time ago to write some notes about my experiences using the F3FC tricopter frame board with the great iNav software.
iNav releasesFor those who only fly cleanflight, and/or Triflight:
iNav is a branch of cleanflight, optimized for GPS functions.
It provides very reliable RTH, POS HOLD and ALT-hold functions, and also waypoint navigation.It does this, by combining ACC X/Y/Z information (inertial navigation) with the GPS / BARO information. Not simply GPS / Baro (without ACC) as the default Cleanflight / Triflight does.
I’m not saying, it is as good as for example a DJI Inspire in pos-hold, but it’s damn close…. The price difference makes that easy to accept….
For me, it easily manages to keep the location within ½ meter, even in quite strong winds. And this is using a cheap GPS (new one on the way).ALT-hold is also hugely superior to standard cleanflight. It uses ACC-Z acceleration data to ‘feel’ if the copter is moving up/down, before the baro even sees a variation.
The only thing ‘missing’ in iNav, is the improved tail servo control provided by tri-flight, but I’m pretty sure, sooner or later, this will be added.
I’m flying a V3 tricopter, just for slow FPV (no racing), so the lacking tail control improvements in triflight are not a big issue for me. I want autonomous flight, and a good reliable position hold…. RTH is nice to have.The iNav team did a very good job !
This all is very nice, BUT there is one great drawback.
Because of the high dependency from the iNav GPS / Althold functions on ACC sensor data (inertial navigation), it becomes very sensitive to vibrations.
MUCH more so than regular cleanflight / triflight (and I assume baseflight / betaflight / whatever).My tricopter V3 is already a few years old, and has seen its fair share of crashes…. Although the motors are pretty good quality T-motors, the prop adapters are not perfectly straight / balanced anymore. This never turned out to be a problem using cleanflight and an old Flip32 board (naze clone), but became a problem when using iNav in combination with the F3FC tricopter frame board.
The F3FC was added only recently to iNav thanks to Lauka/Ikaino. I also received a lot of help from digitalentity in troubleshooting the issues. Thanks again !
Originally, I flew iNav using the flip32 board. This board was mounted using doublesided tape to the frame (original tricopter V3 frame). This flew reasonably well… alt-hold wasn’t perfect, but still way better than original cleanflight.
Because of the limitations of the F1 processors (running out of memory), I decided to buy the F3FC. Very nice clean solution, with a minimum amount of wiring. And the F3 processor promises future expandability…
The F3FC tricopter frame however has one major drawback, and that is it is much more sensitive to vibrations because the controller IS the frame. (the loose F3FC board, i.e. NOT the tricopter frame, doesn’t have that issue).With the F3FC, It flew perfectly fine in acro / level mode, as well as GPS modes. It’s only problem was ALT hold….
When trying to hold altitude, it would shoot up in a number of short power bursts…. Each single burst lasting less than ½ a second… It would climb like 10..20 meters, (or even more, depending on alt-hold PID settings) before dropping back again, and then it would repeat.
It first puzzled me completely. I tried every possible combination of ALT and VEL P&ID’s, and it wouldn’t solve anything…. It randomly got these power bursts and would shoot up, regardless of settings.digitalentity already quite early suggested vibrations, but this didn’t seem like normal vibration issues to me. I’m flying different multicopters for nearly 5 years now, and this one has the least vibrations of all of them. And it never was a problem on any of them before. So I was initially a little reluctant to accept that.
In the blacklog files, you could see no vibrations on the gyro nor ACC readings when holding it down.
Only when flying, there we sections were it would show approx. 3 hz variations in ACC-Z values. ACC-X and ACC-Y values were not affected. The variations to ACC-Z seemed to originate from the real acceleration of the copter, rather than vibrations. I could clearly hear/see the motors fluctuating at approx. 3 hz.So far, my understanding of vibrations was to look for something in the order of magnitude of 100 hz… (not 3 hz). And there was nothing visible suggesting 100 Hz vibrations.
I’m running 900 kV motors using 9×5 props, on 3 or 4 cells… When hovering, the motors run something like 6000 RPM, which is 100 hz). Very far away from the 3 Hz ACC-Z cycle I saw in the blackbox logs.I tried many things to balance the motors, to exclude the possibility that it was vibrations after all, but I simply couldn’t get them better. The props are perfectly balanced.
I still think, my motors are just as good as most other copters out there…. Sure, they are not perfect, but still pretty ok.And when testing, while holding down the copter with my hand NOTHING showed up… Sure I could feel the motor vibrations, but it didn’t seem to have an significant effect on the vibration graphs (motor test tab in iNav configurator)
It was only when bk79 suggested to tie-down the copter, rather than holding it with my hand, that things became clear.
So I took a few large stones, and tied the copter to those using large ty-raps. Making sure to leave some play.
Initially, I still didn’t see the vibrations, but when really slowly increasing the throttle, I found there was one very distinct speed (approx. 1600us in my case on a 3S), where the ACC-Z readings would go completely crazy…. It was only a very narrow range (forget the exact numbers, but less the 30mS wide).. I was seeing ACC-Z values as low as 0.5 and as high as 1.5 (supposed to be 1.0 exactly).Now if that gets fed into the altitude information, no wonder the copter would respond like it did…. The strange thing was, it wasn’t visible when holding, and it happened only at one very specific motor speed.
And even more strange, it ALSO showed up when the props where removed….. The bearings are perfectly fine though… it seems to be the prop adapter that has a slight unbalance.
(yes, I tried adding tape to the props, and moving the orientation, to offset the slight unbalance in the adapter).It seems to be not a direct vibrations issue, but a resonance issue…. Somehow, it hit a resonant frequency of the ACC sensor, which causes it to go crazy on ACC-Z alone. ACC-X/Y nor the gyros where affected.
Also tried to filter it in software, but to no avail….My theory is (and that may be completely wrong) the resonance causes the sensor to exceed its maximum/minimum values, and the value is clamped internally by the sensor electronics (anything outside the measurable range cut-off / thrown away, or clamped at maximum value). Pure coincidence may be causing a few very high numbers to be discarded, while some of the lower ones happen to be just within limits. This would lead to an average which is way too low… And this shows up at a much lower frequency (3hz) as the vibrations / resonance that caused it in the first place (100 hz, or some harmonics).
Again, just my theory, and probably wrong, but it gives a convenient explanation on what it looks like 😉So the trick became to change / shift the resonance frequency sufficient, so it wouldn’t become a problem in flight.
Because isolating the flight controller board from the frame isn’t an option when the controller board IS the frame, I had to try to mechanically dampen the arms from the central frame / FC
I used some 3M VHB doublesided tape I had lying around…. This is the same stuff you often get to mount action cams to helmets, surf board, tricopters, etc….
I simply put some on top and below the arms, where it comes in contact with the frame plate. Don’t tighten the screws too much, because then it doesn’t work anymore….
That improved things already a lot, but not sufficient.
So I did the same also to the motors/arms… simply some of this 3M stuff between the arm and the motor holders, and not overtightening the screws too much….
It is still plenty rigid so the motors won’t fall off, but sufficiently ‘soft’ so the critical vibrations no longer cause the ACC-Z to go crazy….Now, it flies better than ever…. It holds altitude nearly perfect.
Let’s say, it holds altitude less than ½ meter variations in flight, and that mainly comes from the baro noise. Add something over the baro sensor to keep out wind (and also light)… Even though it is mounted inside the front spacer, it still wouldn’t hurt.Conclusions:
– relative minor vibrations can cause big problems, if they happen to cause resonance….
– iNav and also the F3FC board are much more sensitive for this, than other external boards (easier for vibration damping) or other firmware (not relying so heavily on inertial navigation).
– the same vibrations may not cause any problems on other firmware
– Vibrations MAY not show up immediately
– it is a hardware problem of the complete system (not just the FC or the motors, but an unlucky combination of the whole thing).…. Definitely not a software problem.
– the F3FC is a great board, but do understand it is inherently more susceptible to potential vibration issues.————
During my attempts to get iNav working, I ran into another ‘problem’, which others may also encounter, and took some time to find.
The F3FC has the barometer on board. This barometer (5611) is connected through the I2C bus.
For iNav, you also need a compass. This compass is usually mounted on the GPS mast, away from any power wiring. The compass must be connected to the I2C bus as well.In earlier years, when I still was using Multiwii, problems with the I2C bus always became clear when the I2C error counter would go crazy.
In cleanflight / iNav, sensor detection is a little more sophisticated, and the software will automatically detect which sensors are connected to the I2C bus.
The downside is, when the I2C bus is not optimal, the software may not ‘see’ one of the sensors on startup… So it will no longer try to communicate with it, and it seems ‘not connected’… there will however be no I2C errors (or only 1 or 2).
The strange thing was, it did detect the external compass just fine, but the build in barometer was ‘gone’…. In an earlier version of iNav (one of the pre-1.2 betas) it seemed to work just fine…. But then the programmers changes something in the way how the sensors were detected and it no-longer worked….It turned out the external compass I was using, has 10kOhm pull-up resistors installed….
The I2C bus always needs some pull-up resistors to work, but the overall value is important.
The F3FC board itself has already some build-in pull-up resistors installed. Those are 10 kOhm already, which is perfect.
However, when adding the external compass, with its additional resistors (now in parallel to the ones on the F3FC), made the overall resistance too low, which messed up the signal quality.
Apparently, the on-board barometer (5611) is a little more picky on its signal quality than the 5883 compass, so it wasn’t detected when the compass was connected…. The compass worked though.
The baro worked just fine again when I removed the compass wiring…The trick was simply to remove the pull-up resistors from the external compass, and everything started working just fine…. I2C only needs one set of pull up resistors….
You can find out if your external compass has pull-up resistors by measuring with a multimeter between the +5V pin and the SDA or SCL lines (with everything DISCONNECTED)… if it shows open loop (high resistance) it has no pull-ups…. If you measure 10 kOhm (or some other value), those are the pull-up resistors…. You need to find a way to remove them from the external compass (probably using a soldering iron).
—-
One more thing worth noting.
ACC calibration works different in iNav compared to cleanflight…. It has a 6 position calibration procedure described in the iNav Wiki.
sensor calibrationImportant to note: for calibration, the BOARD/sensors should be in the orientation mentioned, NOT the copter…. So you have to hold the board upside down (= electronics facing UP) in the first calibration step.
Please note: ‘normal’ for the board is electronics facing down.So the correct sequence for ACC calibration for the BOARD is:
1) up-side down 2) up-side up 3) usb up 4) tail down 5) usb down 6) nose downCheck the ACCgain values in the CLI are indeed no longer 4096 as mentioned in the Wiki…. it may SEEM to be correct on the 3D model even if the calibration failed, but if you wait long enough, you will notice it slowly drifts….
Check the ACCgain values !!!—-
Just as in Davids videos, the board orientation is 180 deg PITCH (so upside down).
However, please note, the iNav firmware uses different units. make sure to use the iNav configurator to set this. If using the cleanflight configurator, you should enter 1800, instead of 180 (10x) to get it correct….
just avoid the confusion, and use iNav configurator for everything.—-
For compass, you will have to experiment to find the proper orientation…. the old Multiwii rules on what to sensor changes to expect when moving are no longer valid…
There are only 8 possible compass orientations… only one will be correct…. just watch the 3D model when moving until it looks ‘right’.
mine turned out to be: set align_mag = CW180just make sure the compass and the flight controller move together (so properly mounted on the copter, not hanging loose on a wire).
—-
here are my settings….# version # INAV/RCEXPLORERF3 1.2.0 Aug 20 2016 / 13:45:47 (b21fec2) # pflags # Persistent config flags: 0x00000001 # 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 -AIRMODE feature -SUPEREXPO feature -VTX feature -RX_NRF24 feature -SOFTSPI feature RX_PPM feature VBAT feature GPS feature FAILSAFE feature TELEMETRY feature CURRENT_METER feature ONESHOT125 feature BLACKBOX # beeper 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 map TAER1234 # serial serial 20 1 115200 38400 0 115200 serial 0 2 115200 38400 0 115200 serial 1 32 115200 38400 0 115200 serial 2 129 115200 38400 0 115200 # led led 0 15,15:ES:AI:0 led 1 15,8:E:FW:0 led 2 15,7:E:FW:0 led 3 15,0:NE:AI:0 led 4 8,0:N:F:0 led 5 7,0:N:F:0 led 6 0,0:NW:AI:0 led 7 0,7:W:FW:0 led 8 0,8:W:FW:0 led 9 0,15:SW:AI:0 led 10 7,15:S:FW:0 led 11 8,15:S:FW:0 led 12 7,7:U:FW:0 led 13 8,7:U:FW:0 led 14 7,8:D:FW:0 led 15 8,8:D:FW: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::C:0 led 29 0,0::C:0 led 30 0,0::C:0 led 31 0,0::C: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 # mode_color 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 set looptime = 1000 set i2c_overclock = OFF set gyro_sync = OFF set gyro_sync_denom = 2 set mid_rc = 1500 set min_check = 1100 set max_check = 1900 set rssi_channel = 12 set rssi_scale = 30 set rssi_ppm_invert = OFF set rc_smoothing = ON set input_filtering_mode = OFF set min_throttle = 1150 set max_throttle = 2000 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 = 1000 set motor_pwm_rate = 400 set servo_pwm_rate = 50 set disarm_kill_switch = ON set auto_disarm_delay = 5 set small_angle = 25 set reboot_character = 82 set gps_provider = UBLOX set gps_sbas_mode = EGNOS set gps_dyn_model = AIR_1G set gps_auto_config = ON set gps_auto_baud = ON set inav_auto_mag_decl = ON set inav_accz_unarmedcal = ON set inav_use_gps_velned = OFF set inav_gps_delay = 200 set inav_gps_min_sats = 6 set inav_w_z_baro_p = 0.500 set inav_w_z_gps_p = 0.200 set inav_w_z_gps_v = 0.200 set inav_w_xy_gps_p = 1.000 set inav_w_xy_gps_v = 2.000 set inav_w_z_res_v = 0.500 set inav_w_xy_res_v = 0.500 set inav_w_acc_bias = 0.010 set inav_max_eph_epv = 1000.000 set inav_baro_epv = 100.000 set nav_disarm_on_landing = ON set nav_use_midthr_for_althold = OFF set nav_extra_arming_safety = OFF set nav_user_control_mode = CRUISE set nav_position_timeout = 5 set nav_wp_radius = 100 set nav_max_speed = 400 set nav_max_climb_rate = 500 set nav_manual_speed = 500 set nav_manual_climb_rate = 200 set nav_landing_speed = 200 set nav_land_slowdown_minalt = 500 set nav_land_slowdown_maxalt = 2000 set nav_emerg_landing_speed = 500 set nav_min_rth_distance = 500 set nav_rth_tail_first = OFF set nav_rth_alt_mode = AT_LEAST set nav_rth_altitude = 1000 set nav_mc_bank_angle = 30 set nav_mc_hover_thr = 1375 set nav_mc_auto_disarm_delay = 2000 set nav_fw_cruise_thr = 1400 set nav_fw_min_thr = 1200 set nav_fw_max_thr = 1700 set nav_fw_bank_angle = 20 set nav_fw_climb_angle = 20 set nav_fw_dive_angle = 15 set nav_fw_pitch2thr = 10 set nav_fw_roll2pitch = 75 set nav_fw_loiter_radius = 5000 set serialrx_provider = SBUS set spektrum_sat_bind = 0 set telemetry_switch = OFF set telemetry_inversion = ON 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 = 30 set current_meter_scale = 360 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 = CW180 set align_board_roll = 0 set align_board_pitch = 1800 set align_board_yaw = 0 set gyro_lpf = 42HZ set moron_threshold = 32 set imu_dcm_kp = 2500 set imu_dcm_ki = 50 set imu_dcm_kp_mag = 10000 set imu_dcm_ki_mag = 0 set pos_hold_deadband = 20 set alt_hold_deadband = 50 set yaw_motor_direction = 1 set yaw_jump_prevention_limit = 200 set tri_unarmed_servo = OFF set servo_lowpass_freq = 400 set servo_lowpass_enable = OFF set failsafe_delay = 10 set failsafe_off_delay = 200 set failsafe_throttle = 1300 set failsafe_kill_switch = OFF set failsafe_throttle_low_delay = 100 set failsafe_procedure = SET-THR set rx_min_usec = 885 set rx_max_usec = 2115 set acc_hardware = 0 set baro_use_median_filter = ON set baro_hardware = 0 set mag_hardware = 0 set blackbox_rate_num = 1 set blackbox_rate_denom = 5 set blackbox_device = SERIAL set magzero_x = 14 set magzero_y = -100 set magzero_z = -58 set acczero_x = -250 set acczero_y = -194 set acczero_z = 750 set ledstrip_visual_beeper = OFF set accgain_x = 4100 set accgain_y = 4091 set accgain_z = 4217 # 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 1300 1700 aux 1 4 2 1300 2100 aux 2 3 2 1300 2100 aux 3 10 2 1300 1700 aux 4 9 2 1800 2100 aux 5 24 1 1300 1700 aux 6 27 1 1800 2100 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 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 set nav_alt_p = 100 set nav_alt_i = 0 set nav_alt_d = 0 set nav_vel_p = 100 set nav_vel_i = 10 set nav_vel_d = 80 set nav_pos_p = 65 set nav_pos_i = 120 set nav_pos_d = 0 set nav_posr_p = 180 set nav_posr_i = 15 set nav_posr_d = 100 set nav_navr_p = 10 set nav_navr_i = 5 set nav_navr_d = 8 set deadband = 5 set yaw_deadband = 5 set throttle_tilt_comp_str = 0 set flaperon_throw_offset = 250 set flaperon_throw_inverted = OFF set mode_range_logic_operator = OR set default_rate_profile = 0 set gimbal_mode = NORMAL set mag_declination = 130 set mag_hold_rate_limit = 90 set p_pitch = 80 set i_pitch = 50 set d_pitch = 60 set p_roll = 80 set i_roll = 20 set d_roll = 60 set p_yaw = 100 set i_yaw = 40 set d_yaw = 100 set p_level = 20 set i_level = 15 set d_level = 75 set max_angle_inclination_rll = 300 set max_angle_inclination_pit = 300 set gyro_soft_lpf_hz = 60 set acc_soft_lpf_hz = 15 set dterm_lpf_hz = 40 set yaw_lpf_hz = 30 set yaw_p_limit = 300 set iterm_ignore_threshold = 200 set yaw_iterm_ignore_threshold = 50 set rate_accel_limit_roll_pitch = 0 set rate_accel_limit_yaw = 10000 # dump rates # rateprofile rateprofile 0 set rc_expo = 70 set rc_yaw_expo = 20 set thr_mid = 50 set thr_expo = 20 set roll_rate = 40 set pitch_rate = 40 set yaw_rate = 18 set tpa_rate = 0 set tpa_breakpoint = 1500
—-
Hope this helps…..BTW: this became quite a long story, but not everyone is an expert (certainly not me), and I often read stories where some small detail is not mentioned, which might be obvious for an expert, but not always clear to the reader struggling with a problem…. I try to explain as much as possible, even if that is double.
Hope you don’t mind….9 September, 2016 at 00:04 #33076sscottParticipantFor what its worth, I also experienced the huge resonance vibrations that you described. In my case, the resonance was at exactly 1573us throttle, but in the Y axis. I eventually solved this by painstakingly balancing the motors themselves (without the props). I described the issue here:
I also considered adding vibration dampening between the frame/arms and arms/motors, but never quite got there. Perhaps I should revisit this.
Thanks for sharing!
9 September, 2016 at 22:36 #33106neoxioParticipantHi,
I bought few days ago a china GPS Neo M8N with compass integrated prob 5883L. The GPS itself works great but the problem starts when i connect the integrated compass from GPS to I2C bus. The F3FC barometer is going crazy with values over -15xx to 3000. Barometer is not always getting detected. Theres allot of I2C errors like 4000. Apparently the GPS is working on 3.3V but – well works too on 5V i checked it. If i remove the I2C connection from the compass, barometer works just fine. Is it possible that the integrated compass from the GPS is working on 3.3V logic while the F3FC logic is 5V?
Tested Inav and triflight same errors.
Any help would be appreciated.
9 September, 2016 at 22:40 #33107GAntonjoModeratorFrom the first post in this thread:
It turned out the external compass I was using, has 10kOhm pull-up resistors installed….
The I2C bus always needs some pull-up resistors to work, but the overall value is important.
The F3FC board itself has already some build-in pull-up resistors installed. Those are 10 kOhm already, which is perfect.
However, when adding the external compass, with its additional resistors (now in parallel to the ones on the F3FC), made the overall resistance too low, which messed up the signal quality.
Apparently, the on-board barometer (5611) is a little more picky on its signal quality than the 5883 compass, so it wasn’t detected when the compass was connected…. The compass worked though.
The baro worked just fine again when I removed the compass wiring…The trick was simply to remove the pull-up resistors from the external compass, and everything started working just fine…. I2C only needs one set of pull up resistors….
9 September, 2016 at 22:52 #33108neoxioParticipantTy for the quick answer, but the PCB from the GPS does have 2x 10K resistors i removed them but no change after in resistance while checking with multimeter 🙁 and there are still errors.
9 September, 2016 at 23:16 #33109wilco1967Participantthen you probably removed the wrong resistors….
look for resistors which measure approx 0 (zero) ohm between +5V and one side of the resistor, and 0 ohm between SDA (or SCL) line on the other side….
One resistor connects (with one side) to the SDA, the other resistor to the SCL line
+5V should connect to one side of both resistorsIf you measure anything else, they are NOT the pull-up resistors (could be anything).
The resistors themselves are probably something like 10kOhm, but could be anywhere between 3 and 20 kOhm (I would guess).
Oh, and make sure, you measure WITHOUT the GPS/compass being connected to the flight controller board (or you will be measuring the F3FC’s onboard pull-ups resistors).
I think I have the same GPS coming from china (or at least similar)…. apparently, that also has pull-up’s installed which will have to be removed.
When it arrives, I will have a look and post some pictures.9 September, 2016 at 23:34 #33112neoxioParticipantHeres o foto. I removed those 2 10kOhm resistors near each other with the red arrow and no change. The other too are 10Ohm resistors and theres no other appart on upside resistors for diodes.
Attachments:
9 September, 2016 at 23:36 #33114wilco1967Participantcan’t really tell from the picture, but perhaps you can trace the track that goes from the connector SDA (SCL) line, to see to which part it goes….
9 September, 2016 at 23:42 #33115neoxioParticipantWell 🙂 the SDA goes to pin 1 to the compass chip bottom right on picture and SCL to pin16 and on both traces theres no resistors on way.
9 September, 2016 at 23:46 #33116wilco1967ParticipantThen are you sure you measured 10 kOhm WITHOUT it being connected to the flight controller board ?
If you had it connected, and you measured 10 kOhm, those would be the pull-ups of the F3FC, and your compass wouldn’t have pull-ups at all.
Then your problems would be something else, but I have no clue what else it might be….
EDIT:
I ordered this one…. seems different from what you got.10 September, 2016 at 00:13 #33118neoxioParticipantHmm.. ye decripton for mine says its compatible with APM 2.8 and Pixhawk im sure i measured it right 🙁 there must be something else then the pull-up resistors which we prob dont find out… My guess is its something with IO/logic output voltage bettwen F3FC and GPS integrated compass. Mayby its not 100% compatible with naza32 based platforms.
Edit:
For testing i connected a I2C OLED 0,96′ display, of course i did remove the pull-up resistors (2x10kOhm) it does not block the baro – both work, but everytime the page with data is changing/refreshing the baro values are jumping from 0,06 to 0,50 and then to like -0.35. If i disable the display in cleanflight, baro values goes back to very stable 0,05-0,10 when idle. The Display is connected to 6V as BEC is set to 6V. If i touch the front of F3FC it is hot but u can touch it without issue. Theres nothing else to BEC connected apart from tx, oled, servo. Battery is 4S 2300mAh.10 September, 2016 at 10:33 #33126wilco1967Participantthe GPS and the compass ‘should’ be pretty much independant of each other…. they should only share the +5V and the GND.
Easy to find out, if you only connect the compass (so +5V, GND, SDA, SCL lines) and leave RX/TX lines of the GPS disconnected (only for a test).
GPS is just a normal serial protocol. Should work on any serial based board (as long as they are 5V based).
As far as I understood, pixhawk or APM ‘compatible’ only refers to the connector type / pinout… electrically, they should be the same. Have never tried though, so not 100% sure…
That your F3FC front becomes hot is worrying… never noticed that on mine… but I’m out of the country, so cannot test right now. Did it only become hot with the Oled display ? or also with the compass connected…. and what without anything connected ?
Did it also do that before you removed the (I suppose we can conclude they where the wrong) resistors ?
Did you solder them back on ?I would also double-check the wiring, and measure if there is anything suggesting a short.
BTW, could you post a link to your GPS model ?
10 September, 2016 at 11:08 #33128neoxioParticipantHi wilco 🙂
ad. compass – yes it works standalone without gps serials connected.
there is the compass model:
it says supplay voltage is up to 3.6V and in other description says up to 5V both work i checked.
The rest i will check in few minutes and let u know.
10 September, 2016 at 11:18 #33129neoxioParticipantThe BEC is getting quiet warm now even OLED wiring is disconnected only working now is servo and tx over ppm. The GPS resistors i did solder back becouse there was no difference in baro and mag working. BEC is getting warm all time if thinks are connected or not about the same temp. when i pcb.
10 September, 2016 at 11:19 #33130wilco1967ParticipantYou see that a lot….. The GPS chip itself (Ublox) is rated for 3.3V, but they probably put a regulator on the board so you can connect it directly to the 5VDC from the flight controller…. These chinese manuals are not always ‘accurate’
I am just guessing, but those resistors you removed, might have been part of the voltage regulator.
What happens if you take the servo wire off ? does it still get hot….
Before, I had a flip32 board, with the old tricopter V3 power distribution board…. that would also get rather hot, but that was mainly due to the servo always moving.It there is a real short, something WILL burn (and you’ll find out ;-)….
I managed to burn a trace on the F3FC by accidently connecting something wrong…. had to solder a jumper wire to get it working again… I’m only using the main 5V supply for everything (not the 3.3 or 6/8 volt option jumpers).
-
AuthorPosts
- The forum ‘Everything about the Tricopter V4’ is closed to new topics and replies.