Show Posts
Pages: 1 [2] 3 4 ... 18
16  Using Arduino / General Electronics / Re: How does this sensor measure liquid level? on: July 03, 2013, 09:41:26 pm
That doesn't answer my question. I understand how this type of measurement works between two capacitive plates, as I stated in my question.

But how did they do it with what appears to be only ONE capacitive side/plate/pad placed on the container?

Reading the capacitance can give you the water level using some calculations.
17  Using Arduino / General Electronics / Re: How does this sensor measure liquid level? on: July 03, 2013, 11:32:37 am
@MarkT, But there appears to be only one plate/set-of-pads (as opposed to two plates with one on each side of the container), so what do you mean, "to each other"?
18  Using Arduino / General Electronics / How does this sensor measure liquid level? on: July 03, 2013, 10:35:54 am
I am familiar with a method of estimating the liquid level which is done with two plates of a large capacitor -- one plate on each side of the beaker/container. As the liquid level rises, the dielectric changes, so the capacitance between the two plates changes. Measure the capacitance, and you can calculate the liquid level. All good.

But just now, I found this interesting product (also capacitive based), which seems to measure the liquid level with the plate/sensor installed on just ONE side of the container -- I don't get how this is possible!
The sensor: http://www.sensortechnics.com/en/products/liquid-level-sensors-and-switches/capacitive-level-sensors/clc/
Datasheet: http://www.sensortechnics.com/cms/upload/datasheets/DS_Standard-CLC_E_11663.pdf

Does someone understand how this works?


19  Using Arduino / Project Guidance / Re: How is this idea to measure a (tiny) gap? on: June 18, 2013, 11:13:07 pm
Why not make a capacitive sensor and measure the capacitance? Depending on what A and B are made of, making the sensor might be as simple as gluing some metal foil on the faces of A and B.
This might work well I think because the foils could be very thin.
This would also make it a very lightweight solution that I could insert and remove when needed.
So the dielectric is air, the cross-sectional area stays constant -- and only the distance between the plates would change, which the capacitance is inversely proportional to.
I presume I would have to use an RC circuit, apply a constant voltage, and track the charging/discharging to infer the time constant. So something like this:
http://arduino.cc/en/Tutorial/CapacitanceMeter

@dc42: How immune would such a sensor be to environmental noise? I am trying to see how I can design this in way that would ensure the capacitance measurement is accurate (able to track the distance between the capacitor plates down to changes of 0.1 mm or better).
20  Using Arduino / Project Guidance / Re: How is this idea to measure a (tiny) gap? on: June 18, 2013, 11:06:34 pm
@Nick_Pyner and @PeterH:
That's the thing; I would like to minimize the number of moving parts, so that the assembly is relatively free, insert-and-remove, and ideally portable.
Gearing and shafts would introduce more moving parts which might contribute to drift over time unless I design it extremely well (which is not assured in my particular case of little mechanically skill).
21  Using Arduino / Project Guidance / Re: How is this idea to measure a (tiny) gap? on: June 18, 2013, 10:18:28 am
@Riva: That's along the right lines I think -- But note that even the very tips of the internal jaws of the caliper are still a bit too thick for my gap. Hence, my thought of perhaps attaching something to the edges of the caliper jaws and then extending that something out into the gap. Hmm...

( Also, the spring you mentioned was just to provide counter-support to prevent the caliper from closing, am I correct? )

Just now, I have also updated the design idea to something like the following -- first image below. And then perhaps use a really compact caliper like the one in the second image at the bottom.

But really, I wish I could somehow just ditch the majority of the caliper altogether, and just find some compact way of measuring the stretching/de-stretching (compression and extension) of the scissor-shaped/alligator-clip-shaped blades in this setup:



22  Using Arduino / Project Guidance / Re: How is this idea to measure a (tiny) gap? on: June 18, 2013, 09:58:05 am
@Nick_Pyner:
Could you elaborate: The leadscrew placed where?
If you are suggesting to attach it behind/to the right of the moving Surface B and track the number of rotations as it closes in on the gap, this is not a viable option in my particular case because of these reasons:
a) the Surface B is actually large/massive (my picture is just an exaggerated illustration)
b) there is no convenient place behind/to the right of Surface B where I can station the encoder/leadscrew, etc.
c) I prefer to isolate the full setup to within the gap's neighborhood, so that I can simply move my setup to another place and use it again.
23  Using Arduino / Programming Questions / Re: Extracting just the decimal part of a float on: June 18, 2013, 09:39:43 am
Yep, worked out well. Thanks all!
24  Using Arduino / Project Guidance / How is this idea to measure a (tiny) gap? on: June 18, 2013, 09:17:06 am
Hello all,

After several days of playing with different ideas, I think I am on the verge of solving this problem -- very close -- but can't quite grasp how to fit in the mechanics.

