Wondering about interfacing to the N,E,S, and W inputs on the Keywarrior.
These are designed according to the data sheet for use with an Interlink Versapoint joystick or similar. This means these inputs are analog correct?
The analog data output by the FSR is converted by the KW chip into mouse emulation and output over the USB as standard mouse movements is this correct?
So what would be the proper voltage swing input on these pins? I haven't tried to use these pins because I was forced to use a FSR joystick that has a very small analog output and was directed to use a separate controller board to interface the stick. However the results have proven functional but unsatisfactory. So I am looking for alternatives and if the KW NESW inputs are analog then use of a simple op amp to boost the swing and set the proper gain from the FSR might be an easy solution.
So at this point I am seeking more specific and detailed information on these 4 sensor pins than I could find in the standard data sheet.
I have researched the Interlink VersaPoint and their sample controller schematic shows a Z86c07 microcontroller to provide standard mouse emulation.
But this is the function the KWCV can already provide unless I am mistaken. So my only problem then seems to be in how to make the chosen joystick look more like a versapoint to the KW sensor port.
Please correct any misconceptions I have here, because I am often enough confused and don't have much experience in this area. And I haven't had a chance to get any hands on time to experiment and try different ways of using this FSR stick and the KW together yet either, but please give any suggestions or directions you think could apply.
The technical information for the model FSR joystick I've been directed to use is posted below. Any recommendations you might have to offer would be greatly appreciated.
Diameter: .375” Below Panel
· Depth: .50” Below Panel
· Overall Length: 1.10” Without Knob
· Mounting: Bushing Type
· Input Voltage: +-5 VDC
· Resolution: Infinite
· Linearity: +-5% of Full Scale Output
· Sensitivity: .55 Volts/lb+-20%
· Operating Force: 0 to 2 lbs (Mechanical
Stop).
· Null Hysteresis: 0.7% of Full Scale Max
· Operating Temp: 0C to +50C
· Storage Temp: -55C to +85C
· Vibration: 10g’s Peak, 10 to 500 Hz
· Reliability: 100,000 Hrs MTBF Continuous
Use
· Shock: 15G’s, 11mSec, Half Sine
I'm not positive about this but the stick has four pins and I believe that two of them are +5 and gnd leaving the remaining two as the center points between (NS) and (EW) variable resistance dividers. Actually I just checked and pins 1 and 3 seem to be for +5 and -5v. Use of 10v across the stick would increase the output swing, but we only have +5 currently available so I will have to try and design a simple interface between this stick and thw KW to accommodate that restriction. I would like to make the sensitivity- trimmer adjustable- and this is one reason is why I have been considering the use of op amps for this interface. If the KW needs individual inputs referanced to gnd then I may also have to split the two outputs of the stick which it seems would be no load biased halfway between +5 and ground into 4 individual 0 to +5v values.
Well, any help is good help.
KWCV sensor inputs
Moderator: Guido Körber
-
- Site Admin
- Posts: 2862
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
KWCV does convert the signal of a versapoint sensor direct to mouse data, that much is correct.
But the working principle of the versapoint sensor is resistive and it has four separate signals for each of the directions. The sensor has a high impedance when not operated. The KWCV uses essentially an R/C timer to measure the sensor value, the R is the sensor which charges the C towards 5V.
If you can convert your sensor into four separate current sources that show a similar behaviour it would work, though I assume that will take a lot of circuit.
I would suggest you contact me by email about this issue, it is likely a bit too detailed for the forum.
But the working principle of the versapoint sensor is resistive and it has four separate signals for each of the directions. The sensor has a high impedance when not operated. The KWCV uses essentially an R/C timer to measure the sensor value, the R is the sensor which charges the C towards 5V.
If you can convert your sensor into four separate current sources that show a similar behaviour it would work, though I assume that will take a lot of circuit.
I would suggest you contact me by email about this issue, it is likely a bit too detailed for the forum.
So as the resistive element is compressed to a lower resistance the time constant is reduced. But all four elements of the versapoint are externally provided 5v on one end is this correct? As the caps charge The KW inputs trigger at a certain point as the voltage rises, discharges the caps and resets, continuously measures the time between triggers then calculates a value based on the time constant? The shorter the time between triggers the higher the value?
Even through a high resistance the caps will eventually charge so the firmware must be set to ignore triggers that are to far apart? But if the resistive element has to low of a value to start with then the KW might be confused by the shorter span between triggers. But that can be controlled externally.
The stick we are using has four pins which are representative of 4 resistive elements. But there it diverges from the versapoint. And I think each element only has about 400 ohms of no compression resistance.
2 resistive elements for N/S and 2 for E/W. The ends of the resistive elements are tied together at the +-5v pins and at the remaining signal output pins and are at the center points of each two sections. So the signal lines when used as directed will go above and below 0v (1.1vpp) I think the case is isolated, but I still don't have one in hand as yet.
Perhaps if -5v were available we could divide the sensor lines using NPN and PNP transistors to control the apparent current to each of the KW's direction input lines?
I will contact you by email in a few days when I've have a chance to actually check out the FSR sticks first hand and think about this in a little more depth. In the meantime if you have any creative ideas at all on how to make something like this work with the KW don't hesitate to post them.
We are already using the KW for keyboard functions and I hate to have to use or create a completely separate full function controller for the FSR stick we are using if a simple interface to these already available input pins can be achieved.
And thank you for the reply, I believe I have at least a slightly better understanding of what is required now. It seems confusing but I feel there must be a simple way to do it.
Even through a high resistance the caps will eventually charge so the firmware must be set to ignore triggers that are to far apart? But if the resistive element has to low of a value to start with then the KW might be confused by the shorter span between triggers. But that can be controlled externally.
The stick we are using has four pins which are representative of 4 resistive elements. But there it diverges from the versapoint. And I think each element only has about 400 ohms of no compression resistance.
2 resistive elements for N/S and 2 for E/W. The ends of the resistive elements are tied together at the +-5v pins and at the remaining signal output pins and are at the center points of each two sections. So the signal lines when used as directed will go above and below 0v (1.1vpp) I think the case is isolated, but I still don't have one in hand as yet.
Perhaps if -5v were available we could divide the sensor lines using NPN and PNP transistors to control the apparent current to each of the KW's direction input lines?
I will contact you by email in a few days when I've have a chance to actually check out the FSR sticks first hand and think about this in a little more depth. In the meantime if you have any creative ideas at all on how to make something like this work with the KW don't hesitate to post them.
We are already using the KW for keyboard functions and I hate to have to use or create a completely separate full function controller for the FSR stick we are using if a simple interface to these already available input pins can be achieved.
And thank you for the reply, I believe I have at least a slightly better understanding of what is required now. It seems confusing but I feel there must be a simple way to do it.
-
- Site Admin
- Posts: 2862
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
Your assumptions about the working principle are right.
The versapoint sensors are about 150K-2K ohms when operated and are near infinite when not operated. So the conversion times out reliably when there is no pressure on the stick.
Getting -5V is rather simple with a voltage inverter, though you have to make sure you don't exceed the current draw limits for the suspend mode of USB.
The versapoint sensors are about 150K-2K ohms when operated and are near infinite when not operated. So the conversion times out reliably when there is no pressure on the stick.
Getting -5V is rather simple with a voltage inverter, though you have to make sure you don't exceed the current draw limits for the suspend mode of USB.