Dehnungsmessstreifen mit Arduino auslesen

Hallo,

ich habe mich neu hier angemeldet, weil wir in der Uni im Moment ein Projekt mit Arduino Uno haben
und ich derzeit nicht weiter komme. Ich hoffe darauf, dass mir hier jemand weiterhelfen kann! :slight_smile:

Zur Aufgabenstellung: An einem einseitig eingespannten Biegebalken befinden sich zwei Dehnungsmessstreifen (einer oben, einer unten; Nennwiderstand 120 Ohm), die mit dem Arduino ausgelesen werden sollen. Der Balken soll am freien Ende mit Gewichten belastet werden und über einen Display sollen Gewicht sowie Durchbiegung ausgegeben werden.

Wir haben die Dehnungsmessstreifen mit zwei Ersatzwiderständen (120 Ohm) zu einer Wheatstone Brücke geschaltet. Diese wird über den Arduino mit 5V gespeist. Die Differenzspannung soll dann durch einen Instrumentenverstärker (AD620) verstärkt werden. Eigentlich um das 1000-fache, aber momentan arbeiten wir mit der 100-fachen Verstärkung, weil wir dafür den passenden Widerstand (499 Ohm) direkt zur Verfügung hatten. Versorgt wurde bisher mit 3,3 V oder 5 V vom Arduino oder mit einer Batterie von 8,4 V. Das Ausgangssignal messen wir dann mit dem Arduino als Voltmeter (das Programm hat mit bekannten Spannungen auch eigentlich funktioniert) und zum Vergleich mit dem normalen Voltmeter.

Nun zum Problem: Wir bekommen zwar tatsächlich einen Ausschlag, der zeitweise auch realistisch und linear erscheint, jedoch scheinen die Werte willkürlich zu schwanken? Das heißt zunächst scheinen die Werte konstant, dann berührt man den Aufbau (die Schaltung, nicht den Balken und die Gewichte) und man hat plötzlich komplett andere Werte (1-2 V mehr oder weniger). Teilweise schwanken die Werte auch, obwohl nichts berührt wurde und zeitweise stimmen die Werte auch nicht mehr mit denen des Voltmeters überein. Überhaupt schwanken die Werte beim Arduino-Voltmeter wesentlich mehr als die des "normalen" Voltmeters. Woran kann das liegen?

Zuerst dachten wir daran, dass die Steckbrücken und das Steckbrett qualitativ schlecht sind. Aber kann das tatsächlich der einzige Grund sein bei so extremen Schwankungen? Gibt es vielleicht noch Lösungsansätze die wir nicht bedacht haben?