The goal is: I am trying to measure the gap between two surfaces. The gap has a value between 3 and 9 mm and is closed together over time as a process occurs -- I'll need to measure the gap versus time, so I am considering a setup that I can leave in place and log the data to my Arduino Nano's EEPROM or use an SD shield.

The problem is that I want to measure the gap with a resolution of 0.1 mm or better ideally.

So I gave it a shot using inductive sensors (too big to fit in the gap), computer-vision-based attempt (not very portable), and a couple of other methods.

Finally one day, I was using a caliper and realized that a standard caliper which uses capacitive-plate measurement can easily get this kind of resolution (even 0.01 mm or better), so why not use this readymade device?

Of course, re-designing the whole caliper/capacitive-plates/etc. from scratch would be too complicated for a beginner-intermediate electronics hobbyist like me.
So I am wondering if there are any easy ways I can take my caliper and somehow repurpose it to solve this problem.

For example, something like in the below image. And since I only need 3-9 mm full range of movement, I could cut off all the unnecessary portion of the caliper (for example, in the below image, most of the right-hand section of the caliper.

But could I somehow make it compact or could there be a simplification of this?

I am pretty sure my suggestion isn't as smart with the mechanics as might be possible.

25  Using Arduino / Programming Questions / Re: Extracting just the decimal part of a float on: June 09, 2013, 09:25:15 pm
@Msquare: That much precision is needed (and exists) here because the value being collected (via RS232) is coming in the form of a serial String, as a number with that many decimal points. Then I do some computation with it and, based on the computation, make decisions as well as send the value (or else a message) via an Xbee to a second Xbee.

@robtillaart: Hmm, I didn't consider that possibility; for some reason, I thought the float type would split the significant digits between the integral part and the decimal part in a consistent manner (as opposed to one maximum constraint on the ENTIRE number of digits).
The maximum integral part is 999, so let me give this a shot.


with respect to the problem:
Is there any way to reduce the integral part so the float uses its significant digits for the decimal part?
What is the max integral part?
26  Using Arduino / Programming Questions / Re: Extracting just the decimal part of a float on: June 07, 2013, 09:18:46 pm
Yes, (across many languages) floating point arithmetic in general seems to be have 6-7 total digits of precision.
I've decided to store the data into a string/char-array right at the offset, then either convert it into a long and do arithmetic with it, or else directly store as a string.
27  Using Arduino / Programming Questions / Re: Extracting just the decimal part of a float on: June 06, 2013, 10:30:34 am
Pete, This fails to do the trick because the the 0.00005 addition (to the float) has an uneven effect depending on each different float. E.g., in this case, it resulted in the last two values still being mis-extracted.

Many decimal fractions cannot be represented exactly in binary. The fix is to round the number. Try this
Code:
int DecimalPart = 10000 * (Value - IntegerPart + 0.00005);

Pete
28  Using Arduino / Programming Questions / Extracting just the decimal part of a float on: June 06, 2013, 09:52:57 am
I am having a bit of trouble with the floating precision of float; never thought I would need this many decimal digits of precision but today it happened!

My goal, from a given float (always with four decimal digits), is to extract just the decimal part ("mantissa") as an integer.

So I attempted this method:
Code:
void ExtractDecimalPart(float Value) {
  int IntegerPart = (int)(Value);
  int DecimalPart = 10000 * (Value - IntegerPart); //10000 b/c my float values always have exactly 4 decimal places
  Serial.println (DecimalPart);
}

But the above results in the following (note that the latter two print out wrong):
Code:
ExtractDecimalPart (1234.5677); //prints 5677
ExtractDecimalPart (1234.5678); //prints 5677
ExtractDecimalPart (1234.5679); //prints 5678

What can I do to solve this in an economical way?
29  Using Arduino / Project Guidance / Re: Ardutester - Arduino Component Tester on: June 02, 2013, 06:32:31 am
Very elegant interface too! I'd love to either buy one of your shields, or else would at least like to make one for myself.
Any chance that you will release the Eagle/KiCad files as well? I see you've already sourced the Gerbers.
30  Using Arduino / Programming Questions / Re: How to port Arduino to any given microcontroller on: May 28, 2013, 09:43:40 pm
Noted. Thanks for sharing your perspective.
As far as which uC: No one in particular, but I've been using the Digikey search/sort feature and when I included some features such as N number of UARTs, or integrated CAN, etc., I come up with some really neat, fairly inexpensive microcontrollers that exist out there (e.g., from Texas Instruments), but it's hard to directly jump into these new uC's for a coder like me with experience only on the Arduino platform (and the various libraries). So I thought I'd pick one and see if I could learn how to use them with Arduino sketches.


You should really target your port direct to 1.0.x so as to avoid future complications smiley-wink
Out of interest, which microcontroller are you thinking of porting to?
Pages: 1 [2] 3 4 ... 18