Finding the Right Weight Sensor for a Color-Changing Coaster Prototype

  • #1
nickbink
4
0
Hi all, I'm new to the forum so I hope I'm posting this in the right place. I'm currently working on a senior design project which requires my team to create a working prototype of a coaster that changes color based on how full the drink on top of it is. We plan to control the prototype with some simple Arduino logic which lights up different LEDs at different weights (e.g., full, 2/3-full, 1/3-full).

The problem is finding an effective weight sensor. My team has purchased a force-sensitive resistor (FSR) but found that it's not quite precise enough to give us the results we're looking for. The sensor we use should work within a range of about 1-4 lbs. Does anybody have any suggestions on a sensor that might work for us? We're looking to keep the budget under $100. Thanks in advance for the help!
 
Engineering news on Phys.org
  • #2
nickbink said:
Hi all, I'm new to the forum so I hope I'm posting this in the right place. I'm currently working on a senior design project which requires my team to create a working prototype of a coaster that changes color based on how full the drink on top of it is. We plan to control the prototype with some simple Arduino logic which lights up different LEDs at different weights (e.g., full, 2/3-full, 1/3-full).

The problem is finding an effective weight sensor. My team has purchased a force-sensitive resistor (FSR) but found that it's not quite precise enough to give us the results we're looking for. The sensor we use should work within a range of about 1-4 lbs. Does anybody have any suggestions on a sensor that might work for us? We're looking to keep the budget under $100. Thanks in advance for the help!

Why is the FSR not precise enough.
What are it's specifications. It is very possible you are not scaling the circuitry around it.
What kind of precision do you need?

that being said look at this.
http://bildr.org/2012/11/flexiforce-arduino/
 
  • #3
Hi Don, thanks for your response! The FSR we got actually ended up having too low a weight range to be able to handle a full glass of water (output voltage would max out at medium-high weights), but we are having problems beyond that. We practiced using it with smaller weights (some small gears we found lying around) and found that the output voltage is not very consistent when the same amount of weight is placed on it. Further, the resistance of the FSR does not seem to change instantaneously when weight is removed from its surface (output voltage remains high). Here are the specs on the FSR we purchased: https://cdn-shop.adafruit.com/datasheets/FSR400Series_PD.pdf.

Overall, we think this FSR may just be too cheap to do what we want effectively. We have thought about looking into a flex sensor as well, so thanks for the suggestion. Specifically, we need to be able to differentiate between three ranges of weights: 2.3-2.65 lb, 2.65-3.0 lb, and 3.0-3.3 lb. If you know of any other weight sensors that may work for our purposes, please let me know!
 
  • #4
nickbink said:
the output voltage is not very consistent when the same amount of weight is placed on it.
you need to make sure the weight is distributed evenly across the sensor.
If you got an improperly sized FSR try getting a properly sized FSR.

The rise time of the FSR is in the microseconds scale so the issue with step time is most likely due to your implementation.
What kind of circuitry are you using to bias the FSR and obtain a measurement.
 
  • #5
We have made sure the weight is evenly distributed by placing a square piece of foam on top of the sensor. But I'm really not sure what's causing the problem with step time - our circuit is set up exactly like the one shown here: http://bildr.org/2012/11/force-sensitive-resistor-arduino/

We've tried using a variety of resistors between 3k and 100k ohms for RM, but we still experience the same problem with the voltage not returning to zero when weight is removed. Picking up the sensor and shaking it slightly seems to fix this. I'm wondering if contacts within the sensor somehow stay pressed down even after weight is removed, causing the FSR to have a lower resistance and act as if there's still weight on top of it.
 
  • #6
Also from a system level, what differentiates different drink sizes. Some drinks (martinis) will have big heavy glasses while other drinks (scotch) might have a small glass.
 
  • #7
nickbink said:
We have made sure the weight is evenly distributed by placing a square piece of foam on top of the sensor. But I'm really not sure what's causing the problem with step time - our circuit is set up exactly like the one shown here: http://bildr.org/2012/11/force-sensitive-resistor-arduino/

We've tried using a variety of resistors between 3k and 100k ohms for RM, but we still experience the same problem with the voltage not returning to zero when weight is removed. Picking up the sensor and shaking it slightly seems to fix this. I'm wondering if contacts within the sensor somehow stay pressed down even after weight is removed, causing the FSR to have a lower resistance and act as if there's still weight on top of it.

Don't just experiment with resistors. First find what the resistance of the FSR in your desired force range. Then use your voltage divider equations to determine which resistor to use. Its a senior design project, you should have some real design work in there!

Look at the graph on page 3 of the datasheet. You want the VO curve to be as steep as possible over the force range you are looking at. That will give you maximum resolution.
As for the sticking, not sure how to help you unfortunately :(
 
  • #8
Thanks, we had the same idea with aiming for the right sensitivity. We'll start by getting a force sensor that covers the proper range of weights.
 
  • #9
nickbink said:
Thanks, we had the same idea with aiming for the right sensitivity. We'll start by getting a force sensor that covers the proper range of weights.
awesome. let us know how it goes.
 
Back
Top