25.01.2011 19:16 | |
Beiträge: 18 Bewertung: (0) |
Hallo mrjaeger, Eine echte Alternative im Preis und Leistung gegenüber führenden Herstellern. Siehe PDF im Anhang. Ich hoffe, das ich dir weiterhelfen konnte. Gruß Biesterchen DateianhangLeveljet ind..pdf (149 Downloads) |
Für diesen Beitrag bedanken sich1 Benutzer |
26.01.2011 00:15 | |
Beigetreten: 05.01.2007 Letzter Bes: 07.04.2023 Beiträge: 1690 Bewertung: (580)
|
Hallo Allerseits, ich weis nicht genau, wie ich euch das verklickern soll, doch ich versuche es einfach mal... Ich habe eure Diskussion hier verfolgt, da die Aufgabenstellung ggf. auch für eine Reihe weiterer Nutzer von Interesse sein könnte. Nach Durchsicht eurer Schaltungsentwicklung "Tankfüllung2.lsc" und insbesondere nach der Äußerung von Biesterchen, er sei nun zufrieden und schließe diese Diskussion, habe ich mich dazu entschlossen diesen Beitrag und einen entsprechenden Schaltungsentwurf beizusteuern. Sorry, aber M. E. stellt eure Schaltung keine korrekte und geeignete Lösung der gegebenen Aufgabenstellung dar. Mein Verständnis der Aufgabenstellung entsprechend der Angaben von Biesterchen: An einem Behälter/Tank (Material unbekannt) soll mittels Ultraschallsensor die Füllhöhe absolut in cm und in % sowie das aktuelle Füllvolumen in l ermittelt werden. Der US-Sensor gibt einen Spannungswert aus, der hier dem Abstand der Wasseroberfläche proportional ist. Der Sensor muss also oben am Tank befestigt sein und in den Tank "blicken!? Der Messbereich erstreckt sich von 200 mm Abstand vom Sensor bis zu 2000 mm und führt zu Messspannungen von 0 V (bei 200 mm) bis 10 V (bei 2000 mm). Meine Analyse eurer Schaltung in Kurzform: a) B003 mit Gain = 0,1 führt zu einer Verringerung der Signalauflösung um den Faktor 10, so dass anstelle von 1000 unterscheidbaren Abstandswerten nur noch 100 in der nachfolgenden Schaltung ausgewertet werden (können)! b) Der Ausgang von B003 als %-Wert des Füllgrades ist eine falsche Interpretation, denn z. B. bei 10 V als Signal (= Wasseroberfläche hat 2000 mm Abstand vom Sensor) werden 100 % Füllgrad angezeigt. Außerdem wird hier der Sensor-Messbereich als Basis 0..100% ausgewertet - ohne Bezug zur Behälterhöhe! c) B007 berechnet den Abstand der Wasseroberfläche zum Sensor, nicht jedoch die Füllhöhe des Wassers im Tank! d) Die Level-Überwachung sollte sich ausschließlich auf die Füllhöhe beziehen (Mindestwasserstand für eine Förderpumpe; Überlaufsicherung...) e) Abgesehen von den falschen Basiswerten aus B007 werden in B009 nicht die bestmöglichen Parameterwerte angewendet. Mein Lösungskonzept (Tankfüllung_per_US_Sensor.lsc): B003 dient nur der Bereitstellung der Sensormessspannung für die Schaltung. B007 berechnet nun tatsächlich die Füllhöhe im Tank in xxx(,)xx cm. B012 kann ggf. auch entfallen (wobei dann die Parameter in verschiedenen Analogblöcken anzupassen sind) und wurde von mir nur eingesetzt, um die Block- und Anzeigewerte in mm bereitzustellen (Es werden hier aber weiterhin max. 1000 Füllhöhen-Werte unterschieden!). Wesentlich ist der Parameter V1 in B007, denn er stellt die Kopplung der Schaltung an die Hardware dar. In V1 ist der (gemessene) Abstand des Tankbodens von der Sensorbezugsebene vorzugeben; V1 sollte demzufolge <= 200(,)00 cm betragen. Dabei setze ich voraus, dass der Sensor kalibriert wurde (d. h. Sensorausgabespannung entspricht dem Abstand zwischen Sensor und Messobjektoberfläche bzw. wurde daran angepasst!). Die Füllstandsüberwachung wird durch B001 und B002 realisiert. Hier mal als Beispiel 50 mm Mindestfüllstand für den sicheren Betrieb einer Pumpe und Maximalausnutzung des Tankvolumens (=Füllstand von 1500 mm ) unter Beachtung einer Sicherheitsmarge gegenüber "Überlaufen". Als Besonderheit sind die(se) Parameter jedoch nicht absolut sondern per Verweis definiert, denn diese Parameter werden auch für die nachfolgend beschriebene %-Füllgradanzeige benötigt. Um möglichst benutzerfreundlich zu sein, habe ich für diese Parameter eine zentralisierte Eingabe über die Blöcke B009 und B010 realisiert...Eine prozentuale Balkenanzeige ist ohne weitere Schaltung, also nur auf Basis des Aktualwertes von B007 (Füllstand), möglich. Dazu werden einfach die Parameter der Balkenanzeige entsprechend definiert: Block, MinWert und MaxWert. Bezüglich des %-Wertes für den Füllgrad noch folgende Überlegung/Festlegung: Zum einen kann natürlich der Füllgrad für den Gesamttank 0..Maximum als Basis der %-Anzeige definiert werden. Weil jedoch ein Mindestfüllgrad (z. B. als Pumpenschutz) vorgegeben wird, macht es m. E. mehr Sinn, die %-Anzeigen auf Basis der Minimal-und Maximalfüllhöhe (= überwachte Schwellwerte) zu definieren. In der Balkenanzeige ist dies einfach möglich durch entsprechende Definition von MinWert = Minimalfüllhöhe und Maxwert = Maximalfüllhöhe). Leider ist hier aber kein Verweis möglich, so dass die Werte entsprechend den Blockparametern (jeweils in V1) von B001 und B002 zusätzlich eingegeben werden müssen. Soll ein %-Wert als Ziffer in einer Textmeldung angegeben werden, dannist (unabhängig von der Basis für dessen Berechnung) in jedem Fall ein separater Schaltungsteil erforderlich. Wie man das allgemeingültig machen kann zeigt mein Entwurf "Tankfüllung_per_US_Sensor.lsc". Nun zur Berechnung des Füllvolumens auf Basis des Füllstandes. Dazu habe ich die Daten aus der "Peiltabelle 2000 l Batterietank Horizontal Fa. Schütz.pdf" entnommen und mit MS-EXCEL LOGO!-gerecht aufbereitet. Wie schon von euch angegeben, sind die Daten weitgehend mit einer Geraden zu approximieren (grün in "Zisterne_Peildaten_optimiert.xls"). Weil besonders der Datenpunkt (1550 mm / 2150 l) von einer Regressionsgeraden abweicht, habe ich auch mal eine Ausgleichsgerade ohne diesen Datenpunkt berechnet (gelb in "Zisterne_Peildaten_optimiert.xls"). Weil jedoch die Peildaten eine leichte "Schwingung" im Verlauf der übrigen Daten ohnehin enthalten, kann dadurch leider keine verbesserte Linearisierung erreicht werden. Deshalb habe ich die Daten des grün markierten Bereiches für die Berechnung des Füllvolumens in l im Block B008 herangezogen. Lediglich der berechnete Wert für den o. g. Datenpunkt hat eine deutliche Abweichung von der Peiltabelle. Weil jedoch bereits das Maximalfüllvolumen erreicht bzw. überschritten ist, sollte dies i.d.R. unkritisch sein (und auch weil eine Anlagenregelung bzw. Steuerung ohnehin über den Pegel erfolgt) und die Volumendaten ohnehin eine Abschätzung darstellen. Ansonsten könnte man den Datenbereich zwischen den beiden letzten Datenpunkten auch separat behandeln, was jedoch deutlich mehr (Schaltungs)-Aufwand bedeutet. Außerdem habe ich darauf geachtet bzw. Wert gelegt, dass der Nullpunkt in der Volumen-Berechnung exakt eingehalten wird und dass Rundungsfehler durch die LOGO! (nur) im Bereich von 10-tel Litern liegen [Wertformat xxx(,)x l]. Da die Differenzen zwischen Peiltabelle und Berechnung jedoch ohnehin im Breich mehrerer Liter liegen, kann man in der Berechnung hier darauf auch verzichten. Dazu ist dann der Wert in V3 (im Block B008) von 1000 auf 10000 zu ändern und "0" Nachkommastellen einzustellen. DateianhangDEMO_Ultraschallsensor_V1.zip (144 Downloads) |
==> Meine TAG-Listen: "deut." |
|
Für diesen Beitrag bedanken sich4 Benutzer |
26.01.2011 23:23 | |
Beigetreten: 05.01.2007 Letzter Bes: 07.04.2023 Beiträge: 1690 Bewertung: (580)
|
Hallo Biesterchen, zu 1.) Wenn du hier im Forum eine Schaltung für einen konkreten Sensor erfragst und dessen Kurzinfo hier einstellst, sollten wir (ich) davon ausgehen können, dass du dich vorher entsprechend informiert hast. Nun, auf Basis deiner Angaben habe ich mal kurz im Netz recherchiert und u.a. ein Datenblatt (vgl. Dateianhang) gefunden, das auf deine Frage direkt mit "Ja" antwortet. Außerden sind allerdings lt. diesem Datenblatt die Sensordaten (Messbereich, der auf 0..10 V skaliert wird) von deinen Angaben abweichend. Als Service habe ich mal meinen Schaltungsentwurf dementsprechend angepasst!!! Allerdings ohneeine Überwachung auf Sensorfehler zu integrieren! zu 2.) Du hast die Funktionsweise des Sensors und die darauf aufbauende Schaltung noch nicht korrekt verstanden, deshalb Folgendes: Der Sensor liefert eine Messspannung, die in direkter Beziehung zum Anstand zwischen Sensor und Messobjekt (hier Wasseroberfläche im Tank) steht (und zwar zunächst mal unabhängig von der Füllhöhe im Tank). Der konkrete (und dann berechenbare) Zusammenhang zwischen Sensorsignal (bzw. Sensorposition und Abstand zur Wasseroberfläche) wird erst festgelegt, wenn der Sensor fest mit dem Tank verbunden wird. a) Nun ist dabei zunächst einmal wesentlich, dass der Behälterboden (d. h. Füllhöhe = 0 mm) innerhalb des Erfassungsbereiches (lt. Datenblatt nun 2500 mm) des Sensors liegt. b) Die zweite Bedingung bezüglich der Position des sensors am Tank ist, dass der absolut (Extemwert) maximal möglicheWasserstand im Tank (ggf. plus Sicherheitszuschlag) stets sicher einen größeren Abstand hat als der Mindestabstand von lt. Datenblatt nun 150 mm)! Weil nun dein Tankeine maximale Höhe von ca. 1600 mm (Füllstand im Tank max. 1550 mm) hat, wird nicht der gesamte Messbereich des Sensors benötigt und auch nicht genutzt - nie! D. h. das auch nicht der gesamte Ausgangsspannungsbereich durchlaufen werden kann. Am Beispiel: Ist der Sensor so (hoch) montiert, dass der Boden gerade noch im Messbereich liegt, also einen Abstand von 2500 mm vom Sensor hat, dann werden bei leerem Tank 10,0 V und bei maximal gefülltem Tank mit einer Füllhöhe von 1500 mm 4,26 V bzw. einer Füllhöhe von 1550 mm 4,06V als Sensormessspannung ausgegeben. Kleinere Sensorausgangsspannungen sind dann nicht möglich bzw, deuten bei kleinen Abweichungen auf einen Fehler bei der Positionierung oder Sensorverstärkung und bei deutlich kleineren Spannungen auf einen Sensorfehler hin! Natürlich kann innerhalb der o. g. Grenzen auch eine andere Positionierung relativ zum Tank gewählt werden, z. B, Abstand Sensor Tankboden von 2000,0 mm (habe ich mal in der Schaltung eingesetzt), Wie bereits angegeben, ist dieser Abstandswert in V1 von Block 007 zur Anpassung der Schaltung an die Sensorposition unbedingt korrekt einzusetzen. Alles anderemacht die Schaltung (deshalb als universell von mir bezeichnet) - ggf. sind durch Rundungsfehler kleine Abweichungen vorhanden! Sollte der Sensor , wie von dir angegeben, tatsächlich auch montiert in einen Kunststoffrohr korrekt funktionieren (ich kann dazu nichts sagen), dann um so besser. Wenn dann auch noch Plexiglas dazu zählt, dann kannst du einfach den Sensor bei unterschiedlichen Füllhöhen testen und kalibrieren (da ja der Abstand Sensor Wasserhöhe im Rohr leicht zu variieren und zu messen ist...(Maßband und LOGO!)... Ich hoffe dir ist nun einiges klarer und die Schaltung ist m. E. korrekt! MfG Betel Weiterführende Infos und Schaltungsbeispiele zur LOGO!: ==> "Sammlung von Hinweisen und Schaltungen zur Anwendung und Programmierung der LOGO!" ==> "LOGO! 0BA6 - Erstes Feedback an die LOGO!-Entwickler" ==> "Excel Logo Logger Übersicht" DateianhangDEMO_Ultraschallsensor_V2.zip (118 Downloads) |
==> Meine TAG-Listen: "deut." |
|
Folgen Sie uns auf