PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Aludose prüfen



Steglo2
29.02.2012, 19:01
Hallo;)


Gib es einen Sensor der prüfen kann ob eine Aludose gefüllt oder leer ist???
So ein Ultraschallding oder so...:confused:
Wenn möglich berührungslos, also nicht vom Gewicht...
Wenn es soetwas nicht gibt (oder nicht in meiner Preisklasse) wie könnte man es dann realisieren???
Es soll ein Roboterarm werden, der erkennt ob er die Dose in den Müll werfen darf oder nicht.

Danke

Steglo2:cool:

5Volt-Junkie
29.02.2012, 21:02
Mit Ultraschall kann man den Stand messen. Ooooder man misst den Aufnahmestrom der leeren Dose und gibt das als Referenz im Programm ein. Beim überschreiten dieser Referenz ist in der Dose was drin.

joar50
01.03.2012, 10:41
Hallo,
wenn es sich immer um die gleiche Dose handelt, hat dir 5Volt-Junkie schon gute Tips gegeben.
Handelt es sich um unterschiedliche Dosen musst du in der Sensorik und Programmierung ganz schön
zulegen. Ich glaube nicht das das dann noch ein Hobbyprojekt ist.
Ich will dir hier aber nicht den Mut nehmen dein Projekt zu vollenden. Viel Glück.

i_make_it
01.03.2012, 11:19
1234567890

RoboHolIC
01.03.2012, 11:59
Dose am unteren Ende künstlich erhitzen (Infrarot, Induktion, Heißluft) und dabei die Erwärmung (Zeitverlauf) des Blechs messen, beides geht berührungslos. Wenn die Dose leer ist, wird sie sich mangels innerer Kühlung schneller erwärmen.

Steglo2
01.03.2012, 12:07
Vielen Dank für eure Antworten\\:D/
Wie kann man den Aufnahmestrom messen???
ist es mit einem AVR möglich???

Vielen Dank für eure Hilfe

Steglo2:cool:

Che Guevara
01.03.2012, 13:14
Hallo,

könnte man das nicht mittels eines kapazitiven Näherungssensors machen? Einige Flüssigkeiten sollten darauf doch auch reagieren?!

Gruß
Chris

i_make_it
01.03.2012, 13:47
1234567890

5Volt-Junkie
01.03.2012, 17:02
Für Strommessung brauchst du entweder einen Shunt-Widerstand über denn die Spannung (am besten mit einem OP) gemessen wird. Oder du nimmst statt dem Shunt einen Stromsensor z.B. den ACS712. http://www.watterott.com/index.php?x510ab=72ff524cfc85ecd512b4bbfdc15c5239&page=search&keywords=acs712&x=0&y=0

Ich würde einfach den Aufnahmestrom von den Motoren messen, die beim Hochheben aktiv sind und das als Referenz im Code eintragen und die OP-Schaltung auch entsprechend dimensionieren.

Steglo2
01.03.2012, 20:28
Nochmals Danke für die Rückmeldungen ;)

Ein Ultraschallmodul (z.B. http://shop.boxtec.ch/product_info.php/cPath/59_39_81/products_id/40374) ist ja vermutlich nicht geeignnet, da die Module für Distanzmessungen vorgesehen sind. oder???
Wenn man ein einzelnes Bauteil nimmt (ULTRASCHALL SENSOR A-18P20 bei Conrad) steht bei Frequenz 40kHz...
Und laut i_make_it muss die Frequenz durchstimmbar sein. Ist dieser Sensor jetzt nicht brauchbar??? Oder versteh ich da was falsch???
Ultraschallfrequenz geht gemäss Google ab 40kHz...
Wo kann ich die richtigen Ultraschallsender/empfänger sonst kaufen???
Und geht das üperhaupt durch Aluminium???

Zur Stromessung:

Ich bin mir nicht sicher, ob es das so geht, da der Arm nicht mit normalen Motoren funktioniert, sondern mit Modellservos.
Da diese eine eingebaute Elektronik hat, bin ich mir nicht sicher ob es wirklich so geht...
Theoretisch sollte es aber gehen...
Und es sollte sowieso (wenn möglich) einen externen (nicht am Roboterarm) Sensor geben, der zuerst prüft ob die Dose leer ist, und erst dann nach der Dose greift.

Aber trotzdem Danke für den Vorschlag

Zum Erhitzen:

Erstmal: Gute Idee, Danke

Diese Methode geht vermutlich zu lang... :?
Und die Dose sollte nach dem Prüfverfahren noch trinkbar sein...

Also vermutlich ist Ultraschall am besten. Oder etwa nicht???

Vielen Dank ;)

5Volt-Junkie
01.03.2012, 20:41
Uiiiii da hast Du so einiges missverstanden. Mit dem US-Sensor erkennst Du nicht durch die Wände der Dose ob was Drin ist sondern Du musst mit dem Sensor quasi von oben reingucken und denn Flüssigkeitsstand messen.

Servos, Motoren ist doch alles gleich. Du hast bei deinen Servos drei Drähte: z.B. rot, braun und gelb. Gelb ist Signal, rot und braun Versorgungsspannung. Da kannst Du Strom messen.
Aber diese Lösung ist jetzt eh vom Tisch.

