PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : DMS auswerten... aber wie?



Gr5
22.12.2014, 13:49
Hallo,

auf der Suche nach einer Lösung eines aktuellen Problems bin ich auf euer Forum getroffen und dachte mir hier bin ich sicher richtig mit meiner Frage.

Ich möchte 8 Kraftsensoren (/Wägezellen) auslesen. Es hat sich schon herauskristallisiert, dass es ein Metall-DMS basierter Kraftsensor sein soll. Nun frage ich mich natürlich, wie lese ich das Signal am besten aus ohne es zu verfälschen. Ich brauche einen recht genauen Wert. Der Messbereich soll etwas bis 500mN gehen und ich würde gerne mind. 0,5mN auflösen. Als Sensor habe ich an folgenden gedacht: Zelo 1004 (Datenblatt im Anhang). Laut Datenblatt kann man eine Genauigkeit von 0,2mN erreichen.

Mehrere Optionen stehen jetzt zur Verfügung um das Signal zu messen:
1. Selber einen Signalverstärker löten und mit einem Arduino Uno(R2)[2 wären nötig] oder einer NI 6733 auslesen
2. Fertige Lösung (Plug&Play) kaufen

Wenn ihr noch Werte brauchen solltet, die wichtig für die Auslegung sind reiche ich diese natürlich gerne nach.

Gruß,
Gr5

Hubert.G
22.12.2014, 14:07
Ein Meßverstärker mit z.B. einem AD623 ist recht einfach aufgebaut.
Mit dem 10bit ADC des Uno sind die 0,5nM aber schon die Grenze des erreichbaren.

Gr5
22.12.2014, 14:15
Ja man sagte mir auch den Messverstärker zu löten wäre nicht das Problem. Wie kann ich das mit den 10 Bit verstehen?

Hubert.G
22.12.2014, 14:25
Wie kann ich das mit den 10 Bit verstehen?

10 Bit ergeben 1024 Abstufungen. Wenn du 500mN mit 0,5mN Auflösung willst, dann wären das schon 1000 Stufen. Also geht nicht viel mehr. Ich hoffe es ist verständlich ausgedrückt.

Gr5
22.12.2014, 14:31
Achso, ich hatte das Komma falsch verschoben. Ja richtig. Das bedeutet ich könnte mit einem selbstgelöteten Messverstärker und 2 Arduino Unos meine 8 Kraftsensoren ausmessen und das mit 0,5mN Genauigkeit?

Wo sind mögliche Fehlerquellen?

Peter(TOO)
22.12.2014, 15:38
Hallo,

Wo sind mögliche Fehlerquellen?

Die Empfindlichkeit liegt bei 0.9mV/V

Wenn du die Brücke mit 10V speist, sind das 9mV bei 300g.

500mN sind 51g
Du bekommst also (9mV*51g)/300g = 1.53mV bei 51g = 500mN
0.5mN entsprechen dann 1.53µV

Das ist dann so etwa die Empfindlichkeit eines UKW-Radios.

EMV ist dein grösstes Problem!

MfG Peter(TOO)

Besserwessi
22.12.2014, 17:36
Als Fehlerquellen gibt es einmal die Sensoren selber, so wie im Datenblatt beschrieben, also vor allen Temperatureffekte und wenn die Karftrichtung nicht ganz stimmt.

Dazu kommen dann Fehler des Verstärkers - bei so kleine Gleichspannungen vor allem Offsetspannung des Verstärkers und Thermospannungen an Kontakten und auch dem Sensor. Bei Anregung mit Wechselspannung könnte man diese Fehler weitgehend Vermeiden. Für 8 Sensoren würde sich das vermutlich auch lohnen, weil die Verstärker einfacher werden können. Die Auswertung der Wechselspannung kann der µC übernehmen, was aber schon etwas Programmieraufwand erfordert und für 8 Sensoren an einem µC nicht mehr unbedingt zur Arduino Umgebung passt. Es wäre auch schön wenn man 9 ADC Eingänge hätte, was die meisten AVRs nicht bieten. Auch das Rauschen des Verstärkers und Einstreuungen muss man berücksichtigen - besonders schnell geht die Messung also nicht.

Für 0,1 % Auflösung reicht ggf. noch gerade so der interne 10 Bit AD Wandler im Arduino - die Genauigkeit leidet da aber schon etwas, denn es kommen auch da Fehler vom ADC dazu. Ein ADC mit z.B. 12 Bit wäre schon besser.

Für erste Erfahrungen sollte man erst einmal eine Schaltung für nur einen Kanal aufbauen.

crabtack
24.12.2014, 21:14
Hi!

