Rebecca Bray : ITP : Spring 2006 : Sensor Workshop Class

March 17, 2006
Flex Sensors Sensor Report

My sensor report is on flex sensors - including the usual suspects plus a force/flex sensor.

March 3 , 2006
Datalogging

I got data from a potentiometer to Processing, then used PHP to log into an online text file.... see report.

Pressure sensor

February 12 , 2006
Data Sheets Analysis

I've looked at 2 datasheets:

Silicon Pressure Sensor

Sonar Range Finder



February 10 , 2006
Maxbotix Sonar Range Finder

One cool thing is that this is a brand new product. A guy designed it and it just came out in January 2006. So people are just starting to use it, and the documentation isn't too complete yet. There is some discussion in forums, and most of the feedback from robotics enthusiasts is good.
- Robot Forum Inversion War: a long and confusing discussion between Bob Gross, the designer of the product, and a bunch of people concerned with the datasheet and the way the sesnor is dealing with inversion.
- Hardware Plug another online forum where Bob introduces his product and gets feedback from users... Some more comments about the inversion issue. It's a TTL -level RS232 (link: Practical Tips on Serial Communications)?

The data sheet says the circuit requires some LM324 Low Power Quad Operational Amplifiers and a BAV99DA diode array.

Operational amplifiers serve to amplify the voltage. If there are very small changes in the readings, you need to amplify them to get good data. There are various resisters in this circuit, and I believe that by adjusting them you can adjust the scale of the readings. I don't know what kind of LM324 to buy- a search on DigiKey brings up 41 different ones.

The switching diode array - I'm not sure why it's here. I understand that diodes help to ensure that voltage does not flow in the wrong direction. I'm not clear on whether this is necessary for the operation of the circuit.

I tried to simply put plug in the power, ground and PW to see if I could get a reading on the oscilliscope, but nothing happened, so I'm going to assume that the op amp and diode array are necessary!

On Tom's site there's an example of an op amplier and diode array, used there with a piezo as sensor. I see that the diodes are used to make sure that the reading is always positive and the amplifier is used to amplify the reading, but I don't get why, in the MaxSonar circuit, the amplifier and diode array are not arranged between the sensor and microcontroller.

Anyway, I borrowed an LM386 op amp, to see if that works for the analog in pin. Why does this go into two pins on the circuit diagram on the datasheet?

Oh - now I see that the LM324 has 14 pins - now the circuit diagram makes much more sense. But it means that I can't test this thing out until I order and get this part. I do want to find out if I can make my own diode array or if I have to use the one specified.

Questions:
- how do i choose a LM324 operational amplifier? what would the readings be if this weren't used?
- can I create my own diode array for this? what exactly is the array needed for?
- Why does analog in go in to 2 pins on the circuit diagram on the datasheet? Same for RX and TX. Is that just showing options?

February 5 , 2006
Week 3: Sensors ordered

I ordered an ultrasonic range finder - i found it because it was mentioned here on Tom's site. And there are great articles on Acroname about ultrasonic sensors that I think will come in handy. I also got a pressure sensor from Jameco.

Maxbotix Sonic Range Finding SensorPressure sensor
MaxSonar-EZ1
Datasheet
FAQ on Maxbotix

0 to 1.45 PSI Pressure Sensor
Motorola MPX10GS
Datasheet
Jameco page

bx24I also bought a BX-24p microprocessor...

January 31, 2006
Week 3: Datasheets Research

Some initial research into possible sensors to look into for the datasheet assignment:

Environmental Sensors list... I'm particularly interested in looking into the radiation detectors and solar radiation detectors because of the possibility of detecting problematic radiation (how much is leaking into Williamsburg from the Radiac building anyway?), or good solar radation that could be used for solar power. Also the fact that there are "leaf wetness sensors" is strange and interesting... I like the idea of working with air or water quality sensors too. Jen Kirsher's report on gas sensors is good. The prices I've seen for many of these gas sensors has been in the hundreds-of-dollars range.

Looking at Texas Instruments' list of sensors, I realize how many hidden ones we have around us - measuring things like temperature and humidity for thermostats and refridgeration in stores.