Du kannst noch für die Dose ein Plättchen bauen und ein Dehnmessstreifen drunter kleben und das Gewicht messen.
Gleiches Verfahren: leere Dose abwiegen, als Referenz im Code eintippen und alles was drüber ist "Da ist noch was drin!"

RoboHolIC
02.03.2012, 00:33
Mir ist noch etwas eingefallen:
- Ein druckempfindlicher Taster schiebt die Dose weit oben an. Eine leere Dose wird dem Umgekippt-werden viel weniger Kraft entgegen setzen können als eine (teil-)gefüllte, also tendenziell leichter umkippen. Das hätte Ähnlichkeiten mit der Vorgehensweise eines Menschen: Hochheben, Gewicht abschätzen, sacht schütteln; wer guckt schon mit der Taschenlampe in die Öffnung, he? Ich fänd' das witzig.
- Man könnte auch an die Dose ranfahren, die Öffnung -nicht vorhanden oder falls vorhanden, wo- optisch oder mechanisch detektieren und das Vorhandensein von Flüssigkeit durch eine ziemlich hohe Leitfähigkeit (der verdünnten Phosphorsäure, Kohlensäure oder Stammwürze :) ) nachweisen.

jcrypter
02.03.2012, 08:39
Guten Morgen,

ich habe nicht so wirklich Ahnung davon aber ließe sich sowas nicht vielleicht über eine Art kapazitiven Touchschalter realisieren?
Eine Sensorfläche dient als Kondensator. Als erstes wird er entladen, also gegen Masse geschaltet. Dann wird er geladen. Man muss dann eine Zeit festlegen nach der geguckt wird ob die Spannung an der Sensorfläche schon high ist, das muss man ausprobieren. Ich könnte mir vorstellen, dass eine volle Dose eine größere Ladezeit hat als eine leere Dose.


Vielleicht ist das nicht die Lösung aber vielleicht ein Ansatz.

edit:
ich hätte mir zu erst die antworten anschauen sollen.. die idee gabs schon. auch wenn sie nicht weiter besprochen wurde.

Crypi

Steglo2
02.03.2012, 11:58
Ok ich hab mit Arduino einen Versuch gemacht.
Als Stichwort: Arduino Theremin (http://www.google.de/#hl=de&sclient=psy-ab&q=arduino+theremin&pbx=1&oq=arduino+theremin&aq=f&aqi=g1&aql=&gs_sm=3&gs_upl=1328l2772l1l3098l8l6l0l2l2l0l164l886l0.6l8l 0&gs_l=hp.3..0.1328l2772l1l3098l8l6l0l2l2l0l164l886l 0j6l8l0&bav=on.2,or.r_gc.r_pw.r_qf.,cf.osb&fp=a22e34490083e5e3&biw=1058&bih=480)

Zwei Drähte. Wenn sich eine Hand nähert, erhöht sich der Wert.

Hier mal das Programm:

#define outPin 7
#define inPin1 2
#define inPin2 8

void setup () {
pinMode (outPin, OUTPUT);
digitalWrite (outPin, LOW);
pinMode (inPin1, INPUT);
pinMode (inPin2, INPUT);
Serial.begin (9600);
}

void loop () {
int readVal1;
int readVal2;
long t;
boolean done1, done2;
done1 = done2 = false;
t = millis ();
digitalWrite (outPin, HIGH);

do {
if (digitalRead (inPin1) == HIGH) {
readVal1 = (7*readVal1 + millis () - t) >> 3;
done1 = true;
}
if (digitalRead (inPin2) == HIGH) {
readVal2 = (7*readVal2 + millis () - t) >> 3;
done2 = true;
}
}
while (!done1 || !done2);
digitalWrite (outPin, LOW);
Serial.print (readVal1);
Serial.print (" ");
Serial.println (readVal2);
delay (100);
}

Das funktioniert jedoch noch nicht so wie es sollte.
Es ist noch nicht ganz berührungslos ](*,)
Wie könnte man das Ergebnis verbessern???
Und wenn es dann mit meiner Dose funktionieren sollte,
wie muss ich das Anschliessen???
Es sind ja zwei Drähte, aber die Dose hat ja nur einen "Pol", da sie gesamt aus Alu ist...

Vielen Dank;)

Steglo2:cool:

RoboHolIC
02.03.2012, 15:10
... aber die Dose hat ja nur einen "Pol", da sie gesamt aus Alu ist...:cool: und stellt somit einen Faraday'schen Käfig dar, dessen Inhalt keinen Einfluß auf die elektrischen Effekte in der Hülle haben dürfte.

Steglo2
02.03.2012, 15:34
Das habe ich eben auch gedacht.
Darum hatte ich nochmal gefragt.

Ich sehe schon das das ganze nicht so einfach wird...

Dann werde ich mich zuerst auf den Arm konzentrieren;)
Oder es trotzdem mit dem Gewicht oder dem Umstossen oder Ultraschall machen.

Trotzdem Vielen Dank an alle!!!
Danke für die Ideen.
Werde mich melden wenns Erfolge gibt...

Steglo2

i_make_it
02.03.2012, 19:29
1234567890