Also, wenn es nicht unbedingt ein Arduino sein soll würde ich einen Atxmega empfehlen.
Je nachdem, welchen du willst 16 ADC Pins und bis zu 5 (oder 4, bin mir grad nicht sicher) Converter, so, dass du mehrere Messungen gleichzeitig machen kannst.
Da hast du auch ne Referenzspannung von 1,2V und kannst dir einen Messverstärker somit sparen.

Wenn es mit Arduino sein soll, dann würde ich für jeden Sensor einen eigenen 12Bit ADC verwenden, die kannst du dann schön Digital mit dem Arduino auslesen.
Dann brauchst du natürlich einen Messverstärker, ich habe ihn nicht getestet, aber ich denke, der hier wird funktionieren:
http://www.mikrocontroller.net/attachment/22730/DMS_Kopie.jpg
Im Idealfall dann alles in ein Weißblechgehäuse und Abgeschirmte Leitungen zu den Sensoren.
Im Idealfall baust du für jeden der Sensoren einen eigenen Verstärker auf, damit die Messung schnell bleibt.
Sonst könntest du auch über Multiplexing nachdenken, wobei du aufpassen musst, dass der Multiplexer nichts verfälscht.

mfg
Olaf

Besserwessi
25.12.2014, 11:21
Um einen Verstärker wird man auch bei einem 12 Bit ADC nicht herumkommen. Die DMS Signale sind schließlich eher so bei ein paar mV am Bereichsende und man will µV auflösen. Sparen kann man sich den Verstärker ggf. bei einem 24 Bit Sigmal Delta AD - die können auch direkt µV und besser auflösen und haben oft Differenzeingänge. Es gibt da auch spezielle ICs für DMS Brücken, die ggf. passen würden.

Klebwax
25.12.2014, 15:58
Ja man sagte mir auch den Messverstärker zu löten wäre nicht das Problem. Wie kann ich das mit den 10 Bit verstehen?

Das Löten ist auch nicht das Problem, das Entwickeln der Schaltung und ein funtionierender Aufbau ist das Problem. Eine Schaltung, die analoge und digitale Teile enthält, und die die von Peter genannten 1,5µV vernünftig verarbeitet, erfordert schon einen gestandenen Elektroniker mit dem passenden Equipment. Das anschließende Löten ist dann eine Entspannungsübung.

MfG Klebwax

Peter(TOO)
25.12.2014, 18:03
Hallo Klebwax,

Das Löten ist auch nicht das Problem, das Entwickeln der Schaltung und ein funtionierender Aufbau ist das Problem. Eine Schaltung, die analoge und digitale Teile enthält, und die die von Peter genannten 1,5µV vernünftig verarbeitet, erfordert schon einen gestandenen Elektroniker mit dem passenden Equipment. Das anschließende Löten ist dann eine Entspannungsübung.

Equipment braucht es gar nicht so viel, nur Brain.exe.
Zumindest für den "gestandenen Elektroniker" ist die Schaltung selbst auch nicht das Problem, da steht eigentlich schon fast alles im Datenblatt, bzw. in einer Application Note.
Etwas kritischer wird es dann mit der Bauteilauswahl aber meistens gibt's dazu auch Anmerkungen im Datenblatt.

Erfahrung und Fachwissen stecken dann im Aufbau! Ohne ein Konzept für die Masseführung (Sternmasse) wird das schon mal nichts.
Auch wird man das Eingangssignal mit rundum einer Massebahn abschirmen usw.

Das Layout ist wohl der kritischste Teil der ganzen Geschichte.

Und auch mit abgeschirmten Leitungen, liest man alles mögliche an Störungen zwischen DMS und Verstärker auf. Diese Verbindung muss man auch so kurz wie möglich halten.

MfG Peter(TOO)

PICture
25.12.2014, 18:33
Hallo!


Das Layout ist wohl der kritischste Teil der ganzen Geschichte.

Genau ! Als vollen Erfolg könnte man beim schon fertigen Layout, aber noch ohne Sensoren, ein wirklich sauberes Null am ADC bezeichnen. Erst dann könnte man tatsächlich erreichbare Auflösung definieren.

Gr5
05.01.2015, 14:14
Frohes Neues!

Ich habe nun nochmal nach fertigen Konzepten geschaut. Das erste Angebot liegt bei 1200€ pro Einheit (x8 )! Ich denke das würde den Rahmen sprengen. Was habe ich denn an sich für Möglichkeiten einen DMS auszulesen. Es muss nicht der Arduino sein, der war nur grad über. Wenn ich einen Mikrocontroller oder eine Messkarte kaufen könnte die 8 Anschlüsse hat und keinen extra Messverstärker braucht... ich denke das wäre die feinste Lösung.

Der Hauptteil meiner Arbeit ist die Konstruktion des restlichen Versuchsaufbaus. Man könnte ja fast eine Eigene Arbeit über den Messeinrichtung schreiben:)

