MobiFlight Community Support

Welcome to the forum for MobiFlight! Feel free to reach out to the community in case you have questions, issues or just want to share great ideas or details about your latest home cockpit project.

You like MobiFlight? Donate via PayPal and support the MobiFlight development. Thanks! 

05/03/2024 - This forum is read-only

The community support for MobiFlight has moved exclusively over to our Discord server. Register for free and enjoy more interactive functions like image and video upload, voice chat. More than 7,000 registered users around the world make it a great experience!

See you on our MobiFlight Community Discord server.

A HUGE Thank You to everyone who participated in the forum, especially obviously to Pizman and Stephan who did an outstanding job over so many years providing an incredible service to the MobiFlight community.

The forum is still providing a lot of good content, hence we keep this information accessible.

icon
Avatar
Whiteknuckle157
From: Bayern - Bibertal, Germany
Posts: 50
Hi,

I'm using a lot of servos (17) in my dashboard.
While setting up the servos, I encountered some issues other simmers also encountered. I parsed this forum posts intensively for servo relates issues.

Jittering servos:
I'm speaking of the standard analog SG90 9g servos here. Servo technology is widespread used since decades in RC-modeling.
If servos jitter, there are usually two possible reasons: common ground issues and/or power supply. Be aware that the SG90 can draw more than 200mA.
Hence always(!) use an external power supply for servos. Do not power servos via the Arduino power! Also ensure a stable common ground connection.
Servos work with PWM and when the supply voltage is stable (4,8-6V are usual for RC-components) and the PWM signal is also stable, servos do not jitter unless there are mechanically obstructed.

I did extensive tests with Mobiflight and servos and came upon this issue:

What is the servo max value intended for?

During tests, it turned out that the servo max value has no effect at all. The servo range is 180 degree.
Setting the min to 0 and the max to 180 and range to 100% let the servo turn its full 180° range as expected.
Setting the min to 45 the servo turns (when Test is pressed) from 45° to 180° as expected. (in fact it turns from 0° to 180° then back to 45°)

At all tests, the min value given in degrees always let the servo start at the given degree value as expected.

But the max value has no effect at all. The servo always turns to its max value of 180°.
The only way to limit the max deflection of the servo is to reduce the max rotation value. The max rotation value works as a limit referred to the max possible value for the SG90 of 180°.

Ex: Intended range for an instrument dial is 45° to 135°. My expectation according to the servo tutorial would be:
Min: 45, Max: 135, max rot value to 100%

What really works is: Min: 45, max: any value, max rotation value: 90.

My question is: what is the max value for?

btw. why in the servo tutorial, the max value is first set to 255, than in the following image to 16383?

I would be ever so grateful for some explanations.

cheers

Volker
2021-12-28 10:44
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 6010
Supporter
Hi

You missunderstand the whole logic ;) Also your expected idea with the MIN Value is Wrong !

Servos have TWO possible Settings !

First Rotation in Percent.

The Servo for MF always start at Zero Point (0%) and turn until its End Point ( 100%) .
Lets say you have a Gauge like your example "45 - 135" That means you have a range of 90° the Servo must turn in the Gauge!
If you have a 180° Servo you would only need "50%" so 90° .
Means you mount the Servo into your gauge in a way that Zero Position fit to the most left position of the Needle..... And by define "Max Rotation 50%" you tell the servo it should turn maximum to 50% or to 90° Position ( cause thats the most right end of your gauge).

Sumary: With the Limit of Rotation you define That the Servo range gets simmular to the max moving range of the Sim Gauge.


Second MIN and MAX

This Values NOT means a Degree Value! This Values are 100% related to the SIM Value you use. So the Value you READ from The Sim.
Lets make a Example:



Here the Needle have a Range of maybe 90° ..... So with a 180° Servo you would say in Limit of rotation "50%" to reduce the range like in the gauge.
Lets say you read from Sim a Value "Fuel in Galons" .... So value is 0-120 on Offset/Variable.
Then you say MIN:0 and Max:120 Cause we will tell the Servo " When Sim Fuel tell us "0" it must be on the Zero Position..... When Sim Value for Fuel is "120" it must be on the most Right Position .... ( And we former reduce the most right position already from 180 to 90 by limit rotation)

For better understanding.... Lets say Sim Fuel is shown by a Value of 0- 16383 .....
So we would use MIN 0 MAX 16383 .

I hope you understand !
Ask if you need more input !
Good Luck !
2021-12-29 19:49
Avatar
Whiteknuckle157
From: Bayern - Bibertal, Germany
Posts: 50
Thank you, thank you, thank you! :thumbup:

Finally, all that makes so much more sense to me. It seems that I've always seen this the other way around. Your (MF) approach is much more convenient though.
Again, thank you very much! :D

cheers

Volker
2021-12-29 21:49
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 6010
Supporter
NoProb.

Feel free to join our Discord and Contact me..... https://discord.gg/99vHbK7 (Username Pizman ..... Orange Color)
Lets have a talk via Headset with a cold beer. B)

If you have other questions.... Simply call me there.
Your welcome !

EDIT:
Sehe grad du bist aus der "Heimat". Gerne auch auf Deutsch oder Bayrisch :-)
Good Luck !
2021-12-30 17:36
Avatar
Barsk66
Posts: 4
Hi, sorry to wake up an old thread, but my issues are related to this. I come from RC racing and with the transmitters (radios) there we can set up EPA (End Point Adjustment) for both MIN and MAX rotation. As this is a servo setup in mobiflight one would logically assume that the min and max values that is to be entered refers to that. For my flaps indicator I setup the needle in the middle position and was expecting to be able to adjust how much it would move in min and max directions. That did not work as it is handled now. The only way is to physically set the needle in the correct position according to 0 value. Quite a finicky operation with trial-and-error.

I suggest we have an "offset" parameter (a positiv value) that defines the start position of the servo. In that way we can dial in the position of the needle in software instead of physically. "The max rotation" can remain as is. By setting the offset to zero by default for older configurations this improvement will be backwards compatible.

I really think this would be rather easy to implement and would simplify servo configuration considerably.
2024-04-21 14:55
Avatar
acornejo
Posts: 1
Hi community. I usually try to search, read a lot and try many times before to ask for help…But. I´m crazy trying to make MF work fine with X Plane. I´m working on flap control and level indicator, but the “zero” of the servo is not equal to the “zero” of the app. A servo motor was completed burned and a second one was over heated (Mini servo HITEC HS-81). I disconnected just before it burns too. :cry: When value is zero or stop run MF, the servo needle moves over it maximum position creating a constant force that over heat and damage the hardware. Please…If someone know how to limit its travel will be very appreciated.

Best regards.
Alejandro
2024-05-02 22:04
icon