Angepinnt Der "Ich-hab-da-mal-ne-kurze-Frage"-Thread

    @Stachel
    An deiner Stelle würde ich alles <192 kb/s bzw <=v2 aussortieren. Bis dahin kann man die Kompression nämlich wirklich hören.
    Beim Encoder am besten die Version nachsehen. Nicht nur den Namen. Da gibts u.U. auch große Fortschritte.
    Je nachdem dann lieber neu holen anstatt in schlechter Qualität die Musik vorliegen zu haben.
    Guten Abend,

    habe eine kurze Frage an die Microcontroller Experten unter uns :D

    Ich bin dabei ein Ölthermometer für mein Motorrad zu bauen. Die Temperatur soll mit einem NTC über einen Spannungsteiler vom Attiny85 ausgewertet werden. Der NTC wird mit einer Leitungslänge von ca. 1m an die Schaltung angeschlossen.
    Ich bin mir aus praktischer Sicht nicht sicher, welche Zusatzbeschaltung am ADC Eingang nötig ist, um möglichen Störungen entgegen zu wirken.
    Habe über einen 100nF Kondensator nachgedacht um einen einfachen Tiefpass zu bilden, da der ADC ja bereits einen recht hochohmigen Widerstand enthält.
    Ist das Zweckmäßig oder wird das in professionellen Schaltung noch anders gelöst?

    Viele Grüße

    Hxg135
    Ich würde zwar nicht für mich in Anspruch nehmen wollen, ein ausgewiesener Experte zu sein, aber ich habe mit einem Wämeschrank ebenfalls Erfahrungen mit analogen Sensoren sammeln können.
    Ich habe 2,2µF Folie genommen, nicht nur 100nF am Analogeingang. Der Test war empirisch, d.h. ich habe geguckt, wann sich die Werte beruhigt haben. An einem Analogeingang würde ich Ekos meiden, da diese u.U. selber durch elektochem. Prozesse ein paar mV auf den Eingang schicken können. Hochkapazitive Keremikkondensatoren (KerKos) würde ich ebenfalls meiden, da diese mikrofonische Effekte haben können, da sie auch einen kleinen piezoelektrischen Anteil haben und so bei Vibrationen, die in einem KFZ nun mal recht ausgeprägt sind, ebenfalls selber für Störungen sorgen können.
    Nächster Schritt ist dann die mathematische Beruhingung des gemessenen Analogwertes durch Mittelwertbildung. Ob man nun 5, 10 oder 50 Werte mitteln soll, muß man ebenfalls ausprobieren.
    Nächster Schritt ist eine vernünftige Spannungsversorgung des Controllers. KerKo und Elko so dicht wie möglich am Controller, der Analogteil sollte, wie in der AppNote ebenfalls noch einen KerKo bekommen. Sternförmige Verkabelung, so das sich an Kondensatoren Zu- und Ableitung trifft - keine T-Förmige Verkabelung, wo der Kondensator weit weg von der Hauptleitung sitzt. Ebenfalls keine Masseschleifen!
    Wenn die Sensoren noch nicht fertig konfektioniert sind, dann verwende geschirmte Leitung. Verwende den Schirm nicht als zusätzliche Ader, lege ihn auf EINER Seite auf Masse. Veruche Leitungen die Störungen abstrahlen, wie z.B. Zündkabeln fernzubleiben.
    Auch die Analogreferenz sollte man nicht zwingend als "Gottgegeben" ansehen und die Betriebsspannung des Controllers mitverwenden. Wenn diese weich ist und Lastabhängig schwankt, dann baut man hier schon Fehler ein. Außerdem ist Ub in den seltensten Fällen genau 5V groß. Eine externe Referenzsspannung kann eine gute Idee sein. Wobei ich diesen Aufwand auch nicht getrieben habe. Aber man sollte die 5V mal nachmessen und in seine Formel nicht stumpf die 5V übernehmen, sonden den gemessenen Wert.
    Für die Jüngeren: Led Zeppelin ist KEIN beleuchtetes Luftschiff! :D

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Superluminal“ ()

    Vielen Dank für die ausführliche Antwort und die vielen praktischen Hinweise. Software-technisch mittel ich aus 10 Messwerten die Temperatur mit einem zeitlichen Abstand von 10ms zwischen den Einzelmessungen.
    Hardware-technisch erzeuge ich die 5V mit einem LOW-Drop-Regler plus Zusatzbeschaltung. Ich habe den bisherigen Stand als Schaltplan einfach mal angehängt. (Nicht wundern NTC und die Ausgänge für LEDs als Temp-Anzeige sind nur als Lötpads ausgeführt)
    Dein Einwand zu den Kerkos klingt vernünftig. Habe eine KTM und die schüttelt es doch beachtlich. Also besser auf Folie zurück greifen. Die 100nF (Markierung) wären natürlich nur explizit für den Analog Eingang dimensioniert. Der Attiny an sich wäre noch mit 22 uF Elko und 100 nF Folie an Vcc beschaltet. Oder meinst du, dass es besser wäre den Kondensator am Analog Eingang größer zu wählen?

    Auf geschirmte Leitung bin ich noch gar nicht gekommen. Dürfte ja eigentlich am effektivsten sein, mögliche Störfrequenzen über den Schirm abzuführen.
    Beim Platinenlayout werde ich warscheinlich nochmal Eure/Deine Meinung in Anspruch nehmen. :D Da habe ich relativ wenig Erfahrung.

    Nachtrag: Gibt es bei der Auswahl von Folien-SMD Kondensatoren etwas besonderes zu beachten außer Spannung und Kapazität. Bei TME fallen Polyester Typen auch unter "Folie" richtig?

    Gruß Hxg135
    Bilder
    • Attiny85_Thermo.png

      19,5 kB, 905×860, 26 mal angesehen
    Mach für den Folienkondensator eine Ausnahme und nimm eine THT Ausführung - also kein SMD. Der Grund dafür ist, das ich in Foren mitbekommen habe, das die sehr hitzeempfindlich sind und sogar beim Löten verbrutzeln können. Da bist du mit einer herkömmlichen Ausführung durch die Anschlussdrähte auf der sicheren Seite ;)
    Ich nehme gerne die von WIMA: tme.eu/de/details/mks2-2.2u_50…wima/mks2b042201f00kssd/#
    Für die Jüngeren: Led Zeppelin ist KEIN beleuchtetes Luftschiff! :D

    Neu

    Ich hoffe es ist noch nicht zu spät.

    Wenn du den NTC über einen schnöden Spannungsteiler ausliest, haust du dir eine (zusätzlich zu der des NTCs selbst) eine weitere Nichtlinearität rein. Das ist Mist.
    Löse das lieber mit einer Konstantstromquelle. Kann man diskret aufbauen, gibt es aber auch fertig zu kaufen.

    Ob es so klug ist, zwei NTCs hitnereinander zum Messen zu nehmen, ist auch noch so eine Sache. Einen OPV als Differenzverstärker halte ich da für sinnvoller. Mit den zwei NTCs nutzt du den AD-Wandler nicht besser aus, sondern beschränkst dir deinen Messbereich nach unten hin. Das ist Mist.
    Außerdem liegt der Meßwiderstand des Attinys nicht allzuweit von den Größenordnungen deiner Widerstände entfernt (ich hab da Werte zwischen 10 und 50 kΩ im Hinterkopf, bin jetzt aber zu faul zum nachprüfen), damit baust du dir weitere Ungenauigkeiten ein.

    Ich würde dir sowas wie den LT 1490 empfehlen. Nicht der billigste OPV, für deine Zwecke aber ideal. Braucht keine negative Versorgungsspannung (Rail-to-Rail-Typ), gibt es als Doppel- oder Quat-OPV, also zwei oder vier OPVs in einem IC, werksseitig sehr gut kompensiert z.B. gegen Temperaturdrift, auch als DIL-Variante erhältlich falls du auf SMD verzichten willst. Und der hat eine relativ niedrige Transitfrequenz (ich glaub 200kHz oder so), was dir hier sehr zu Gute kommt.

    Damit kannst du auch gleich einen Offset abziehen, sodaß der ADC z.B. bei -20°C wirklich 0V sieht. Und den zweiten OPV, der dann sowieso dabei ist, könntest du als Impedanzwandler nutzen. Schadet nichts, machts nur besser.

    Ach ja, noch was: mit geschirmten Leitungen kommst du nur bedingt weiter. Die elektrische Komponente eines störenden Feldes bekommst du so recht gut in den Griff, die magnetische aber nicht, die induziert dir weiter fröhlich Störspannung. Gerade bei deiner Spannungsteilerlösung ist das sehr schlecht. Auch aus diesem Grund empfiehlt sich eine Stromquelle, die ist gegen induktive Einkopplungen deutlich unempfindlicher. Zumindest bei niedrigeren Frequenzen.
    Das Erfolgskonzept von Windows ist eine gelungene Mischung aus Marketing, Korruption, Kartellmißbrauch und der erfolgreichen Spekulation auf das Naturgesetz, daß Scheiße oben schwimmt.


    Auch aus Steinen, die einem in den Weg gelegt werden,
    kann man Schönes bauen.
    Johann Wolfgang von Goethe

    Neu

    Auch Dir vielen Dank für die ausführliche Antwort. :thumbsup:
    Ich verwende aber nur einen NTC zur Messung. ;) Hab ich wohl etwas verwirrend auf dem Schaltplan dargestellt. NTC1 und NTC2 sind nur die beiden Lötpads zum Anschluss des einen NTC.

    Über den Ansatz mit Konstantstromquelle habe ich bereits gelesen aber mir erschließt sich der Aufbau im Zusammenspiel mit dem Mikrocontroller nicht ganz. Wenn ich das richtig sehe, wird durch den NTC ein konstanter Strom geschickt und ich messe mit dem uC die Spannung, die von der Konstantstromquelle eingestellt wird um die z.B 1 mA durch den NTC zu gewährleisten, da der ja seinen Widerstand mit der Temperatur ändert.
    Und um den Messbereich, also die Auflösung zu verbessern wird ein OPV genutzt um den Messbereich von 0-5V des ADC voll auszunutzen. Korrekt?

    Momentan ermittele ich die Temperatur durch die vereinfachte Steinhart-Hart-Gleichung. Jemand in einem Ducati Forum hat sich die Mühe gemacht und für die Koso-Sensoren experimentell den B-Wert errechnet. Denn die von Koso geben null technische Daten zu ihrem Sensor raus.
    Der uC mittelt aus 10 Messungen erst den Widerstand und errechnet dann eben nach der Gleichung die Temperatur. Dein Argument mit der nicht-linearität des Serien Widerstands ist nachvollziehbar, da die Berechnung des NTC Widerstands ja als Grundlage einen exakt bekannten Serien Widerstand hat.
    Könnte ich den Fehler durch den Serien-Widerstand nicht vernachlässigen, wenn ich einen Präzisions-Widerstand (üblich 25ppm/°C) mit 4.7 kOhm verwende? Die Schwankung des Widerstandes bei einem Temperaturunterschied von 40°C beträgt dann nur 0.001 Ohm. Das dürfte doch keinen großen Fehler bei der Temperaturberechnung zu Folge haben.

    Bei Anwendung mit Konstantstromquelle ändert sich doch eigentlich nichts an der der Berechnung der Temperatur aus dem ermittelten Widerstand. Lediglich der Widerstand muss jetzt über die gemessene Spannung am ADC berechnet werden -> Spannung = ADC-Wert * 4,888mV und dann Widerstand aus Spannung und Strom berechnen und nicht mehr durch das Verhältniss der Widerstände im Spannungsteiler, richtig?

    Wie setzt ich denn den OPV Software und Hardware mäßig richtig ein? Ich muss dem Controller ja sagen, welchen Spannungen am OPV Eingang den 5V und 0V am OPV Ausgang entsprechen. Welche Rolle spielt, denn die Stromstärke dabei? Bei dem Koso 10kOhm NTC und 0.5mA würden bei 25°C 5V und bei 140°C 0,228V anliegen. Kleiner macht warscheinlich keinen Sinn aber größer würde den Bereich zwischen 25 und 140°C ja weiter auffächern, den wir dann mit dem OPV wieder korrigieren. Z.B. 1mA -> 25°C 10V und 140°C 0.456V
    Zusätzlich müsste ich doch auch dafür sorgen, dass am ADC Eingang nur Spannungen kleiner gleich 5V anliegen. Nur wie löst man das elegant?

    Hast du eventuell weiterführende Links? Vll auch mit Schaltplänen? Ich habe leider keine Erfahrung mit OPVs und deren Verwendung, weswegen mir ein Schaltungsaufbau damit sehr schwer fallen wird.

    Vielen Dank und viele Grüße

    Neu

    Hxg135 schrieb:

    Über den Ansatz mit Konstantstromquelle habe ich bereits gelesen aber mir erschließt sich der Aufbau im Zusammenspiel mit dem Mikrocontroller nicht ganz. Wenn ich das richtig sehe, wird durch den NTC ein konstanter Strom geschickt und ich messe mit dem uC die Spannung, die von der Konstantstromquelle eingestellt wird um die z.B 1 mA durch den NTC zu gewährleisten, da der ja seinen Widerstand mit der Temperatur ändert.
    Und um den Messbereich, also die Auflösung zu verbessern wird ein OPV genutzt um den Messbereich von 0-5V des ADC voll auszunutzen. Korrekt?

    Das hast du völlig richtig erkannt.

    Hxg135 schrieb:

    Könnte ich den Fehler durch den Serien-Widerstand nicht vernachlässigen, wenn ich einen Präzisions-Widerstand (üblich 25ppm/°C) mit 4.7 kOhm verwende? Die Schwankung des Widerstandes bei einem Temperaturunterschied von 40°C beträgt dann nur 0.001 Ohm. Das dürfte doch keinen großen Fehler bei der Temperaturberechnung zu Folge haben.

    Mach dir mal den Spaß und erstelle die eine Exceltabelle. Dann baust du die Spannungsteiler-Formel nach und änderst den Widerstand, über dem du eigentlich messen willst, kontinuierlich. Vielleicht komme ich morgen dazu, daß mal zu visualisieren. Du wirst da ne recht krumme Linie kriegen-und dabei ist das ein linearer Zusammenhang. Die Nichtlinearität des NTC kommt dann nochmal dazu.

    Klar, theoretisch kann man das auch wieder geraderechnen...ist aber sauaufwändig.

    Hxg135 schrieb:

    Bei Anwendung mit Konstantstromquelle ändert sich doch eigentlich nichts an der der Berechnung der Temperatur aus dem ermittelten Widerstand. Lediglich der Widerstand muss jetzt über die gemessene Spannung am ADC berechnet werden -> Spannung = ADC-Wert * 4,888mV und dann Widerstand aus Spannung und Strom berechnen und nicht mehr durch das Verhältniss der Widerstände im Spannungsteiler, richtig?

    Genau. Dein Strom ist bekannt und konstant, du mißt die Spannung, und wendest dann darauf das ohmsche Gesetz an R = U/I an.

    Hxg135 schrieb:

    Wie setzt ich denn den OPV Software und Hardware mäßig richtig ein? Ich muss dem Controller ja sagen, welchen Spannungen am OPV Eingang den 5V und 0V am OPV Ausgang entsprechen. Welche Rolle spielt, denn die Stromstärke dabei? Bei dem Koso 10kOhm NTC und 0.5mA würden bei 25°C 5V und bei 140°C 0,228V anliegen. Kleiner macht warscheinlich keinen Sinn aber größer würde den Bereich zwischen 25 und 140°C ja weiter auffächern, den wir dann mit dem OPV wieder korrigieren. Z.B. 1mA -> 25°C 10V und 140°C 0.456V
    Zusätzlich müsste ich doch auch dafür sorgen, dass am ADC Eingang nur Spannungen kleiner gleich 5V anliegen. Nur wie löst man das elegant?

    Google mal nach "Differenzverstärker". Da findest du genug Schaltungsbeispiele. Wenn ich dazu komme kann ich auch mal was auf dem Papier zusammennageln. Oder wer anders hier...

    Hxg135 schrieb:

    Hast du eventuell weiterführende Links? Vll auch mit Schaltplänen? Ich habe leider keine Erfahrung mit OPVs und deren Verwendung, weswegen mir ein Schaltungsaufbau damit sehr schwer fallen wird.

    Kenn ich..hatte ich auch mal. Für meine Bachelorarbeit kam ich um OPVs aber nicht mehr herum und da mich mein Simulationsprogramm auch nach Strich und Faden verarscht hat (7V Ausgangsspannung am OPV bei 5V maximaler Betriebsspannung) hab ich mich dann mal zwei Tage ans Steckbrett gesetzt und rumgefummelt. Seitdem benutze ich OPVs weniger ängstlich. :)
    Das Erfolgskonzept von Windows ist eine gelungene Mischung aus Marketing, Korruption, Kartellmißbrauch und der erfolgreichen Spekulation auf das Naturgesetz, daß Scheiße oben schwimmt.


    Auch aus Steinen, die einem in den Weg gelegt werden,
    kann man Schönes bauen.
    Johann Wolfgang von Goethe

    Neu

    So...ich hab mal etwas in Excel gezaubert.
    Ich habe die Daten des NTCs von hier (Seite 11, die 4,7kΩ-Variante):
    cdn-reichelt.de/documents/datenblatt/B400/NTC-02_Serie.pdf

    Ich habe den Widerstand des NTC (schwarze Kurve, linke Achse), die Spannung, die bei einem konstantem Strom von 0,25mA über dem NTC anliegt (rote Kurve, rechte Achse) und die Spannung, die bei einem Reihenwiderstand von 4,7kΩ und einer Eingangsspannung von 5V über dem NTC anliegt (blaue Kurve, rechte Achse), in Abhängigkeit zur Temperatur aufgetragen.



    Was ich noch gar nicht bedacht habe: Im oberen Temperaturbereich ist der NTC eigentlich kaum noch zu gebrauchen, da ist die Linie nahezu horizontal. Für dich sind die rote und die blaue Kurve am interessantesten. Da siehst du, wie stark die beiden Kurven auseinanderdriften. Und du siehst, wie schön die rote Kurve (gemessene Spannung) der schwarzen (Widerstand folgt), was ja allerdingszu erwarten war.
    Das Erfolgskonzept von Windows ist eine gelungene Mischung aus Marketing, Korruption, Kartellmißbrauch und der erfolgreichen Spekulation auf das Naturgesetz, daß Scheiße oben schwimmt.


    Auch aus Steinen, die einem in den Weg gelegt werden,
    kann man Schönes bauen.
    Johann Wolfgang von Goethe