Speed limit for Loiter mode

Is there any way how to limit top speed for Loiter mode?
I’d like to be able to control full throttle range for Manual and FBWA modes and also not to limit throttle for Autotakeoff command, but limit loiter max. speed.
I’ve tried to set ARSPD_FBW_MAX parameter to 23 m/s (83 km/h), but it didn’t work - I’m getting speeds up to 130 km/h in Loiter.
Env.: Omnibus f4 pro v3 with ChibiOS Plane 3.9.3 FW, no airspeed sensor.

I don’t fly a plane but how can limiting airspeed work if you don’t have an airspeed sensor?

Actually I don’t know what does it work internally - e.g. airspeed could be taken from EKF estimation, couldn’t be?
Anyways I don’t mind if I limit airspeed, GPS speed or throttle for Loiter mode somehow. Let’s say that I just don’t want Loiter mode to use so much throttle and I don’t mind if the top speed will be between 60-100 km/h for it while I’m, able to use full throttle for Manual or FBWA and autotakeoff throttle is not limited.

It should work even without airspeed sensor.
Did you tune TECS ?
http://ardupilot.org/plane/docs/tecs-total-energy-control-system-for-speed-height-tuning-guide.html
I suggest to make again accelerometer level calibration with the plane at the pitch attitude you want to fly at your loiter target speed.

Well, I didn’t tune TECS, I thought that this is something I’m not going to do ever :). Do you think that it would help?
To be less abstract - this is video from that Loiter case (in very bad quality I’m afraid):

Throttle value in [%] is shown in right-down corner.
And these are my current parameters - maybe I’m doing something wrong there.
skyfun_omnibus_3.9.3_190130_1.param (16.1 KB)

PS: I think that accel and gyro calibration if fine at me.

If your plane fly faster than expected in auto mode it could be because the wing does not produce enough lift at lower speed to maintain altitude, this is the reason why I suggested to make accelerometer level calibration again with some positive pitch. This is just a supposition though. An other supposition that could interact with the first one is your aircraft is not correctly tuned or out of trim. Did you performed autotune ? This is important to start from a correctly tuned pitch servo loop.
About the TECS, begin to set trim_arspd_cm to the value you want. the other important parameter is trim_throttle which is the throttle value when flying level at trim_arspd_cm. If you look at your log ctune_throut you can get the right value provided the aircraft flew level at the right speed.
Most of the time when I want to fly auto, I add airspeed sensor and enable it, I suppose that without airspeed there is a speed estimation from other sensors and it should work but maybe we need advises.
I have compared your parameters to mine and found you have mag_enable=0, and acro_lock enable. I never used the acro_lock and don’t now if matter.

Thanks for long answer, I’ll try to play with those TECS parameters (trim_arspd, trim_arspd_cm) and trim_throttle.

FYI: Plane has calibrated accels & gyros, level is set correctly and I did Autotune procedure with it.
In FBWA it can safely fly level down to speed about 50 km/h, the speed at landing touch-down is usually a bit lower.
Unfortunately I don’t have flash logs since I had issues with SD card writes on omnibus board - I plan to test new FW version where this should be fixed. And you’re correct - I don’t use compass, heading is take from GPS, but I don’t think that it plays any role.

I watched at your video lately and had an other idea. Maybe your aircraft has not enough elevator in a bank. There is a parameter to adjust the pitch rate offset during turns: ptch2srv_rll.

Well, when I fly in FBWA and put aileron to full turn, plane keeps flying at same altitude level - so this shouldn’t be the issue I guess. Hopefully I’ll be able to make some new tests during weekend.