welke sensor kan ik gebruiken

Hardware geleverd door Arduino
Berichten: 22
Geregistreerd: 24 Aug 2016, 11:31

welke sensor kan ik gebruiken

Berichtdoor mattheijer » 27 Aug 2016, 12:06

Ik heb een luchtbevochtiger die gevoed wordt door middel van een petfles.
Nu zou ik van de arduino een signaal krijgen als de fles leeg is.

De fles kunnen geen gaatjes is omdat die op vacuum moet blijven.
is er een sensor die aan de buitenkant van de fles kan meter/zien of het water uit de fles is ?

Advertisement

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: welke sensor kan ik gebruiken

Berichtdoor nicoverduin » 27 Aug 2016, 15:37

Dan zou je al iets moeten doen met lichtbreking oid. Alternatief is een flow meter en als er geen water meer door de leidingloopt, is hij leeg. Of toch een vochtsensor in de fles en dan goed sealen.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 22
Geregistreerd: 24 Aug 2016, 11:31

Re: welke sensor kan ik gebruiken

Berichtdoor mattheijer » 27 Aug 2016, 15:41

nicoverduin schreef:Dan zou je al iets moeten doen met lichtbreking oid. Alternatief is een flow meter en als er geen water meer door de leidingloopt, is hij leeg. Of toch een vochtsensor in de fles en dan goed sealen.


Over een flow meter had ik ook nagedacht alleen hij doet er 10 uur over om een liter water weg te werken.
en in mijn project denk ik dat hij er zelf 3 a 4 dagen over doet.

denk toch maar iets met lichtbreking doen.

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: welke sensor kan ik gebruiken

Berichtdoor nicoverduin » 27 Aug 2016, 16:36

Of gewoon het gewicht meten. Een liter is 1 kg
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: welke sensor kan ik gebruiken

Berichtdoor Koepel » 27 Aug 2016, 18:08

Bijvoorbeeld deze : https://www.iprototype.nl/products/components/sensors/non-contact-liquid-level-sensor
Ik heb die sensor zelf niet geprobeerd want ik las dat er geen mogelijkheid is om te calibreren, en als je de sensor aan zet dan kan er wel of geen water zijn en de sensor zou een verkeerde beginstand kunnen hebben.

Een capacitieve sensor zal toch ook wel lukken ? Heeft iemand daar een voorbeeld van ? Ik heb een Arduino Uno, Koper/Nikkel-tape, en lege flessen.

Gewicht meten kan als de fles staat of hangt. Bijvoorbeeld met een load sensor is het zeer nauwkeurig https://www.sparkfun.com/products/10245 of misschien met een onnauwkeurige drukgevoelige weerstand FSR https://www.sparkfun.com/products/9375.
Het hangt natuurlijk af van de mechanische constructie of het goed werkt.

Als je wilt weten hoe een load sensor werkt, en wat een goede mechanische constructie is, koop dan op een rommelmarkt een electronische personenweegschaal. Ik denk 90% kans dat er een load sensor in zit. Je kunt de load sensors in de weegschaal gebruiken, daar een Arduino met HX711 aan toevoegen, en je fles op de weegschaal zetten.

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: welke sensor kan ik gebruiken

Berichtdoor nicoverduin » 27 Aug 2016, 19:38

Koepel schreef:
Een capacitieve sensor zal toch ook wel lukken ? Heeft iemand daar een voorbeeld van ? Ik heb een Arduino Uno, Koper/Nikkel-tape, en lege flessen.


Je zou het eens kunnen testen door op een pool de PWM te zetten en dan de andere pool aan een analoge poort. Paar hoogohmige weerstanden om ruis af te vangen en dan eens kijken wat er gebeurt. Idee is niet eens zo gek.
Of tone() gebruiken voor de juiste frequentie. Nee heb je....
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 22
Geregistreerd: 24 Aug 2016, 11:31

Re: welke sensor kan ik gebruiken

Berichtdoor mattheijer » 27 Aug 2016, 20:21

Koepel schreef:Bijvoorbeeld deze : https://www.iprototype.nl/products/components/sensors/non-contact-liquid-level-sensor
Ik heb die sensor zelf niet geprobeerd want ik las dat er geen mogelijkheid is om te calibreren, en als je de sensor aan zet dan kan er wel of geen water zijn en de sensor zou een verkeerde beginstand kunnen hebben.


ik denk dat dit toch wel heet meest aansluit bij wat ik zoek.
dankjewel

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: welke sensor kan ik gebruiken

Berichtdoor shooter » 27 Aug 2016, 22:17

goedkoop is met een veer en een microswitch, als de fles leeg raakt, gaat de fles omhoog en raakt de schakelaar.

iets mooier:
een optische sensor rond een pijpje, als het water op is dan is er geen lens meer dus stopt de sensor met het ledje te ontvangen (dit moet wel in het donker)