Ich brauche auch keine 50 Werte pro Sekunde. Ich denke ich würde auch mit einem Wert pro Sekunde klarkommen.

*Update: Habe ebend noch einen ME-Redlab in die Hand gedrückt bekommen. Der hat soweit ich das sehen kann einen 12Bit Wandler. Bringt mich das Teil weiter? Info: http://www.meilhaus.de/redlab+1008,i4.htm
Ich will ja ne Spannungsdifferenz messen also kann ich ja nur 4 Sensoren auslesen oder?

Eine NI 6259 stünde auch noch zur Verfügung.

Peter(TOO)
05.01.2015, 20:49
Hallo,

Grundsätzlich kannst du Multiplexen, due brauchst dann keine 8 ADC.

Das einfachste dürfte sein, jedem DMS einen eigenen Verstärker zu gönnen und dann die Verstärker nacheinander auf den ADC umzuschalten.
8 zu 1 Analog-Multiplexer gibt's als einzelnes IC.

Theoretisch könnte man nur einen Verstärk nehmen und dann die DMS direkt umschalten, braucht dann aber 4 8zu1 Multiplexer.
Das Problem dürfte aber sein, ob du die Genauigkeit hin bekommst, der Multiplexer bringt Fehlerströme mit sich und direkt am DMS misst du im µV Bereich.

MfG Peter(TOO)

Gr5
06.01.2015, 11:20
heißt Multiplexen dass ich nacheinander die Spannung der einzelnen Sensoren umwandle? Naja ich würde es gerne simpel halten. Ich hatte ja schon erwähnt dass ich mich nach fertigen Lösungen umgehört habe. Es gibt darunter nun auch zwei halbwegs bezahlbare Lösungen.

Zu der Zelo 1004 Wägezelle die ich schonmal geschickt hatte gibt es einen passenden 8 Fach A/D Wandler bzw Messverstärker [ANHANG: DGX8] mit 16 Bit Auflösung. Das gute Stück kostet nur 422€! Das wäre preislich bisher die beste Lösung. Dann gibt es noch eine etwas teurere Lösung [Datei zu groß]. Einer kostet 262€ ich bräuchte aber 8!
Daten:
ZELO-DMS-Messverstärker
Typ: DAT-100 / RS232 / RS485
im Hutschienengehäuse
5-Digit LED-Display (h= 7mm)
Speisespannung: 24V
Nennkennwert: -2,6 bis +2,6mV/V
Schnittstelle: RS232 / RS485


Wenn ich das richtig sehe gibt es keine Software dazu. Wie könnte ich denn dann die Werte auslesen? Gibt es vielleicht schon fertige Programme?

Danke!

Langer711
26.01.2015, 11:56
Was ist denn mit diesen Dingern hier ?

https://app.box.com/s/29o7e1n6i2dmqn1q9o3l

wkrug
27.01.2015, 09:45
Um es gleich mal vorwegzunehmen, Ich hab mit DMS noch nicht rumgebastelt.
Ich denk aber der einfachere Weg wäre doch ein A/D Wandler mit Messbrücke und integriertem Vorverstärker.
Ich meine Analog Devices hätte so etwas im Programm.
Ob man da nun 16 oder 24 Bit Wandler nimmt wäre ein Rechenexempel.
Den A/D Wandler würde ich in der Nähe des DMS platzieren, um Einstreuungen und Massefehler von Haus aus klein zu halten, und die Werte über ein Bussystem abholen.
Je nach Leitungslänge wäre da für mich I²C, RS485 oder CAN ein möglicher Kandidat.

Je nach verwendetem Bussystem wird man wohl so einer Auswerteeinheit einen kleinen Controller spendieren müssen.
Wenn man den einzelnen Controllern Adressen gibt ( DIP Fix Schalter ) könnten alle Messeinheiten mit der gleichen Software laufen.

Der HX711 sollte so etwas sein.

Ob man die Auswerteelektronik Nullen oder kalibrieren muss wäre auszuprobieren.
Bei üblichen Waagen wird dies wohl gemacht.
Eventuell könnte man ja auch noch mit einem Temperatursensor thermische Effekte des DMS rausrechnen?!
Das Datenblatt sollte da Aufschluss geben.

Bei Pollin gibt's günstig einen kleinen Webserver auf ATMEGA 32 Basis.
Der könnte z.B. Das Auslesen und Aufarbeiten der Daten als HTML Seite übernehmen.
Ich hab den mit einem Pinkompatiblen ATMEGA 644 nachgerüstet um mehr Speicher zu kriegen.

GeorgP
15.02.2023, 15:09
Du kannst auch mal hier schauen: https://www.octogon.org
Habe dort schonmal einen 8-Kanal Messversträker gekauft, wenn mich meine Erinnerung nicht täuscht für um die 350 EUR.