Hello to all, We build a 850mm x 850mm frame with t-motor 7005 230kv and hobbywing xrotor 60a 4 in 1 esc along with 2480 inch foldable propeller. In defualt PIDS when testing in althold mode it was flying good with no vibration in all three axes. But once changed to loiter mode arms start vibrating. Reduced PID values 20% and eliminated vibration on loiter mode.
Later applied hormonic notch filters and run a lua script of quick tune. on pitch axis PIDs are tightly tuning but where as on roll axis PID values are sluggish and observing again the vibration in arms.
then manually reduced pids of roll and did autotune, after autotune was done for roll and pitch axes. pitch tuned tightly but the roll axis is sluggish. After autotune was done. again we run quicktune for roll and pitch axes found the same result. PID in roll axis is less or loose compared to pitch. And flown one auto mission to see the behaviour of flight as the pitch is tightly tuned.
May i know what is the reason for it as if tried to increase the pids manually observing vibratiion in arms.
If you don’t get good tunes then almost certainly vibration is the cause rather than the symptom
@andyp1per Thank you for the reply. As there is no vibration in any axes. only the PID values making the arm to vibrate. But vibration on all the 3 axes is less than 15m/s/s.
Then you probably do not have a working notch filter.
Did you tuned this properly using the ArduPilot methodic configurator software? If yes post the files.
If no… you now know the cause of your problems
Hi @amilcarlucas I didn’t use configurator software but instead configured all param using mission planner and yes I followed every steps of tuning process. Today I applied filters and did a flight test. then run a quicktune. After which one auto mission. please have a look into my logs.
Pre and post filtering log
Post filtering log
Auto mission log.
No. The instructions on the blog post are not fully detailed. Some details are only in the software.
That is why the blog post explicitly says that you must use the software.
I do not have a PC right now and can not look at the logs.
Change these:
ATC_ACCEL_R_MAX,50000
INS_HNTCH_FREQ,31
INS_HNTCH_REF,0.12
INS_HNTCH_OPTS,0
INS_LOG_BAT_MASK,1
INS_LOG_BAT_OPT,4
LOG_BITMASK,180222
There’s always some significant difference between one motor output and the rest. Check very carefully for a COG/balance issue, or if all motor mounts are perfectly level and not twisted at all.
Check that folding props can easily fold and some are not a bit too tight.
Now do a test flight JUST with AltHold and Loiter modes, do plenty of movements and altitude changes.
What exact battery pack to you have? A couple of you voltage-related settings dont seem correct.
Hello @xfacta thank you for the reply. we are using 16800mah lion battery with 11c discharge rate. May be the folding props are tight at one end. I will loose it after which I apply the above params and will do a test flight and post the log.
Are attitudes are following good? are need to be improved a bit? Also I have a doubt as I did 3 to 4 times flight test with filters on but all the time center notch frequency was 33.46hz, how come are you saying 31hz and reference I see as 0.15 but in your case 0.12. May i know it please.
when using throttle-based harmonic notch filter, the correct value for REF is:
INS_HNTCH_REF = hover_thrust x SQRT(min_freq / hover_freq)
and usually a “close-enough” values is:
INS_HNTCH_REF = hover_thrust x 0.6 or 0.7
and I got your value of 0.12
by putting your prop size and hover thrust values into my spreadsheet to get quite a close estimate.
Then I checked that it (and the INS_HNTCH_FREQ
) worked correctly in the filter review tool.
You have some noise that doesnt perfectly align with the motor RPM - maybe it’s related to the folding props doing something strange or something else going on with your frame and things vibrating.
I was prepared to set that extra noise to one side for now till we see a test flight with just AltHold and Loiter.
Maybe attach a couple of photos of the flight controller and wiring.
In the ESC BLHELI_32 settings make sure you have these, even if using PWM
- Low RPM Power Protect = OFF
- Low Voltage Protection = OFF (rely on the flight controller battery settings)
- Temperature Protection = 90
- Motor Timing = Auto
Any reason why you are using PWM instead DSHOT? You could actually load the bidirectional DSHOT firmware and get the RPM data back too, for use with the filter. There would be no physical connection changes.
These are the values you should use for battery-related settings, your are mostly correct, and there’s nothing wrong with being conservative with the BATT_LOW_VOLT value to give plenty of time for RTL
BATT_ARM_VOLT,19.10
BATT_CRT_VOLT,18.00
BATT_LOW_VOLT,18.60
MOT_BAT_VOLT_MAX,24.60
MOT_BAT_VOLT_MIN,16.80
Thank you @xfacta. On what basis we have to decide the temperature protection value for ESC_BLHELI_32.
As the ESC is Dshot 1200, if it is Dshot 600 we would have used thinking that only the signal speed varies we have selected PWM. If it makes more difference please tell me, so that i will go with it.
The photos of FC and wiring have been attached below and please suggest if it causes any disturbance to the performance.
In couple of days I will attach the test flight logs with your suggested parameters.
Attach also the .json and .param files from the vehicle configuration directory created by the ArduPilot methodic configurator software.
The ESC should handle DSHOT down to DS300. DS300 is perfectly OK for use even with small quads.
Those that think DS1200 is required for full responsiveness could be deceiving themselves.
You can safely use DS300 or DS600.
I use that temperature setting because
a) the little MCU running the ESC goes silent at about 120 degrees
b) the firmware starts limiting output slightly as the temperature goes over this value
c) use the default value (or higher than 90) wont give the firmware any chance to save itself before the MCU or something gets too hot
Hi @xfacta, as per your suggestion I have configured ESC to Dshot600 and set those recommended params above as well as temperature 90 degree. Today I did a flight test in alt hold and loiter mode giving roll, pitch and yaw input. Please verify the logs and as Physically observing one of the motors rotates slow after you release the command inputs. So please have a look and let me know how is the attitude following.
@xfacta I advise you to do that after @Prashanth011 posts the MC files. It is easier to review them by opening them in the methodic configurator software. And if you have some parameter change recomwndations you can do that in the software itself, and send the modified files back to @Prashanth011
@amilcarlucas sorry for the delay. @xfacta Here I am attaching the file below, please have a look and let me know any changes to be made for improvements in the UAV.
@amilcarlucas is there any changes should I do in the parameters or should i go with a quick tune process for further improvement in the flying? @xfacta please have a look and let me know any changes to be made.
Hello @xfacta waiting for you reply for improvement in our UAV. So please have a look and suggest me what best I can do. Moreover if we change or increase lion from 16ah to 21ah or 21ah to 30ah do i need to retune or whatever the tuning has done will okay with it, would you please clarify this to me.
Sorry, i missed your message somehow.
Can you repost?
For small weight changes no retune is necessary, just change the maximum accelerations as described in the autotune documentation
Motor outputs looked OK.
Attitude control looks quite reasonable.
The notch filter is working OK.
Make these minor adjustments:
ATC_THR_MIX_MAN,0.5
AUTOTUNE_AXES,3
INS_HNTCH_REF,0.13
PILOT_THR_BHV,7
The setting for Pilot throttle behaviour from mid-stick suits a spring-centered throttle and is the biggest change listed here. It will be slightly different to what you are used to on the first take-off, then you’ll be thinking “why wasnt I using this before?” It really suits multirotors.
Apart from that I would probably just rerun Autotune on pitch and roll axis. Yaw seems fine unless you can identify an issue. Autotune with the lowest possible take off weight.
If you add a payload or increase battery weight then we just reduce the ACCEL values as per this formula:
new ATC_ACCEL_P_MAX = ATC_ACCEL_P_MAX x (min_TOW / max_TOW)
new ATC_ACCEL_R_MAX = ATC_ACCEL_R_MAX x (min_TOW / max_TOW)
new ATC_ACCEL_Y_MAX = ATC_ACCEL_Y_MAX x (min_TOW / max_TOW)
Also I would load the bi-directional DSHOT firmware for your flight controller, that way you will have the ESC RPM data to use for the notch filter. It’s good for some other insights too.
All your existing settings would be preserved, and you can even go back to the regular firmware if you have to.
You would have to move the motor/ESC connections to M9 to M12 (instead of M1 to M4) both physically and logically (in settings).
There is just a couple of other settings too.
It’s quite easy to do and we can guide you - yell out if you need help with that.
Thank you @amilcarlucas and @xfacta for the reply as well as suggestions. But as I observed after the autotune is run there will be a poor tune produced on roll axis. Which makes drone to oscillate in roll axis. I have corrected it either doing quick tune or manually increasing or decreasing the PIDs. So far I didn’t get proper tuning after autotune has been done. Is there any problem that is causing poor tuning. Please help me out to resolve this.