Hallo, geht so was an AREF wenn ich darauf achte dass PA0 und PA1 nie gleichzeitig geschaltet werden? Gruß, Martin
Eine seltsame Anordnung. Könntest du noch sagen, wozu das gut sein soll? Warum nicht einfach von der VCC abnehmen? Jedenfalls würde ich, wenn schon so was gebraucht wird, keinen Schaltregler verwenden, um ARef zu versorgen, sondern einen Linearregler. Aref sollte ja möglichst konstant und ruhig sein. Ich gehe mal davon aus, dass an PA1 5V herauskommen.
Martin B. schrieb: > geht so was an AREF Warum? Was soll das? Geschaltete Referenz von 3.3V in einem 5V System? Verwende einfach einen Regler mit wenig I_q. Oder verzichte ganz darauf. Was stört dich denn an der internen Referenz? Oder der Betriebsspannung als Referenzspannung? > wenn ich darauf achte dass PA0 und PA1 nie > gleichzeitig geschaltet werden? Man legt eine Schaltung nicht darauf hin aus daß nichts passiert, wenn man sich vorsieht. Sondern so, daß sie immer sicher ist. Zumal man in der Entwicklungsphase sowas gar nicht garantieren kann.
HildeK schrieb: > Könntest du noch sagen, wozu das gut sein soll? Warum nicht einfach von > der VCC abnehmen? Damit ich je nach Sensortyp am ADC die Referenzspannung umschalten kann. Axel S. schrieb: > Was stört dich denn an der internen Referenz? Oder der Betriebsspannung > als Referenzspannung? Die interne ist zu niedrig. Mit etwa 3,5V passt es besser. HildeK schrieb: > keinen > Schaltregler verwenden, um ARef zu versorgen, sondern einen > Linearregler. Reichen eventuell 2 Dioden und ein Widerstand? Der MC läuft mit 5V Gruß, Martin
Dann... leg einen relativ hochohmigen Spannungsteiler mit "etwa 3,5V" an AREF an und schalte mit der internen Referenzumschaltung auf VCC um. Guck vorher nach, ob im Datenblatt irgendwas definiert ist, wie stark AREF belastet werden darf. Notfalls schaltest du nicht mit der internen Referenzumschaltung auf VCC um sondern mit einem zweiten Port-Pin. Dann hast du nur wieder das Risiko, dass du bei interner Referenzspannung einen Kurzschluss zum Port-Pin bauen kannst. MfG, Arno
Arno schrieb: > ... schalte mit der internen Referenzumschaltung auf VCC um. ... Gibt es die? Ich jedenfalls weiß nicht, um welchen Mikrocontroller es geht.
M.A. S. schrieb: > Gibt es die? Ich jedenfalls weiß nicht, um welchen Mikrocontroller es > geht. Es ist einer, der schon die Pin-Change-Interupts "PCINT1,2,3,4,5..." hat. Insofern ist der bestimmt neu genug um auch eine per Software auf VCC stellbare ADC-Referenz zu haben.
Εrnst B. schrieb: > Insofern ist der bestimmt neu genug um auch eine per Software auf VCC > stellbare ADC-Referenz zu haben. Ja, die hat er. Auch auf 2,5V. Aber ich möchte auch 3,5V. Ich sehe grad, die Verbindung PA0 braucht man nicht...
1 | 1kΩ |
2 | 3,3V o------[===]------+-----------o AREF |
3 | | |
4 | GND |--------||--------+-----------o PA0 |
5 | 100nF |
PA0 = Input -> 3,3V PA0 = Output HIGH -> 5V So ist es deppensicher, kann man nicht kaputt programmieren. Besonders genau wird das aber nicht. Ich würde lieber die interne Referenz nehmen und das zu messende Eingangssignal mit Spannungsteilern passend herabsetzen. Ob du da am Ende alle Bits optimal ausnutzen kannst, ist zweitrangig, denn da unterste Bit geht sowie im Rauschen unter. Die vollen 10 Bit kannst du nur mit hohem Schaltungsaufwand und Programmier-Tricks ausnutzen. Da ist die Nutzung eines externen ADC mit seriellem Interface viel einfacher und besser.
Martin B. schrieb: > Ist ein Atmega 238. Ich kenne einen BC238, der hat aber nur drei Beine. Martin B. schrieb: > Ja, die hat er. Auch auf 2,5V. Aber ich möchte auch 3,5V. Wenn ich mal einen Zahlendreher unterstelle und ATmega328P annehme, hat der als interne Referenz 1,1 Volt, keine 2,5. Die streuen von einem Stein zum anderen erheblich, sind ansonsten aber sehr stabil. Ist es keine Option, diese zu verwenden und das Eingangssignal zu teilen? Ich mache das in diversen Meßanwendungen und komme damit auf ordentliche Meßwerte. Wie schon geschrieben, würde auch ich keinesfalls einen Schaltregler verwenden, sondern, wenn es denn sein müsste, eine 4,096V-Referenz samt Spannungsteiler einsetzen.
Manfred schrieb: > Wenn ich mal einen Zahlendreher unterstelle und ATmega328P annehme Ups... Manfred schrieb: > Ist es keine Option, diese zu verwenden und das Eingangssignal zu > teilen? Hat bei mir leider nicht geklappt. Hatte unter anderem einen 4-20mA Sensor dran. Mit der internen Referenz konnte ich nur das untere Drittel messen und mit 5v Ref spielte sich die Messung komplett nur im unteren Drittel ab. Deswegen die 3,3V. Da hatte ich die ganze Bandbreite von Sensor zur Verfügung. Wenn ich den Messwiderstand verkleinert oder vergrößert hab hatte ich komische Rechteckimpulse auf meiner Messspannung. Über den PortPin möchte ich Referenzspannung steuern je nach dem was für ein Sensor dran hängt. Einen Spannungsteiler muss man für jeden Sensor einzeln berechnen. Vielleicht könnte man es mit einem DAC lösen. Damit kann man dann AREF perfekt einstellen und so bei jedem Sensor die optimale Bandbreite nutzen. Gruß, Martin
Martin B. schrieb: > Mit der internen Referenz konnte ich nur das untere Drittel > messen und mit 5v Ref spielte sich die Messung komplett nur im unteren > Drittel ab. Wo ist das Problem, die Eingangsspannung auf 1,1V herunter zu teilen? > Wenn ich den Messwiderstand verkleinert oder > vergrößert hab hatte ich komische Rechteckimpulse auf meiner > Messspannung. Ich glaube das nicht verstanden, was ein Spannungteiler ist. Mal angenommen, dein Messwiderstand sei 1kΩ, dann kannst du ihn auf zwei Widerstände aufteilen um die Spannung auf 1/4 zu teilen:
1 | 750Ω 250Ω |
2 | Signal o---[===]---+---[===]---| GND |
3 | | |
4 | o |
5 | Zum ADC |
Martin B. schrieb: > Vielleicht könnte man es mit einem DAC lösen. Damit kann man dann AREF > perfekt einstellen und so bei jedem Sensor die optimale Bandbreite > nutzen. Leider sind Bauteile nicht perfekt. Je komplexer deine Schaltung wird, umso mehr Rauschen und andere Ungenauigkeiten wirst du haben. Genau das will man aber insbesondere bei der Referenzspannung nicht haben. Viel hilft nicht viel. Eher lohnt es sich, auch 1-2 Bits zu verzichten. Und wenn das inakzeptabel sein sollte, dann verwende einen externen ADC, der mehr Bits haben kann (z.B. 12) und zudem genauer ist und weniger rauscht. Das bringt dir am Ende mehr, als der Schnickschnack mit der umschaltbaren Referenz. Schau dir mal den MCP3208 an, der ist billig und kinderleicht anzuwenden. Er hat 8 Kanäle mit 12 Bit Auflösung. Damit liefert er ohne umschaltbare Referenz garantiert bessere Ergebnisse als dein AVR mit dem hohen Aufwand drumherum.
Stefan ⛄ F. schrieb: > Ich glaube das nicht verstanden, was ein Spannungteiler ist. Martin B. schrieb: > Einen Spannungsteiler muss man für jeden Sensor > einzeln berechnen. Schon, wenn ich jetzt aber einen anderen Sensor anschließe passt das ganze nicht mehr.
Martin B. schrieb: > Hatte unter anderem einen 4-20mA Sensor dran. Da brauchst du nicht mal einen Spannungsteiler. Einfach den Bürdewiderstand verkleinern. > Mit der internen Referenz konnte ich nur das untere Drittel > messen und mit 5v Ref spielte sich die Messung komplett nur im unteren > Drittel ab. Wenn wir mal die Übertreibung raus lassen - ja. So ist das wenn man den falschen Widerstand verwendet. Es ist aber nicht schwer den korrekten Wert aus 1.1V ÷ 20mA zu berechnen. > Wenn ich den Messwiderstand verkleinert oder > vergrößert hab hatte ich komische Rechteckimpulse auf meiner > Messspannung. Dann macht du ganz entschieden was falsch. Das ist das Problem das du angehen solltest. Nicht an den Symptomen herumdoktoren. > Über den PortPin möchte ich Referenzspannung steuern je nach dem was für > ein Sensor dran hängt. Einen Spannungsteiler muss man für jeden Sensor > einzeln berechnen. Welche Sensoren hast du denn? Wenn die alle 4..20mA ausgeben, mußt du gar nichts berechnen. > Vielleicht könnte man es mit einem DAC lösen. Damit kann man dann AREF > perfekt einstellen und so bei jedem Sensor die optimale Bandbreite > nutzen. Blödsinn. Im allgemeinen löst man das so, daß man jeden Sensor auf den gleichen Spannungsbereich umsetzt. Deswegen gibt es ja die standardisierten 4..20mA Sensoren, damit man das nur genau einmal machen muß. Es gibt sowieso nur zwei sinnvolle Werte für die Referenzspannung. Das ist einmal eine konstante Spannung (für Sensoren mit eigener Referenz) und zum anderen die Betriebsspannung (für ratiometrische Messung). Den Rest macht man durch geeignete Konditionierung des Signals.
Axel S. schrieb: > Welche Sensoren hast du denn? Wenn die alle 4..20mA ausgeben, mußt du > gar nichts berechnen. Momentan sind es die drei. https://www.amazon.de/Fl%C3%BCssigkeitsstandsensor-Wasserdichter-Wasserstandsmelder-Signalausgang-Wasserstandschalter/dp/B08BNDQQ9Q/ref=sr_1_53?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&dchild=1&keywords=Wasserstandsmelder+12-32VDC&qid=1609080839&s=diy&sr=1-53 https://www.ebay.com.au/itm/Marine-Boat-RV-Truck-Fuel-Water-Tank-Level-Sensor-Sender-Sending-Unit-240-33ohms/303126599429?ssPageName=STRK%3AMEBIDX%3AIT&var=602057227344&_trksid=p2057872.m2749.l2648 https://de.aliexpress.com/item/33003863661.html?spm=a2g0o.productlist.0.0.57341987h0AME5&algo_pvid=7403df7b-93a2-4027-b4dc-566c0eb56b87&algo_expid=7403df7b-93a2-4027-b4dc-566c0eb56b87-31&btsid=0b0a0ae216090829897645749e79b9&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_ Einmal 0-5V, ein mal 4-20mA und ein mal 33-240Ohm. Ich wollte mir zwei Anschlussleitungen sparen und alle drei Sensoren an einen ADC. Konfiguriert wird das dann über Software.
Martin B. schrieb: > Axel S. schrieb: >> Welche Sensoren hast du denn? Wenn die alle 4..20mA ausgeben, mußt du >> gar nichts berechnen. > > Momentan sind es die drei. [...] > Einmal 0-5V, ein mal 4-20mA und ein mal 33-240Ohm. Ich sehe da 4..20mA, 4..20mA und den resistiven Sensor. Und da ist das mit einem Bürdewiderstand, einen Bürdewiderstand und einem Widerstand für eine ratiometrische Messung getan. Und die Referenzspannung für den ADC schaltest du zwischen der internen Referenz und der Betriebsspannung um. Und wie genau möchest du die Meßwerte denn haben? Den Füllstand mußt du doch nicht mit mehr als 4 Bit auflösen (entspricht 16 Werten zwischen "leer" und "voll"). Der ADC hat aber 10 Bit. Das könntest du alles locker mit der Referenz fest auf Vcc messen. Auf einem schaukelnden Boot schwappt die Flüssigkeit in den Tanks ohnehin ständig. Hast du eigentlich gesehen, daß der erste und dritte Sensor mindestens 12V sehen wollen? > Ich wollte mir zwei Anschlussleitungen sparen und alle drei Sensoren an > einen ADC. Konfiguriert wird das dann über Software. Das verstehe ich nicht. Du mußt mit den drei Sensoren doch ohnehin an drei ADC-Eingänge. Drei Eingänge, drei Auswertungsschaltungen. Wenn es dir ums Pins sparen geht - du verbrätst gerade 2 Pins für die Referenzspannungsumschaltung. Um 2 Pins einzusparen? PS: ach ja, nochwas. Darf man eigentlich erfahren warum du 3 verschiedene Sensoren verwendest die eigentlich alle 3 das gleiche messen - den Flüssigkeitspegel in einem Tank? Jeder normaldenkende hätte einen Typ von Sensor dafür ausgesucht.
:
Bearbeitet durch User
Axel S. schrieb: > Ich sehe da 4..20mA, 4..20mA und den resistiven Sensor Einer hat einen Bereich von 0-5V. Axel S. schrieb: > (entspricht 16 Werten zwischen > "leer" und "voll") Ich messe ja nicht zwischen leer und voll vom Sensor sondern zwischen leer und voll vom Tank. Wenn die Flüssigkeitssäule nur max 30 cM hoch ist, hab ich bei AREF 5V nur ein Drittel vom ADC. Bei Interner AREF bin ich jedoch schon nach über 10 cM am Ende des Bereichs. Axel S. schrieb: > Auf einem schaukelnden Boot > schwappt die Flüssigkeit in den Tanks ohnehin ständig Es geht um ein Motorrad. Das schaukeln wird hauptsächlich von der Tankuhr kompensiert und zum anderen arbeite ich mit einem Array bei dem der älteste Messwert bei jeder neuen Messung raus fliegt. Axel S. schrieb: > Du mußt mit den drei Sensoren doch ohnehin an > drei ADC-Eingänge. Nicht wenn ich AREF so einstelle dass die für jeden Sensor passt. Axel S. schrieb: > Wenn es > dir ums Pins sparen geht Nicht um Pins sondern um Anschlussleitungen für den Sensor. Axel S. schrieb: > Jeder normaldenkende hätte > einen Typ von Sensor dafür ausgesucht Das ist leider die Vorgabe, ändert aber nichts an dem Problem vom Messbereich. Wenn bei einem anderen Fahrzeug die Flüssigkeitssäule nun 0-20 Cm oder 0-50 cM ist braucht jedes Fahrzeug eine andere Software.
Martin B. schrieb: > Schon, wenn ich jetzt aber einen anderen Sensor anschließe passt das > ganze nicht mehr. Man kann sich die Hose auch mit der Kneifzange anziehen. Dann baue den Spannungsteiler halt in das Gehäuse oder in den Stecker des Sensors ein. Oder nimm wie gesagt einen 12 Bit ADC, dann kannst du alle mit einem Spannungsteiler abdecken ohne Auflösung zu verlieren.
Martin B. schrieb: >> Du mußt mit den drei Sensoren doch ohnehin an drei ADC-Eingänge. > Nicht wenn ich AREF so einstelle dass die für jeden Sensor passt. Zeichen mal auf, wie du dir das vorgestellt hast. Wie kommen drei Sensoren an einen ADC Eingang? Brauchst du wirklich alle 10 Bits? Lass AREF doch einfach immer auf 5V. Selbst wenn dein Signal nur 1/20 davon wäre, hättest du am Ende immer noch genug Auflösung denke ich. Nämlich ca. 50 Werte zwischen vollem und leerem Tank. Wozu glaubst du, mehr zu brauchen?
Axel S. schrieb: > Martin B. schrieb: > Es geht um ein Motorrad. Du hast ein Motorrad mit drei Tanks? Mit einer Füllstandshöhe bis 1m? Willst du mich verarschen? > Das schaukeln wird hauptsächlich von der > Tankuhr kompensiert und zum anderen arbeite ich mit einem Array bei dem > der älteste Messwert bei jeder neuen Messung raus fliegt. Und das ändert was? Dein Sensor sieht die Flüssigkeit trotzdem schwappen. Ganz abgesehen davon daß du den Tankinhalt nicht auf den ml genau anzeigen willst. Da reichen sogar 3 Bit. >> Ich sehe da 4..20mA, 4..20mA und den resistiven Sensor > Einer hat einen Bereich von 0-5V. Als Option. Da kannst auch 4..20mA kriegen. > Ich messe ja nicht zwischen leer und voll vom Sensor sondern zwischen > leer und voll vom Tank. Wenn die Flüssigkeitssäule nur max 30 cM hoch > ist, hab ich bei AREF 5V nur ein Drittel vom ADC. Bei Interner AREF bin > ich jedoch schon nach über 10 cM am Ende des Bereichs. Wie bereits gesagt: zwischen 1.1V und 5V liegt ungefähr ein Faktor von 4. Nicht 9 wie du behauptest. Und ja: wenn du einen Flüssigkeitsstand von 0..30cm hast, dann wäre es sinnvoll einen geeigneten Sensor zu verwenden. >> Du mußt mit den drei Sensoren doch ohnehin an >> drei ADC-Eingänge. > > Nicht wenn ich AREF so einstelle dass die für jeden Sensor passt. Was redest du? > Nicht um Pins sondern um Anschlussleitungen für den Sensor. Was zum Teufel redest du? >> Jeder normaldenkende hätte >> einen Typ von Sensor dafür ausgesucht > > Das ist leider die Vorgabe, ändert aber nichts an dem Problem vom > Messbereich. Wenn bei einem anderen Fahrzeug die Flüssigkeitssäule nun > 0-20 Cm oder 0-50 cM ist braucht jedes Fahrzeug eine andere Software. Wovon in drei Teufels Namen redest du? Wenn dein Meßbereich bis 50cm geht und dein Sensor das auflösen kann, denn hast du mit einem 10 Bit ADC immer noch 0.5mm Auflösung. Das soll nicht genau genug sein? Außerdem brauchst du doch sowieso für jeden Tanktyp eine Interpolation Füllhöhe -> Tankinhalt. So ein Tank ist ja kein Zylinder.
Martin B. schrieb: > HildeK schrieb: >> keinen >> Schaltregler verwenden, um ARef zu versorgen, sondern einen >> Linearregler. > > Reichen eventuell 2 Dioden und ein Widerstand? > Der MC läuft mit 5V Die Frage ist schon einige Zeit her und ich habe jetzt die weiteren Beiträge nur grob überflogen. Zwei Dioden haben jedenfalls den Nachteil, dass sie deutlich Temperaturabhängig sind; in anderen Applikationen setzt man Dioden als Temperatursensor ein. Das könnte man ggf. im Zimmer noch vertreten, am Motorrad hast du jedenfalls einen deutlich höheren Temperaturbereich abzudecken.
Ich möchte mal kurz zusammenfassen: Meine Frage war ob ich AREF von meinem Kontroller selbst steuern kann um den ADC Bereich an einen Sensor anpassen zu können. Dazu kamen hilfreiche Überlegungen, vielen Dank. Ebenso kamen Hinweise dass ich das Konzept überdenken solle. Dafür bin ich natürlich auch dankbar. Brainstorming ist ein wichtiger Weg um möglichst nahe ans optimalen Ergebnis zu kommen. Aber, die Diskussion driftet mir inzwischen in eine Richtung die mit der Sache nichts mehr zu tun hat. Fakt ist, jeder Typ von Fahrzeug hat einen anderen Tank, ebenso einen anderen Sensor. Wenn ich nun ein System baue, möchte ich mit einem System alle Möglichkeiten abdecken. Das bedeutet, jeden Tank mit jedem Sensor zu kombinieren, mit der selben Software und dem selben Kontroller. Dazu gehört meine ich den Sensor an das System an zu passen und nicht bei einem Sensor 3Bit, beim anderen 4Bit und wieder beim anderen 10Bit zu messen. Deswegen meine Überlegung und meine Frage was Ihr zu meinen Überlegungen meint. Aus diesem Grund bringen mich folgende Dinge nicht wirklich weiter: >Jeder normaldenkende hätte einen Typ von Sensor dafür ausgesucht. >Du hast ein Motorrad mit drei Tanks? Mit einer Füllstandshöhe bis 1m? >Willst du mich verarschen? >dann wäre es sinnvoll einen geeigneten Sensor zu verwenden. >Was redest du? >Was zum Teufel redest du? >Wovon in drei Teufels Namen redest du? Natürlich möchte ich auch nicht 3 Sensoren GLEICHZEITIG an EINEN ADC Eingang anschließen. Wenn es nur zwei sinnvolle Werte für die Referenzspannung gibt, wozu hat der Atmega dann die Möglichkeit eine externe Referenzspannung an zu schließen? Vielen Dank für Eure Hilfe. Gruß, Martin
Denke immer dran, dass die Ausgänge bei HIGH nicht exakt 5V liefern und bei LOW nicht exakt 0V. Zudem kommt aus jedem Ausgangs-Pin noch ein beträchliches Rauschen heraus. Das wird deine schön gedachte ADC Messung mit den vielen 10 Bits versauen. Ich schätze, dass davon unterm Strich nur noch 7-8 Bit nutzbare Bits übrig bleiben. Ein ADC mit mehr Bits würde die Lage nicht verbessern, denn der Offset und das Rauschen bleibt. Aber ein ADC mit mehr als 8 Bits OHNE Umschaltung der Referenz würde unterm Strich bessere Ergebnisse liefern. Moment mal - dein ADC hat ja schon mehr als 8 Bits! Ergo: Die Umschaltung ist vollkommen sinnfrei. Es sei denn, du machst sie so aufwändig, dass die Spannungen wirklich exakt stimmen und Rauschfrei sind. Damit würde aber auch der Schaltungsaufwand regelrecht explodieren. Wenn du den Aufwand in kauf nehmen willst: bitte, tu dir keinen Zwang an. Wenn nicht, dann mache es nicht durch eine schlecht durchdachte Lösung noch schlechter als es ohne sie von ganz alleine schon wäre.
Stefan ⛄ F. schrieb: > dass davon unterm Strich nur noch 7-8 Bit übrig > bleiben. Klar. Nur messe ich von der gesamten Bandbreite des Sensors (in einem Fall von 1m) eben nur 30 cm. Da wird die Messung noch viel ungenauer. Deswegen wollte ich mit AREF mir den Bereich "passend machen". Mit einem DAC an AREF könnte sich das System ja selbst justieren. Dann wäre es egal ob mein Messbereich 0-20 cm oder 0-100 cm ist. Wenn der ADC Wert zB. 1000 überschreitet regle ich mit dem DAC nach. Leer wäre dann immer um 0 und voll immer um 1000, egal welche Füllhöhe bei voll tatsächlich ist. Ich weiß nicht ob ich mich wirklich verständlich ausdrücken kann. Viele Antworten zeigen mir dass ich es wohl nicht wirklich geschafft habe.
Martin B. schrieb: > Natürlich möchte ich auch nicht 3 Sensoren GLEICHZEITIG an EINEN ADC > Eingang anschließen Na dann lies noch mal deine Beiträge. Kannst du das irgendwo rauslesen? Martin B. schrieb: > Fakt ist, jeder Typ von Fahrzeug hat einen anderen Tank, ebenso einen > anderen Sensor. Wenn ich nun ein System baue, möchte ich mit einem > System alle Möglichkeiten abdecken Du möchtest also eine eierlegende Wollmilchsau bauen. Wird nichts werden. Was meinst du eigentlich, warum sich die Automatisierungstechniker Standard-Schnittstellen für Sensoren ausgedacht haben? Aber ich bin dann raus. Und du kannst weiter frickeln.
Martin B. schrieb: > Ich weiß nicht ob ich mich wirklich verständlich ausdrücken kann. Dein Vorhaben ist schon klar, aber deine Annahme, dass deine "Lösung" die Ergebnisse verbessert, ist falsch. Du willst so eine Art "Autorange" Umschaltung bauen, wie es viele Digitalmultimeter machen. Doch dann schau dir mal an, wie die das machen. 1) Durch Umschaltung von Spannungsteilern vor dem ADC Eingang, nicht durch Änderung von AREF. 2) Dazu wird ein spezielles IC verwendet, nicht die für analoge Zwecke unvorteilhaften digitalen Ausgänge des Mikrocontrollers.
Du willst also an dein Platinchen 3 (oder auch beliebig viele) verschiedene Sensoren anschalten können. Jeder Sensor hat im schlimmsten Fall sein eigenes Anschlußformat. Prinzipiell kann man auf Sensorseite mit Strom- oder Spannungsschnittstelle rechnen. D.h. du hast auf deiner Platine x Eingänge, die entweder deinen Sensorstrom oder deine Sensorspannung auf den Meßbereich des ADW abbilden. Für Stromsensor haben sich 0-20mA, 4-20mA und "Exoten" etabliert, für Sensorspannung brauchst du im einfachsten Fall einen Spannungsteiler. Für die bisher gezeigten Sensoren brauchst du also nichts Anderes mehr! Da solltest du jetzt mal drüber nachdenken. Kleiner Tip Martin B. schrieb: > Ich messe ja nicht zwischen leer und voll vom Sensor sondern zwischen > leer und voll vom Tank wenn die Messung des Teilbereichs zu ungenau wird (was sich in deinem Fall ja erst noch rausstellen muß), dann mußt du die Meßdaten halt aufbereiten. Das kann wieder im einfachen Fall Umschaltung der Ref-Spannung sein, kann aber auch eine aktive Verstärkung erfordern. Und warum du einen Sensor mit einem Meßbereich von 1m einsetzt, wenn 30cm ausreichen, ist auch dein Geheimnis... Gruß Rainer
Ich verstehe das "Problem" nicht. Man kann doch jede Spannung, die größer als 1 Volt ist auf 1V herunter teilen. Und man kann auch Stromschleifen auf 1V bringen, nämlich mit einem 50Ω Widerstand. Und falls der Arbeitswiderstand (wie du sagtest, warum auch immer) hochohmiger sein muss, dann legst du den eben auch als Spannungsteiler aus, wie ich oben schrieb. So kannst du das Signal jedes beliebigen Sensors auf den Bereich von 0-1V bringen. Und das kann der ADC mit seiner internen Referenz wunderbar präzise messen. Du brauchst lediglich für jeden Sensor zwei Widerstände auf der Platine, die an das jeweilige Fahrzeug angepasst werden. Was ist daran schwer?
Stefan ⛄ F. schrieb: > Was ist daran schwer? Der TO verliert sich mangels Praxis in wirre Details...Sensor mit 1m Messbereich wird nur für 30cm genutzt ect. Da hilft nur, erst mal einen Sensor anschließen und schaun, was sich ergibt! Am Tank kann man ja Gott sei Dank auch wackeln, ohne jedesmal mit der Maschine eine Runde auf dem Hof zu drehen :-) gruß Rainer
Axel S. schrieb: >> Natürlich möchte ich auch nicht 3 Sensoren GLEICHZEITIG an EINEN ADC >> Eingang anschließen > > Na dann lies noch mal deine Beiträge. Kannst du das irgendwo rauslesen? Axel S. schrieb: > Du hast ein Motorrad mit drei Tanks? Mit einer Füllstandshöhe bis 1m? > Willst du mich verarschen? Egal wie unprofessionell man sich nun ausdrückt, wenn man SO etwas daraus ließt hat man wohl ein kleines Problem. Wobei es in diesem Fall wohl nicht am Schreiber liegt sondern am Leser. Rainer V. schrieb: > Das kann wieder im einfachen Fall Umschaltung der > Ref-Spannung sein, Nichts anderes hab ich gefragt, ob so was möglich ist bzw jemand gemacht hat. Rainer V. schrieb: > Und > warum du einen Sensor mit einem Meßbereich von 1m einsetzt, wenn 30cm > ausreichen, ist auch dein Geheimnis... Das Geheimnis kann ich lüften. Es gibt solche Sensoren erst ab 1m Messbereich. Sensoren mit Schwimmer haben eine feste Länge die in der Regel zu lang oder zu kurz ist. Zu lange kann man nicht einbauen. Zu kurze messen im unteren Bereich nicht mehr, gerade dann wenn man sich die Frage stellt ob es noch bis zu der Tankstelle reicht. Die Jungs bei denen die Sensoren vergammelt sind rechnen ab der Reserveleuchte die Kilometer die ihnen bleiben. Dann bauen sie sich einen neuen Sensor ein um das gleiche wieder zu machen? Stefan ⛄ F. schrieb: > Du brauchst lediglich für jeden Sensor zwei Widerstände auf der Platine, > die an das jeweilige Fahrzeug angepasst werden. Genau das möchte ich ja vermeiden. Nicht jedes Fahrzeug anpassen sondern eine Platine für alle. Rainer V. schrieb: > Der TO verliert sich mangels Praxis in wirre Details...Sensor mit 1m > Messbereich wird nur für 30cm genutzt ect. Da hilft nur, erst mal einen > Sensor anschließen und schaun, was sich ergibt! Der TO möchte dem widersprechen. Mir mangelt es weder an Praxis noch am Experimentieren. Auf dem Bild: 1. Sensor 0-5V, eingetaucht in eine Vase 2. Sensor 4-20mA, Kappe abgeschraubt um mit dem Finger Druck aus zu üben 3. OK, Kein Sensor 33-240 Ohm aber dafür ein Poti 4. Tacho eines Fahrzeugs besorgt und Tankuhr angeschlossen 5. Mikrokontroller mit Versorgung, zugegeben etwas chaotisch 6. Oskar zum überwachen der PWM mit der ich die Tankuhr ansteuere Mir geht es nicht um die Möglichkeiten welche ich habe um alle möglichen Sensoren in allen möglichen Tanks an zu schließen. Ich möchte nur nicht zu jedem hin fahren um seinen Sensor an seinen Tank an zu passen. Ich möchte ihm eine Platine mit EINEM Eingang für seinen (egal welchen Sensor, egal welchen Tankinhalt) Sensor und EINEM Ausgang für seine Tankuhr zuschicken. Nicht 10 Eingänge die er dann irgendwie durchprobieren muss bis er was passendes hat. Ein Fahrzeug läuft mit einem Sensor schon und es funktioniert auch. Das zweite Fahrzeug hat nun einen ganz anderen Tank. Die selbe Platine möchte ich nun auch in diesem Fahrzeug betreiben ohne einen anderen Spannungsteiler oder einen anderen Eingang zu nutzen. Einfach Platine einbauen und via USB neu Konfigurieren und fertig. Gruß, Martin
Martin B. schrieb: > Ein Fahrzeug läuft mit einem Sensor schon und es funktioniert auch. Das > zweite Fahrzeug hat nun einen ganz anderen Tank. Die selbe Platine > möchte ich nun auch in diesem Fahrzeug betreiben ohne einen anderen > Spannungsteiler oder einen anderen Eingang zu nutzen. Einfach Platine > einbauen und via USB neu Konfigurieren und fertig. Du kannst hier beliebig lange herumstrampeln und Leute bezichtigen, Deine Texte nicht lesen zu können, das ändert nichts an der elektronischen Realität: Das geht nicht Du hast weiter vorne drei Sensorvarianten benannt, die eine unterschiedliche Beschaltung erfordern, nur über AREF kann das nicht funktionieren. Realistisch nachgedacht kämen Bestückungsvarianten der gleichen Platine in Frage. Etwas komplexer vielleich alle gleich bestückt und mit Codierbrücken für den Sensortyp.
Martin B. schrieb: > Der TO möchte dem widersprechen. Mir mangelt es weder an Praxis noch am > Experimentieren Dann zeige uns doch die Ergebnisse von einem (beliebigen) Sensor. Und sage auch, was dabei nicht passt. Das kann man dann vielleicht mal verbessern. Die Anpassung an "beliebige" Tanks samt beliebigem Sensor machen wir dann später... Übrigens fand ich schon damals mit meiner Quickly das Umstellen auf Reserve, wenns geruckelt hat, als das Nonplusultra! Einzige akzeptierte Verbesserung wäre gewesen, das Ding wäre von alleine zur nächsten Tanke gefahren :-) Gruß Rainer
Martin B. schrieb: > Ich möchte ihm eine Platine mit EINEM Eingang für seinen (egal welchen > Sensor, egal welchen Tankinhalt) Sensor und EINEM Ausgang für seine > Tankuhr zuschicken. Das geht nicht. Kannst du glauben oder nicht. Ist aber so.
Rainer V. schrieb: > Übrigens fand ich schon damals mit meiner Quickly das Umstellen auf > Reserve, wenns geruckelt hat, als das Nonplusultra! Einzige akzeptierte > Verbesserung wäre gewesen, das Ding wäre von alleine zur nächsten Tanke > gefahren :-) Ganz viele Jahre später am richtigen Motorrad gab es eine analoge Tankanzeige und trotzdem noch den Reservehahn, das machte Sinn. Im Normalfall hat man den Benzinhahn garnicht angefasst, weil er, per Unterdruck gesteuert, bei stehendem Motor geschlossen war.
Vielen Dank für die Kritik und die Denkanstöße. Ich gehe nochmal in mich und bastele etwas weiter. Manfred schrieb: > bestückt und mit Codierbrücken für den Sensortyp. Ist ein interessanter Ansatz, danke. Rainer V. schrieb: > Verbesserung wäre gewesen, das Ding wäre von alleine zur nächsten Tanke > gefahren Nun, wird sicher irgendwann kommen. Mein Staubsauger kann das schon. Irgendwann werden die Fahrzeuge auch soweit sein. Hoffentlich jedoch nicht bei Zweirädern. Meinen Erinnerungen zu nach tat es immer weh wenn mein Motorrad einen anderen Weg eingeschlagen hat als ich... Gruß, Martin
Manfred schrieb: > Das geht nicht Axel S. schrieb: > Das geht nicht. sehe ich auch so! Es gibt LIBs bei Arduino für viele Displays, Trotzdem muss man sich vor dem Compilieren entscheiden welcher Controller eingesetzt ist, automatisch funktioniert das auch nicht. So ist das auch bei der Hardware deinem Sensor. Wenn dein zu messender Raum 5m ist brauchst du einen 5m Messstab, mit dem kommst du aber nicht in einen Raum der nur 3m hat und automatisch faltet sich auch kein Messstab. Ausnahme Autorange beim DMM, gucken ob der Wert zu groß ist und einen Falter, sprich Meßummschalter einbauen bis der Wert den Meßbereich nicht übersteigt! Das würde bei einer Tankanzeige schon irritieren, bei jedem Start geht der Zeiger auf VOLL und etwas später ist dann doch weniger drin, genauso wie es bei vielen DMM nervt, weil die Aktualisierungsrate zu lahm ist, deswegen wählt man ja meist den Meßbereich vor in dem man messen will, weg von Autorange zu 2V 20V 200V Martin B. schrieb: > Einfach Platine > einbauen und via USB neu Konfigurieren und fertig. das ginge wie bei der Arduino LIB und genug Ports und flash durch Voreinstellung per Software. Deine REF wird aus einem DAC gebaut der die Uref anpasst neu kompiliert oder den Uref Wert und die DAC Einstellung im EEPROM ablegt (3 Taster, set up down, oder Jumper, Lötbrücken) https://create.arduino.cc/projecthub/instrumentation-system/dac-8-bit-using-r-2r-ladder-964837 8 Bit 0-255 sollten dicke reichen für einen Tankanzeige, es geht ja "nur" um 0-50L? Keiner will da auf Schnapsgläser 2cl auflösen. AREF mit externer REF muss natürlich sauber (frei von Störungen sein) sowie belastbar sein und nicht während der Wandlung wegdriften dürfen!
:
Bearbeitet durch User
Martin B. schrieb: > Das bedeutet, jeden Tank mit jedem > Sensor zu kombinieren, mit der selben Software und dem selben > Kontroller. Dazu gehört meine ich den Sensor an das System an zu passen > und nicht bei einem Sensor 3Bit, beim anderen 4Bit und wieder beim > anderen 10Bit zu messen. Bist du da nicht auf dem Holzweg? Auch wenn du nur die Referenzspannung umschalten musst, heißt das eine Variante in der Software, zumindest eine andere Softwarekonfiguration. Wie auch immer, du brauchst eine sensorabhängige Variante. Man könnte auch einen TL431 nehmen (https://www.ti.com/lit/gpn/tl431). Der hat nominal 2.5V, kann aber durch externe Beschaltung auf höhere Spannungen umgeschaltet werden, siehe Bild 21 in dem Datenblatt. Und es gibt auch Derivate mit 1.25V Referenzspannung. Da könntest du mit einem MOSFET unterschiedliche R2 zuschalten. Das geht natürlich auch mit einem umschaltbaren Spannungsteiler, wobei dann die Referenzspannung eben eine größere Abhängigkeit von der VCC hat. Das oben genannte Problem der Anpassung an den jeweiligen Sensor bleibt aber, zumindest ein Anlernen an der aktuellen Sensor.
HildeK schrieb: > Das oben genannte Problem der Anpassung an den jeweiligen Sensor bleibt > aber, zumindest ein Anlernen an der aktuellen Sensor. Das meine ich ebenfalls. Da macht man den Tank einfach einmal voll und drückt den Anlernen-Knopf. Dann dividiert man 100% durch den Messwert, und speichert sich das Ergebnis als Multiplikator ab. Von nun an braucht man nur noch den Messwert des ADC mit diesem Multiplikator multiplizieren und hat eine schöne Tankanzeige in Prozent. Wie viele Bits das sind und ob der Sensor den Messbereich des ADC optimal ausnutzt, ist ziemlich egal. Damit hat man auch gleich statische Abweichungen vom Soll sowohl bei der Refenzspannung als auch beim Sensor mit abgefrühstückt. (Das ganze geht auch ohne Fließkommazahlen, wenn man will oder muss)
Manfred schrieb: > Ich kenne einen BC238, der hat aber nur drei Beine. Damit verräts Du Dein Alter. (Ich bin auch mit dem BC238 aufgewachsen...) ;)
M.A. S. schrieb: > Manfred schrieb: >> Ich kenne einen BC238, der hat aber nur drei Beine. > Damit verräts Du Dein Alter. (Ich bin auch mit dem BC238 > aufgewachsen...) > ;) Weiterhin Off-Topic: ich bin mit dem OC612 aufgewachsen 😀 ... Und habe gerade zum ersten Mal ein Datenblatt dazu gesehen!
M.A. S. schrieb: > Damit verräts Du Dein Alter. Jo. Wobei ich anfangs nur Zugang zu altem Lehrmaterial hatte, wo überall der BC-107 verwendet wurde. Mit einer Feile konnte man ihn zum Fotowiderstand, Fotodiode oder Optokoppler umfunktionieren. Ein wahres Universal-bauteil :-)
Stefan ⛄ F. schrieb: > Da macht man den Tank einfach einmal voll und drückt den Anlernen-Knopf. > Dann dividiert man 100% durch den Messwert, und speichert sich das > Ergebnis als Multiplikator ab. Das funktioniert aber nur dann, wenn der Tankinhalt proportional zur Füllhöhe ist. Das ist regelmäßig nicht der Fall.
M.A. S. schrieb: > Ich bin auch mit dem BC238 > aufgewachsen... HildeK schrieb: > ich bin mit dem OC612 aufgewachsen Ich mit der PL504...
Axel S. schrieb: > Das funktioniert aber nur dann, wenn der Tankinhalt proportional zur > Füllhöhe ist. Das ist regelmäßig nicht der Fall. Das weiß ich. Muss korrigiert werden.
Beitrag #6575069 wurde von einem Moderator gelöscht.
Joachim B. schrieb: > Manfred schrieb: >> Das geht nicht > Axel S. schrieb: >> Das geht nicht. > sehe ich auch so! Da ist das Hauptproblem der Lösung, die Hardware: Martin B. schrieb: > Einmal 0-5V, ein mal 4-20mA und ein mal 33-240Ohm. 0-5V wollen vom µC gemessen werden, am besten aus den selben 5V wie der AT328 versorgt und direkt dran an den Analogeingang. 4-20mA brauchen einen Bürdewiderstand, an dem man den Spannungsabfall misst. 33-240Ohm brauchen einen Festwiderstand, je nach Beschaltung nach Plus oder GND, auch am besten aus den selben 5V wie der AT328 versorgt. An diesen Teiler mißt man dann die Spannung. Wenn der µC wenig zu tun hat, könnte man die drei Beschaltungen auf drei verschiedene Analogeingänge legen, die Software wird doch eh individuell eingespielt.
M.A. S. schrieb: > Damit verräts Du Dein Alter. (Ich bin auch mit dem BC238 > aufgewachsen...) > ;) Nur weil ich einen modernen Transistor kenne? Nee nee, erste Spielereien waren eher mit AC125, dann Verstärkerchen mit AC187/188 oder BD161/162. Irgendwann wurde Silizium bezahlbar, BC107. In Fernseher und Radio haben wir noch 'Birnen' umgesteckt, PL504, EL84. Antennenverstärker mit E88CC ... Mein erster Fernseher hatte noch eine PL36, bekam ich als Lehrling von einem älteren Herren geschenkt.
Manfred schrieb: > In Fernseher und Radio haben wir noch 'Birnen' umgesteckt, PL504, EL84. alle ohne Boosterdiode?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.