een pin in het watr steeds laten schakelen en kijken of de andere pin meegaat (de ingangen zijn erg hoogohmig dus je ziet het gelijk.
paul deelen
shooter@home.nl

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: welke sensor kan ik gebruiken

Berichtdoor Koepel » 28 Aug 2016, 10:17

Zoals verwacht is een capacitieve methode gevoelig voor van alles, maar het is nog slechter dan ik had verwacht.
Het blijkt helaas niet betrouwbaar te zijn.

Ik gebruikte de onderste methode van hier: http://www.circuitbasics.com/how-to-make-an-arduino-capacitance-meter/
Waarbij alleen twee pinnen nodig zijn, en verder geen onderdelen. Zie bijlage.

De stukjes metaal-tape zijn 2 x 6 cm, met een tussenruimte van ongeveer 2 mm.

Volgens de sketch:
Met water : 35 pF
Met water en pin A2 aanraken : 45 pF
Met water en pin A0 aanraken : 7 pF
Met water halverwege : 28 pF
Zonder water : 20 pF (16 tot 23)
Met een draad lost van de metaal-tape : 2 pF

Omdat ik ook wat informatie had verzameld, zet ik de sketch hier neer:
cpp code
//
// Water level in a bottle
// -----------------------
//
// For:
// viewtopic.php?f=4&t=1972
//
// With capacitance and Copper/Nickel tape
//
// Capacitance with a pulse or a constant frequency.
// Some water sensors use 100MHz.
// The Arduino Capsense library is also more or less a capacitance meter.
//
// Capacitance meter:
// http://www.gammon.com.au/forum/?id=12075
// (the bottom sketch is the best)
//
// Capacitance Meter sketches:
// http://www.circuitbasics.com/how-to-mak ... nce-meter/
// There is one more sensitive than the Gammon version down to 18pF,
// using the internal pullup resistor.
//
// Arduino CapSense library:
// http://playground.arduino.cc/Main/Capac ... n.CapSense
//
// Level sensing:
// http://husk.eecs.berkeley.edu/courses/c ... /P3-Drinke
// (scroll down for "Level Sensing")
//
// Arduino tone library:
// https://www.arduino.cc/en/Reference/Tone
// For an Arduino Uno it can go up to 65kHz.
// The toneAC can go up to a few MHz:
// https://bitbucket.org/teckel12/arduino-toneac/wiki/Home
//


const int OUT_PIN = A2;
const int IN_PIN = A0;
const float IN_STRAY_CAP_TO_GND = 24.48;
const float IN_CAP_TO_GND = IN_STRAY_CAP_TO_GND;
const float R_PULLUP = 34.8;
const int MAX_ADC_VALUE = 1023;

void setup()
{
pinMode(OUT_PIN, OUTPUT);
pinMode(IN_PIN, OUTPUT);
Serial.begin(9600);
}

void loop()
{
pinMode(IN_PIN, INPUT);
digitalWrite(OUT_PIN, HIGH);
int val = analogRead(IN_PIN);
digitalWrite(OUT_PIN, LOW);

if (val < 1000)
{
pinMode(IN_PIN, OUTPUT);

float capacitance = (float)val * IN_CAP_TO_GND / (float)(MAX_ADC_VALUE - val);

Serial.print(F("Capacitance Value = "));
Serial.print(capacitance, 3);
Serial.print(F(" pF ("));
Serial.print(val);
Serial.println(F(") "));
}
else
{
pinMode(IN_PIN, OUTPUT);
delay(1);
pinMode(OUT_PIN, INPUT_PULLUP);
unsigned long u1 = micros();
unsigned long t;
int digVal;

do
{
digVal = digitalRead(OUT_PIN);
unsigned long u2 = micros();
t = u2 > u1 ? u2 - u1 : u1 - u2;
} while ((digVal < 1) && (t < 400000L));

pinMode(OUT_PIN, INPUT);
val = analogRead(OUT_PIN);
digitalWrite(IN_PIN, HIGH);
int dischargeTime = (int)(t / 1000L) * 5;
delay(dischargeTime);
pinMode(OUT_PIN, OUTPUT);
digitalWrite(OUT_PIN, LOW);
digitalWrite(IN_PIN, LOW);

float capacitance = -(float)t / R_PULLUP
/ log(1.0 - (float)val / (float)MAX_ADC_VALUE);

Serial.print(F("Capacitance Value = "));
if (capacitance > 1000.0)
{
Serial.print(capacitance / 1000.0, 2);
Serial.print(F(" uF"));
}
else
{
Serial.print(capacitance, 2);
Serial.print(F(" nF"));
}

Serial.print(F(" ("));
Serial.print(digVal == 1 ? F("Normal") : F("HighVal"));
Serial.print(F(", t= "));
Serial.print(t);
Serial.print(F(" us, ADC= "));
Serial.print(val);
Serial.println(F(")"));
}

while (millis() % 1000 != 0);
}
Bijlagen
bottle.jpg
fles water arduino
bottle.jpg (26.18 KiB) 9642 keer bekeken

Berichten: 22
Geregistreerd: 24 Aug 2016, 11:31

Re: welke sensor kan ik gebruiken

Berichtdoor mattheijer » 28 Aug 2016, 11:00

dit soort sketchen even uit het hoofd is voor mij nog te hoof maar kan er wel veel van leren.
wat betreft nauwkeurigheid hoef ik alleen maar te weten als de fles leeg is, dus misschien is dit wel een oplossing.
Maar de koelkast waar de fles staat heeft een RV van 80% ik denk dat dat de metalen tape wel zal beïnvloeden ?

Volgende

Terug naar Arduino hardware

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 12 gasten