Hello! I have a bit of a problem. I am making a throttle quadrant for a flight sim. Because throttle quadrants are so expensive i decided to make my own. So I have two potentiometers(for now) that are connected to the thrust levers. And this is where the problem starts. When i move both thrust levers to let's say 50%, one potentiometer(left thrust lever)will display about 45% and the other one(right thrust lever)will give me maybe like 53%. How do i calibrate them? My flight sim does have an axis response calibration software(It sounds complicated but in reality it just tells the plane how much to increase or decrease the original potentiometer value artificially),but the problem is that you have to do it manually. Which is almost impossible, and if you tweak it in just the right way for 50% throttle it will change how it reacts to the 60%. Plus if you tweak the 60% in just the right way the 50% will change again. Does anybody know an external program that can do this automatically or an alternative to potentiometers or an arduino code that can fix this?
All Your words don't bring a clear picture.
Could You make a little schematics for the pots, and a close picture of the arrangement, and post?
Common joysticks have springs brining them to a neutral positions. Pots don't have that.
I did a similar setup for the 3 axis for the minin CNC. The electrical center is 512 (UNO). Then the rest is scaling, maybe via the Arduino function "map".
What are the potentiometers connected to? If it's an Arduino, post the code.
No. I am not making a joystick i am making a throttle, and that is not the problem.
Rather than telling us what you're not doing, please tell us what you are doing. But more than "a throttle". Post the entire sketch (assuming that is what is driving the system) and also full schematics.
What is that.
Note that most of these forum users are not pilots.
A "throttle quadrant" to be specific...
Here is the arduino sketch
#include <Joystick.h>
#define potpin A1
int throttle_ = 0;
int gear = 0;
int some = 0;
int some1= 255;
Joystick_ Joystick(0x12,JOYSTICK_TYPE_JOYSTICK,1,0,true,true,false,true,false,false,true,true,false,false,true);
const bool initAutoSendState = true;
void setup() {
// put your setup code here, to run once:
Joystick.begin();
Serial.begin(9600);
pinMode(7,OUTPUT);
digitalWrite(7,HIGH);
}
void loop() {
// put your main code here, to run repeatedly:
int variable1 = 656;
int variable2 = 653;
int variable3 = 370;
int variable4 = 373;
int variable5 = 0;
int variable6 = 3;
int variable7 = 1018;
int variable8 = 1023;
throttle_ = analogRead(A0);
int throttle1_ = analogRead(A1);
Joystick.setThrottle(throttle_);
Joystick.setXAxis(throttle1_);
Serial.println(throttle_);
}
You gave a pin a functional label
Then you threw it away
And this is the wiring diagram
These are three potentiometers because i am planning to add a third one, but it is really not important
The ''throttles'' are not important just think of this as two potentiometers both at lets say 90 degrees
and they are giving different values.
You can scale an integer like this:
const long scale_num = 3;
const int scale_denom = 4; // create scale factor 3/4
...
int scaled_reading = reading * scale_num / scale_denom;
or the "cheezy" way:
int scaled_reading = reading * 0.75
So, a joystick.
Both are turned ninety degrees. Sorry for not being specific.
If it is a constant offset between the two just add it to one pot value or the other. If it is variable
you can use an lookup table.
No. The offset is not constant. It changes.
That points to a hardware defect. Let's see photos.
Yeah, but no two potentiometers are exactly the same. So that is why i am looking for something that can reduce the offset or for an alternative to a potentiometer. What about hall effect sensors are they any more precise? And i dont know which photos you are talking about
Unless you share some clear information about your project and your need, I am out. I am talking about photos of your project. Even diagrams or links would be helpful but it seems you don't want to post those either.
Check each pot for range values and map each to a common range.