Ultrasonic sensors are super interesting. Here's a site with good documentation. These sensors can be used to measure wind speed, echo ranging(?), and solid and liquid measurements, as well as having some sort of doppler applicaiton. The low cost HE240 are $63 each (transmitter and receiver). I have this pair, but the data sheet is horrible on them.

And then there are pressure sensors. This silcon pressure sensor is designed for use in all sorts of applications. (ordering info).

Motion sensors: a great simple explanation on How Things Work, and here's a pyroelectric motion detection sensor that this guy used to make a robot to chase his Chihuahua. And some application notes and little comics! from a company that creates motion-detection sensors.

This "Optical Through Air Communications Handbook" is interesting.

I'm also into looking into sensors that detect proximity and/or touch. I'll need to do more research into what's out there....

Here are some sensor explanations from Educypedia.

January 28, 2006
Week 2: Sensors and Time

I worked with a flex sensor, and used Tom's Datalogger code for the processing graph at first, since it's a very nice simple visualization of the data over time. It helped to see the noise in the readings, and that I would need to determine how I would use the sensor before doing adjustments. In other words, if the sensor is going to be used to detect slight pressure in the middle versus an extreme curved bending, the calibration will need to be different, as should the visualization of it.



As you can see from the processing output above, there is quite a bit of noise after the sensor has been flexed. It takes some time to recalibrate to its untouched state.

I would like to use the flex sensor at some point to measure pressure - how much someone is pressing on a soft object. So, it makes sense to have the sensor held at both ends, and measure how much the middle is bending. Here's the reading on that:

The chart above is great for showing the relationship between direction of the bend and types of readout, but it also appears that a bend to a left gives more noise. It's also interesting that previous to the initial touch (left part of graph), the low readings were higher than after bending.



It's clear that there is some noise here. The diagram above shows the sensor in a straight upright position - no bending throughout the reading. It jumps around when not touched, but a little less so after an initial touch. The low values pictured here are between 0 to 15 and the high are from 248 to 255. The tall thick strip to the right happened when I put my hand on the sensor but did not flex it.

View the: PIC code | PROCESSING code.

I decided to try out the sensor in what could be a real-world application, to get more of a feeling of how these issues in the reading might be problematic, and how to best fix them.

I put the flex sensor in plastic tubing, sticking out of a hard foam structure - like a joystick (photos coming soon). Then I started to recreate the above graphs as the processing app pictured below so you can control the skiier and try to keep him as close to slopes as possible by bending the sensor.



I didn't finish the processing code for this, but it's clear that the issue with high/low values when the sensor is straight upright will be a real problem in this application - one that I'm not sure how to best fix.

I wasn't in class last week, but I found Min's threshold and peaks notes helpful:

Establish a threshold
Code for keeping track of past and the current
Beginning
IF (past <=threshold) and (current> threshold)
End
IF (past >=threshold) and (current< threshold)>< /threshold)>
Peak
IF (current>=peak) then peak= current
Finding local peaks
IF (current<=past) and (past>=ancient) then local peak=past
problems- noise

I would like to work with 3 QProx sensors I have but found that the data wasn't as interesting as the flex sensor for this assignment, since it's an on-off. But I think there are noise and edge considerations that I would like to get into with those.

I also would like to work with the 2-part ultrasonic sensor I have, but the Jameson data sheet is a little lacking...

January 19, 2006
Week 1: Sensors in Everyday Life

Some of the sensors I come across:
- iPod buttons
- smoke alarm
- carbon monoxide detector
- MetroCard swiper
- credit card scanner
- elevator door motion sensor
- auto flush toilets
- shoplift gates at Kmart

 


My Links

PComp

Main RBray:ITP

 

Resources

Class site

Physcomp main

Tom's site and resources

John Babcock - good documentation

Educypedia - sensors

 

Inspiration

Tom's inspiration list

Jen Lewin - Laser Harps, Butterfly, etc.

Jim Campbell LED movies

Jeff han

Solarbotics

 

 

Back to Top