Vorab schonmal vielen Dank! Und Entschuldigung, falls das ganze etwas stümperhaft klingt... Ich arbeite das erste Mal mit Arduino und was Elektrotechnik angeht, habe ich leider auch ein ziemliches Brett vorm Kopf :-[

Liebe Grüße,
Leylesch

Die Steckbrücken sind wirklich grauenhaft schlecht.
So aufwendig scheint euer Aufbau nicht zu sein. Ich würde ihn auf
Lochraster zusammenlöten. Das würde schlechte Kontakte schon mal ausschliessen.
Gerade wenn die Masseverbindung wackelt messt ihr die dollsten Dinger.

Ulli

Bei Dehnungsmesstreifen u. Wägezellen geht es bei der Auswertung um Millivolt! Unterschiedliche Materialien bei Steckverbindungen können thermoelektrische Spannungen in der selben Größenordnung nach sich ziehen. Darum löten! Nächster Punkt: Kabel so kurz wie möglich, am besten noch abgeschirmt und den Schirm einseitig auf Masse legen. Masseverbindungen sind sternförmig anzulegen und sollten sich am Arduino treffen. Wenn alles hinternander weg verkabelt wird, kann ein Spannungsabfall auf Masse schon eine Signalverschiebung bewirken. Masseschleifen wirken wie eine Trafowindung und fangen Netzbrumm ein. Am Arduinoeingang solltest du einen Folienkondensator gegen Masse legen, oder ein RC Glied schalten. Beides wirkt als Tiefpass, so das hochfrequente Störungen nach Masse kurzgeschlossen werden. Ich habe z.B. an einen analogen Eingang einen LM35 Temperatursensor an 2m Kabel angeschlossen. Mit 1µF Folie - kein Elko! - habe ich ein ganz stabiles Signal ohne jegliches Zappeln.
Kein Elko übrigens deshalb, weil ein Elko ein paar mV verfälschen kann, weil er parasitär als elektrochemisches Element arbeiten kann. Wenn dann noch notwendig würde ich per Software einen Mittelwert bilden aus so ca. 10-50 Messungen. Das beruhigt die Anzeige ebenfalls.

nix_mehr_frei:
Wenn dann noch notwendig würde ich per Software einen Mittelwert bilden aus so ca. 10-50 Messungen. Das beruhigt die Anzeige ebenfalls.

Das kannst du am einfachsten mit der RunningMedian Lib machen. Da bekommst du immer über die letzten x Messungen den Mittelwert oder Median, und nicht nur einmal alle 50 Messungen. Wenn du den Median nimmst, geht das sogar mit der Steckbrettverkabelung :slight_smile: :slight_smile: :slight_smile:

Vielen Dank für die schnellen Antworten! :slight_smile:

Das mit dem Lochraster werden wir ausprobieren! Mittelwert haben wir mit dem Programm auch schon ausprobiert. Wurde allerdings nicht viel besser dadurch, aber vielleicht müssen wir da auch einfach nochmal drüber schauen. Der Rest sagt mir jetzt auf Anhieb leider nicht so viel...... muss ich mich wohl erstmal einlesen! :confused:

Als ich "Wheatstone Brücke" las, fragte ich mich, ob da wohl jemand was zu weiß. Aber dann kamen "30 Jahre Elektronikbastelei" => Chapeau!

Ich hätte da mal noch ne Frage die zwar nicht direkt zum Thema gehört, aber auf die ich durch diesen Thread gestoßen bin.

Ich wollte die RunningMedian Lib unter Arduino/libraries/RunningMedian at master · RobTillaart/Arduino · GitHub herunterladen.

Allerdings finde ich dort keinen Link zum Download. :confused:
Was mache ich (blutiger Anfänger) falsch?

Vielen Dank

Ist etwas seltsam. Klicke oben links auf "<> Code". Auf der Seite ist dann ein Download Link der alle seine Libs enthält. Ist aber nicht viel. Da kannst du dann nur den Ordner nehmen den du brauchst.

So sieht die Seite aus.

Unbenannt.PNG

Aber wenn ich einen der Links anklicke, öffnet sich nur eine Seite mit dem Code.

"Download zip" hast du auf der "<> Code" Seite nicht gefunden?

https://github.com/RobTillaart/Arduino/archive/master.zip

Wie Blind kann man sein???

Ich dachte auf der RunningMedian-Seite müsste direkt was sein.

Jetzt hab ich den Link auch gefunden. Man kann also nur alle zusammen runter laden.

Vielen Dank für die Geduld.

StefanS:
Ich dachte auf der RunningMedian-Seite müsste direkt was sein.

Das ist normal auch der Fall. Deshalb habe ich gesagt, dass die Seite etwas komisch ist

Kann man denn bei den Lochrasterplatinen einfach "irgendwas" nehmen oder gibt es da große qualitative Unterschiede? :o

Bei Hartpapierplatinen lösen sich ziemlich schnell die Lötaugen ab.
Sollte schon glasfaserverstärktes Epoxydharz (FR4) sein. Verzinnte Exemplare erleichtern das Löten.

Grüße Uwe

Sich ablösende Lötaugen hat es aber auch schon bei Billigstnachbauten von Nanos. Von da her ist das Grundmaterial nicht unbedingt ein Garant für Qualität. Ich verwende für Prototypen Das billigste Lochrastermaterial, was es bei Reichelt gibt. Ich packe die Platten erst aus der Tüte, wenn ich sie verwenden will. Wobei Reststücke, die ich abschneide, dann schon mal anlaufen. Aber mit einem Tropfen in ISO gelösten Kolophonium kriege ich jedes Lötauge drangebraten :slight_smile:
Nur für SMD sollte man dann verzinnte Pads usw. haben, da es sonst wirklich nervig wird.

Es gibt Neuigkeiten! Im Moment scheint das Ganze (auch mit Steckbrett) über das Voltmeter zu funktionieren. Die Werte waren gestern linear und haben kaum geschwankt. Jedoch besteht das Problem mit den schwankenden Werten beim Arduino weiterhin :confused: Konkret: Schließt man eine bekannte Spannung an den Arduino an bekommt man ziemlich genau den Wert raus und zwar auch konstant. Schließen wir aber die DMS an schwankt es immer noch bis zu 2V. Das Voltmeter hingegen bleibt konstant. Also dürfte es ja eigentlich nicht an der Schaltung liegen oder seh ich das falsch? Wir haben, um Fehler bei der Programmierung auszuschließen, uns dann auch direkt das Einggangssignal angeguckt und dieses schwankt ebenfalls.

Wir werden trotzdem die Tage noch löten. Mussten aber zunächst die Materialien besorgen. :slight_smile:

Leylesch:
Es gibt Neuigkeiten! Im Moment scheint das Ganze (auch mit Steckbrett) über das Voltmeter zu funktionieren. Die Werte waren gestern linear und haben kaum geschwankt.
Konkret: Schließt man eine bekannte Spannung an den Arduino an bekommt man ziemlich genau den Wert raus und zwar auch konstant. Schließen wir aber die DMS an schwankt es immer noch bis zu 2V.

Das klingt nach schlechten Steckkontakten oder zu langen/ungünstig geführten Kabeln. Kontrolliert sowohl Signal als auch Masse/GND auf guten Kontakt, wechselt auch mal die Kabel, nicht, dass die einen Bruch haben.

Kleinere Schwankungen können auch durch Schwankungen in der Versorgungsspannung des Arduinos entstehen, wenn die als Messreferenz genommen wird.

Theseus:
Das klingt nach schlechten Steckkontakten oder zu langen/ungünstig geführten Kabeln. Kontrolliert sowohl Signal als auch Masse/GND auf guten Kontakt, wechselt auch mal die Kabel, nicht, dass die einen Bruch haben.

Das war auch unser erster Verdacht. Aber da es gestern nur nicht mit dem Arduino (mit dem Voltmeter schon) funktioniert hat, dachte ich es müsste doch einen anderen Grund geben? Die Schaltung und die Kabel sind ja beim Voltmeter gleich. Oder steh ich da jetzt irgendwie auf dem Schlauch? :smiley: Oder ist der Arduino da empfindlicher als ein normales Voltmeter?

Leylesch:
Oder ist der Arduino da empfindlicher als ein normales Voltmeter?

Mir fällt dazu das Stichwort "Anpassung" ein. Das Voltmeter hat einen anderen Innenwiderstand als der Arduino und eine andere Meßart. Der Arduino lädt, wenn ich es richtig weiß, einen Kondensator auf und mißt die Ladezeit (wenn das nicht stimmt, bitte korrigieren). Wenn der Verstärkerausgang nun sehr hochohmig ist, liefert der nicht genug Ladestrom. Ok, das ist jetzt hochgradig spekulativ, da ich ja Eure Schaltung nicht kenne.

Habt Ihr denn die Anregungen von #2 probiert?

Wer einen Verstärker baut, erhält einen Schwingkreis :slight_smile:

Der Fehler scheint ja im Detail zu liegen.

Ich war davon ausgegangen, dass ihr unterschiedliche Kabel benutzt, da Voltmeter üblicherweise 4mm-Buchsen haben und der Arduino nur Stiftleisten. Unterschiede zw. Voltmeter und Arduino könnte in unterschiedlichen Impedanzen (s. Agmue) oder bei Netzbetrieb unterschiedlicher Erdung liegen. Ist das Voltmeter analog oder digital?

Was passiert, wenn ihr Voltmeter und Arduino parallel anschließt?

Vielleicht liefert ein Foto des Aufbaus mit Arduino und Voltmeter noch Ideen, was schief laufen könnte.