MicroArduCopter, 3" props, Omnibus Nano, Success!

Thank you for sending the file. I’ll do the ESC replacement and I will restart the PID calibration… :muscle::facepunch:

I think we should start a list of ESC’s that will work… So as you find them, please post.
I would have expected the 10a 1-2s esc to work down to 3v regardless of the number of cells… But I guess not… That is a bad decision on their part, as you said.

I’m currently using an Aikon esc, but it’s 30a and heavy. It works down to about 5.6v on 2s, which is OK, but not good enough.
I have a betaflight copter w/ a “RacerStar” blheli-s ESC, and I don’t think I’ve ever hit its low voltage cut off (with traditional lipos). If I get some time, I’ll put an 18650 pack on it and see how low I can get it to go.

Your designs look impressive! A lot of technology in a small space.

Incredibly a copter esc with cut off function :o thanks for alert Us,

Good suggestion. I will try to check what ESCs works below 3V. I have a variable DC power source. I will connect one ESC and motor at ~7V and will manually decrease the voltage down to 5V to see if the motor keeps working. I’ll try to do it along the week with the ones I have and with 2 more 4in1 ESCs that are on the way…
About the design, actually it changed a bit. I’m not using Benewake TFmini anymore. I replaced it by the Pololu VL53L1X LiDAR, less than 1g and 3.6m of range, and very tiny. The optical flow Cheerson CX-OF is working okay. I just have to calibrate it. So, I post some news along the week…
Regards!

Hello, friend!
How is going your PID tuning? Did you got a stable config?
I was fixing a lot of issues and I will restart PID calibration tomorrow.
Regards!

Yes, I basically increased P to about double what I got from AutoTune, and am happy with it now. I and D are still close to what I got with Auto Tune.
I’ll post a screen shot or parameter file this weekend.

1 Like

I have pretty much doubled everything for R/P and things seem pretty good. Still need to play with the notch a bit more.

1 Like

I want to try the notch filter, but how can I see what effect it is having? Is there anything I can plot from the log that shows post-filtered vibrations?

Have you tried simply making another FFT?

there seems to be some confusion about whether or not it shows you the post-filtered data…

here’s a thread where a few people say it doesn’t show you the post-filtered data… But then at the very end someone posts screen shots where there is a clear improvement in their notch enabled vs disabled FFT’s.

I am using the notch and was able to increase my PID’s w/ it enabled. But I have not yet made a new FFT so don’t personally know if it shows you the filtered data or not.

I haven’t tried enabling the notch yet. The wiki page on logging says the logged vibration levels are derived from raw IMU data. No mention of any filter params being applied. And the thread you linked seems pretty clear the FFT is using pre-filtered data. There just doesn’t seem to be a way to view the effect of the notch.

Hey guys,

finally found some time to do flights endurance tests on 2S Li-Ion cells:

My feeling at this moment is Arducopter is not very good at controlling such small quadcopters. Played a lot with PID tuning (see my youtube video about that posted in this thread previously). I do not understand why Arducopter is not on par for this with Betaflight for example ?

1 Like

Thanks for the video… that’s helpful info abou the batteries.

I think it’s because all betaflight does is improve the performance with filters and changes to the PID processing, etc. Things like the notch filter that changes w/ motor RPM, and the vast options for all the filters.
There’s a lot more going on in arducopter with sensors and autonomy, etc. We need to attract more developers who are interested in the performance aspects.

I am much happier w/ mine now than I was a couple months ago… Like I said recently, my changes are basically increasing the filters even more, which is less filtering (Gyro is at 100, yaw is at 20, etc). I enabled the notch filter. And I increased the PID’s. P is about double what I got w/ auto tune. Over .1 for all axes. I tune I for ‘feel’. And D is just a little higher than I got w/ auto tune.
Almost all the issues I was having seem to be taken care of w/ higher PID’s.

I also decreased EK2_ABIAS_P_NSE (thanks to andyp1per). At least a few of us were having trouble w/ these small inexpensive flight controllers having issues like consistently going out of level (adding bias to X or Y), or issues maintaining altitude (adding too much bias in Z). Lowering that setting fixed my level issue. Either these FC’s have issues w/ the IMU’s, or maybe it’s the frequency of the smaller props spinning, but this made my copter more predictable.

I’ll get a param file posted soon…

Here is a video I made about two 4 in 1 ESC models:

Will be interesting to compare with mine (although I use 4500Kv motors and 2 blade props)

Here is my last saved param file… I think my PID’s are slightly higher than this now, but this is close to what I’m flying… (I don’t have time to get my copter and flight laptop turned on, etc… Kids out of control this weekend)

1402, 8000kv, 2 blade 3" props, 2s.

z3.save.param (19.8 KB)

Only on week-ends ? Youre lucky! I am compassionate with this feeling :slight_smile:

Thx for the param file. I’ll experiment with it.

I did try using your filter and PID settings om my 3" microquad: it flies much much better, especially to resist winds. Also altitude hold works with quasi no jumping up and down which was annoying in my previous settings.
The difference with my previous PIDs is a strong increase in P settings values while the D setting is lower! Seems counter intuitive but obviously it works.

My filters were quite close to yours already. I doubled the sched loop rate to 800 (instead of default 400) like what you did.

With these changes I redid an endurance test, this time fully in alt hold. It flies with more control but I lost 1.5 min (13.5 min instead of 15 min). I guess the extra control of the ship burns more energy. So optimum PIDs for control might not be the optimum PIDs for endruance flights !

That’s good news!

About the efficiency, I noticed an immediate change when I lowered the EK2_ABIAS_P_NSE parameter. My hover throttle increased and my flight time decreased! I don’t understand why… But it changed.

You might want to try some other values or go back to default on that and see what changes you get… (Let me know if you do )

And yeah, my kid is usually pretty good and interested in my drones, so I can’t complain. He just gets a little hyper compared to his old middle aged dad sometimes. :slight_smile:

I’ll try playing with that one to see if it has any effect on endurance or control.

I think the key here is increasing INS_GYRO_FILTER to 80 or more (default is 20) and also decreasing PSC_ACCZ_P. By default I think the settings are optimized for copters with much more mass that need high input to change height and react slowly. I also found that decreasing MOT_SPIN_MIN helped the copter stop trying to take off when armed. I really wish there was better documentation on INS_GYRO_FILTER it really is so crucial to be high for smaller copters.

If you look at GitHub - betaflight/betaflight: Open Source Flight Controller Firmware you’ll see that the focus these days is totally on P. That seems to be a result of the much more powerful motors and efficient ESC’s that racing copters have now.

I’ve never found this has much effect for me.
Here are my settings (this is a bigger 180mm quad, but with quite powerful motors). QAV180-PIDPlus.param

My theory with EK2_ABIAS_P_NSE is that because the prop rpm’s are much higher than with bigger copters they tend to interfere with the gyro’s but are impossible to remove entirely (notch should help a bit here). Any moderately aggressive flying means that the EKF is trying to tune out the perceived “bias” meaning that over time the position estimate gets worse, but even more problematic is that if you then hover the “learned” bias is still there and the EKF is in all sorts of trouble. For me this meant that RTL would often fail if I flew for long enough. By reducing the bias learning, the position estimate will recover more quickly - and that is my experience.

1 Like