Page 5 of 7
Re: NXC: can't read Dexter pressure sensor values
Posted: 27 Feb 2011, 18:37
by mattallen37
doc-helmut wrote:but TOUCH (actually the same as I used by Xander's code) shows 1023 for "infinite resistance" and 183 for "pressed" (low resistance).
Usually all other analog raw values have readings of 0 for for "infinite resistance" and 1023 for "zero resistance".
I'm curious on which kind of readings the DxPS is calibrated.
Isn't there a reliable "uncooked" standard analog type available in NXC?
(And no, I won't start tinkering with electronic stuff like resistors or lead or experimental boards anymore. I'm only using "ready finished" equipment
)
No, setting the sensor type to touch, and then RAW does NOT only allow for the values of 1023 and 183. Those two values are the only values that the NXT touch sensor returns, but those are not the only possibilities (actually, I think when pressed, it is more like 184).
A real, uncooked RAW value (of a 100% ideal ADC), does the equivalent of the following. ADC_Value=(mv*Max_ADC_Value)/Reference_mv. For NXT specs, that would look like this. ADC_Value=Pin1_Voltage*1024)/5000 (or whatever the sensor supply voltage really is, in mv, probably more like 4300-4700).
Because of this, any type or mode that follows this "Usually all other analog raw values have readings of 0 for for "infinite resistance" and 1023 for "zero resistance"." is not uncooked. It is inverted, if nothing more.
With nothing connected, the RAW value should be 1023 (because of the pullup). With no resistance, the RAW value should be 0, despite the 10k pullup.
Believe me, I just tested this, and it DOES WORK.
Code: Select all
task main()
{
SetSensorTouch(S1);
SetSensorMode(S1, IN_MODE_RAW);
while (true)
{
ClearScreen();
NumOut(0,LCD_LINE1,SENSOR_1);
Wait(50);
}
}
Connect a touch sensor, and you should get the values of 184 (ish) and 1023. If you get those values, then the code IS WORKING PROPERLY!
OT, but just a little tip. The NXT has a 10k pullup, so to calculate ohms, you can use this: OHMs = (10000 * SENSOR_1) / ( 1023 - SENSOR_1 );
nxtreme wrote:mattallen37 wrote:...wire strippers...
Wire strippers?
Wire strippers!?!?! Come on! Use your teeth (don't let your dentist know I said that) or a good sharp knife. I used my knife for a good year before I bought wire strippers. I wasted a good 25 cents on a garage sale pair, should bought a stick of gum instead...
LOL, I remember using a knife as well, and oh what a relief to get my first set of wire strippers. I paid $2 for them, and they are still my primary set
.
Re: NXC: can't read Dexter pressure sensor values
Posted: 27 Feb 2011, 18:42
by HaWe
the value of 183 was only related for the touch sensor pressed.
I certailny know that other analog sensors used by this TOUCH-pseudo-analog-driver may go down to completely 0.
Bot it should demonstrate that is goes from 1023 to 0 (descending pressed -> unpressed) although a touch sensor configured as an analog type gos from 0 to 1023 (ascending pressed -> unpressed). So again:
How is the DxPS configured? 0 to 1023
or 1023 to 0 for ascending pressures?
What raw range SHOULD it have?
Is the maximum kPa value really 40 for about 3 bar = 300 kPa?
what exactly is faulty?
The point is actually now only the RAW value itself.
1) A range only from about 40 to 100 seems faulty to me. - Do you have a wider range with your equipment?
2) Having to use SENSOR_TYPE_TOUCH seems weird and unlogic to me: it's upside down compared to other analog raw inputs (1023...0 instead of 0...1023) - so why use Touch?
3) why doesn't it work if I'm using SENSOR_TYPE_LIGHT_INACTIVE or SENSOR_TYPE_LIGHT or SENSOR_TYPE_CUSTOM? Why isn't there sth like SENSOR_TYPE_ANALOG_STANDARD or however an unfaked "analog standard sensor" may be called by NXC?
So how actually is the correct Sensor Type? Touch intuitively seems to me that it may be the wrong approach...
Re: NXC: can't read Dexter pressure sensor values
Posted: 28 Feb 2011, 07:31
by HaWe
Xander,
I read through both of your postet pdf's but I still can't find anything about the range of raw values of the pressure sensor (for pressures 0...500kPa) if configured as a standard analog sensor. So what raw range do you get with your 250kPa sensor?
Anyone else who got one of those sensors and can test the raw value range by NXC?
Re: NXC: can't read Dexter pressure sensor values
Posted: 28 Feb 2011, 07:38
by mightor
The range -is- there, it's expressed in volts, not 0-1023. It's not rocket surgery to convert the voltage range to a 0-1023 range when you use 4.85V as your reference voltage (as in my drivers).
- Xander
Re: NXC: can't read Dexter pressure sensor values
Posted: 28 Feb 2011, 07:51
by HaWe
thx, I admit that this whole load of English-language electronic information was not easy to read.
Though the voltage of 4,85 V I found, I still have no idea how is this voltage calculated into an expectable range of raw value?
Re: NXC: can't read Dexter pressure sensor values
Posted: 28 Feb 2011, 08:14
by mightor
The data sheet says the output voltage range is 0.2 to 4.7V. So if the 0-1023 spans a voltage range from 0-4.85V, then 0.2 to 4.7V is....
about 40 to 990 if there's no interference from the firmware internals.
Also the datasheet assumes Vref is 5, which is not the case with the NXT, so your results may be somewhat different from the theoretical.
- Xander
Re: NXC: can't read Dexter pressure sensor values
Posted: 28 Feb 2011, 08:27
by HaWe
thanks - that's what I have been afraid of.
my ranges are going just from about (drifting) 35(40) up to 100 (110), that's far too little.
So now either the NXC analog raw driver is faulty or the sensor itself is defective.
It would help if you could confirm that raw value range up to 900 (or whatever) with your equipment and your posted NXC driver (using TYPE_TOUCH ).
If the 250kPa sensor has got this raw range approximately, than my sensor definitively is broken (and the software driver is ok).
Re: NXC: can't read Dexter pressure sensor values
Posted: 28 Feb 2011, 09:18
by mightor
...or you could get over your issues with ROBOTC and try it with my test program and driver. Make sure you modify it to call the 500kPa sensor functions.
I have other things on my plate today that have a much higher priority (personal stuff).
You have options, utilise them.
- Xander
Re: NXC: can't read Dexter pressure sensor values
Posted: 28 Feb 2011, 11:19
by HaWe
I didn't give you orders to do it here and now, and if you don't want to do it some day no one can force you to do that.
On the other hand I had asked if other people may have this sensor to test it.
So please stop offending me.
Re: NXC: can't read Dexter pressure sensor values
Posted: 28 Feb 2011, 11:27
by mattallen37
I am sure that Xander doesn't mean to offend you.
If, using SensorRaw, the value range is still 40-100, for 0-70 psi (or the other way around), then I would say the sensor is defective.