Society of Robots - Robot Forum
Electronics => Electronics => Topic started by: BEAMer on November 19, 2008, 11:04:42 AM
-
hi,
This is not very much related to robotics but i have a doubt on how to read data form a single pressure sensor that has been arranged in the form of a linear array. the sensor is a resistive ink sensor whose resistance decreases linearly with pressure. for an application, the sensors are arranged in a linear array (19 sensors arranged in a single line) and the finger is moved over the array. my aim is to build a circuit that can read this finger movement and display the results in a computer. from the data in the computer, i can see how much pressure i have applied during the whole course of movement of my finger.
This is my purpose and i dont know the circuit and the algorithm of how to scan the sensor data using a microcontroller. i am planing to use serial communication to send the data to the computer where a graph is drawn with the data. moreover the ADC part is only comfusing me. should i use a single ADC or many? are there any circuits like this or should i design one? please guide me.
Thanks in advance!
BEAMer
-
Well . . . the easy way would be to use an Axon with its 16 ADC inputs (is 19 a must?). You won't even have to program anything, just upload the Axon_DAQ.hex file and you're done. It will immediately start sending ADC data directly through USB to your computer.
-
oh.... thank you sir. but i have to use 19 sensors, i dont have any other option. may be i can use a multiplexer to switch the last 3 sensors... i ll surely consider the idea of using the Axon
Thank you
BEAMer
-
or two Axons simultaneously with two USB ports ;D
(not that I'm biased or anything, cough cough :P)
-
ha ha ok...
but i have a question, does the Axon have 16 individual ADCs or one ADC with 16 analog channels....?
-
The very first page of the datasheet says "16-channel, 10-bit ADC"
The first page of the ADC – Analog to Digital Converter in the datasheet says "16 Multiplexed Single Ended Input Channels".
;D :P
-
oh okay. i think i have missed it. ;D
-
but sir, i think there lies the problem.
Imagine i am using 16 sensors and an Axon uC. i will be switching from one sensor value to the other and performing the A/D conversion and storing the 10 bit value in an EEPROM. but, say for an instance, iam scanning the first sensor and the finger is moved from the 13th sensor to the 16th sensor. by the time the program scans the 13 sensor, the value in that sensor would have started to decrease (since the finger is moved from 13th to 16th and the sensors response time is <5 microseconds and the rise time is 0.1 to 0.3 seconds). so i will be registering a pressure lesser than the actual pressure.
I think my thought experiment is right! please guide me! :-[
-
According to the datasheet, each ADC channel has a "13 - 260 μs Conversion Time".
How fast does your finger move anyway?! :o
NO sensor will ever have 100% accuracy:
http://www.societyofrobots.com/robot_faq.shtml#robot_accuracy_tradeoff
And actually, your sensors will be able to work faster than your microcontroller can actually transmit the data to your PC.
-
the finger will be moved quite slowly... say 3 sensors per second (considering the sensors are placed touching each other)...
-
3 sensors per second is 333ms, while the whole process of ADC conversion to USB output to your PC I estimate will be around 10-30ms. It shouldn't be a problem for you.
-
oh... then there shouldnt be a problem... i will try it and let you know. thank you sir