View Full Version : Joysticks
John Gutmann
26-04-2005, 21:47
Where do you get the joysticks from the old kit of parts, i dont kno if they are in the new ones, they are the black ones with red buttons that i am looking for, if you have any please tell me
henryBsick
26-04-2005, 21:54
Where do you get the joysticks from the old kit of parts, i dont kno if they are in the new ones, they are the black ones with red buttons that i am looking for, if you have any please tell me
They don't make them anymore, 222 pirated them off of old controll systems and replaced them with white sticks.
sanddrag
26-04-2005, 22:56
They are just the old serial CH Flightstick joysticks. The only place I know of where you can ocassionally get one is eBay. I know, those things were and forever will be the best. Here's one on there now http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&category=3677&item=5189658288&rd=1&ssPageName=WDVW
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&category=74944&item=5191345252&tc=photo
My team used some of these joysticks this year. They seemed to work ok, but our programer said their range was not as much as it should be. He had to put a thing in the program to get them to work all the way.
Sven-
Most (older) joysticks won't reach full range on the pots. This is just part of the nature of joysticks, even the trusty CH flightstick wouldn't quite get full range.
The work around is to calibrate your Victors to each joystick. The process is pretty simple, and can do wonders for drivabilty. Basically what happens is that the victor looks at the outputs from the joystick as you move it from physical stop to stop, and then scales its (the victors) outputs to match. It accomplishes the same thing that your programmer may have done, but in a much simpler manner.
Ask your programmer if he is familiar with the practice. If he isn't, ask about it here and the whole calibrate/don't calibrate debate can resurface.
-Andy A>
I thought so, but he decided to do that. Maby I should take the time and learn alittle C :yikes:
Thanks.
Sven-
The wonderful thing about victors is that they are just plain wonderful.
Calibrating a victor requires no programming at all. It's done in hardware. All you do is depress a switch built into the victor and run the joystick through its limits. The data is stored right on the victor, and the RC never knows any better.
Interestingly, I've used this feature a lot. A friend and I have used victors as speed controllers in some RC cars we've retrofit with updated components. Since R/C radio systems have a completely different range of PWM signal, the factory set calibration is way off (a neutral signal from the RC gear is about 1/3 reverse on the factory set calibration). With out the ability to calibrate the victor, they would be useless in any setting that was specifically designed for them (like FIRST).
-Andy A.
Al Skierkiewicz
30-04-2005, 15:58
I thought so, but he decided to do that. Maby I should take the time and learn alittle C :yikes:
Thanks.
Sven,
This is such a prevalent misconception, I included it in my mythbuster presentation on robot electrical. Everyone needs to understand that the speed controllers are not calibrated when you receive them. If they were you would get matched controllers and joysticks and would be instructed as to which controller you must use for each joystick axis.
ALWAYS CALIBRATE SPEED CONTROLLERS. RECALIBRATE ANYTIME YOU CHANGE CONTROLLERS OR JOYSTICKS.
Mike Soukup
03-05-2005, 17:19
The work around is to calibrate your Victors to each joystick. The process is pretty simple, and can do wonders for drivabilty. Basically what happens is that the victor looks at the outputs from the joystick as you move it from physical stop to stop, and then scales its (the victors) outputs to match. It accomplishes the same thing that your programmer may have done, but in a much simpler manner.
No, the workaround is as Sven stated, fix the range in software. All you need to do is determine the min & max values of each joystick axis and create a function that linearly maps the smaller joystick range to the full 0-254 range. Just make sure you have two mapping functions, one for below 127 and one for above. Then calibrate your speed controllers for the full 0-254 range. We've been using this method for at least 3 years.
The reason to fix this in software instead of the speed controller is in the cases of autonomous or feedback control. If the speed controllers that handle your arm joint are calibrated for a smaller range of 30-245 (typical values I've seen for the y-axis) then your feedback code is only effective over that range. Any numbers outside the range will not make the arm drive faster, and if your feedback routine wants to drive the arm slightly slower than full reverse (say a pwm value of 20) it will still be going full reverse.
billbo911
03-05-2005, 17:55
No, the workaround is as Sven stated, fix the range in software. All you need to do is determine the min & max values of each joystick axis and create a function that linearly maps the smaller joystick range to the full 0-254 range. Just make sure you have two mapping functions, one for below 127 and one for above. Then calibrate your speed controllers for the full 0-254 range. We've been using this method for at least 3 years.
I've often wondered how I could linearize a range of values to another range of values, such as 137-235 linearized to 137-254. But, not being a software guru, yet, I am not certain how to do this without several "if, if else, else" statements turning the output into a multi stepped scale. Something like:
if (P2y > 135 && P2Y <= 145)
PWM02 = 140
if else (P2Y > 145 && P2y <= 155)
PWM02 =150
etc. etc. etc.
As you can see, not too smooth a response. So the question is, what code would you use to linearly map one range to another?
Alan Anderson
04-05-2005, 01:39
I've often wondered how I could linearize a range of values to another range of values, such as 137-235 linearized to 137-254...So the question is, what code would you use to linearly map one range to another?
Use the equation for a line, y = mx + b.
Take the input value x, multiply it by a factor m, and add an offset b to yield the output value y. The factor can be a floating point value, or to save time you can multiply by an integer and divide by another integer.
To determine the m and b constants, use algebra to solve the pair of equations for the known input and output values.
billbo911
04-05-2005, 10:15
Use the equation for a line, y = mx + b.
Take the input value x, multiply it by a factor m, and add an offset b to yield the output value y. The factor can be a floating point value, or to save time you can multiply by an integer and divide by another integer.
To determine the m and b constants, use algebra to solve the pair of equations for the known input and output values.
Thank You Alan
I knew it would be a relatively simple solution.
My years removed from Algebra are many, too many in fact, so some portions of my memory need a little refresh. This will help tremendously.
vBulletin® v3.6.4, Copyright ©2000-2017, Jelsoft Enterprises Ltd.