Meinem uralt selbst gewickelten Stell-Trenn-Trafo mit zusätzlichem Gleichspannungsausgang fehlte eine Spannungs- und Stromanzeige. Die habe ich nun mit einem Tiny861 nachgerüstet. Die Strommessung wollte ich direkt mit der Differential-Messung und der internen Verstärkung machen (siehe Bild 1). Die Messung wird in einer Loop zur Mittelwertbildung gemacht. Dabei werden 3 Single-Messungen für 2 Spg-Bereiche und einer Temperatur und 2 Differential-Messungen mit V=32 und V=8 für den Strom gemacht. Beim Umschalten auf Differential gibt es Probleme. Die erste Wandlung liefert Null. Erst nach 2 oder 3 Dummy-Wandlungen bekomme ich brauchbare Ergebnisse, es geht auch ein Wait-Statement nach Setzen des MUX. Im Manual habe ich dazu nichts gefunden. Gibt es dafür Erkärungen? Evtl. Umladen interner Kapazitäten? Ich denke, dass ich keine grundsätzlichen Fehler mache: ADC-Frequenz von 125kHz Loop mit: 1. Setzen von ADCSRB und ADMUX 2. Wartezeit von z.B. 500µs 3. Wandlung starten mit ADSC=1 4. Warten auf ADSC=0 5. Ergebnis abholen Ist die erforderliche Wartezeit normal und wie groß sollte sie sein? Gibt es dafür Erklärungen?
Die Zeitkonstante von 470ms soll den 100Hz-Stromripple glätten. Schnell muss die Anzeige nicht sein, aber einigermaßen stabil.
Einen offensichtlichen Grund für die erforderliche Wartezeit scheint es wohl nicht zu geben. Das muss man dann wohl einfach ausprobieren. Ich habe noch ergänzende Untersuchungen zur Differential-Messung gemacht. Insbesondere interessierte mich die Linearität. Dazu habe ich den ganzen Messbereich durchgemessen. Ich musste auch ohne Wechsel zwischen Single und Differential eine Wartezeit zwischen den Messungen vorsehen - jedenfalls wurde die Messung damit viel stabiler. Im einzelnen: - 125kHz ADC-Takt - Vref=1,085V, Verstärkung *32, also 34mV Vollausschlag - Offset von +1,3 Rohwerten - 500µs Wartezeit - Mittelwert aus 100 Messungen Die blaue Kurve zeigt den absoluten Fehler in mV mit der linken Achse. Man sieht eine Überhöhung bei 900 Rohwerten und dann ein Abdriften ins negative bei über 1000 Rohwerten. Die gestrichelten roten Linien markieren +-1 Rohwert. Trägt man den relativen Fehler bezogen auf den Messwert auf (gelbe Linie, rechter Maßstab), sieht das nicht ganz so dramatisch aus. Im mittleren Bereich sind die %-Abweichungen fast Null. Erst bei 100 und 950 Rohwerten tritt der maximale Fehler von ca. 0,5% auf. Rohwerte unter 20 und über 1010 sollte man meiden. Je nach Genauigkeitsanforderung muss man sich also im mittleren Bereich bewegen. Die auffälligen symmetrischen Abweichungen bei 100 und 950 Rohwerten deuten darauf hin, dass die Kennlinie im ADC-Verstärker im Randbereich etwas hingebogen wurde, was dann im Grenzbereich nicht mehr ausreicht.
Ich habe auch mal eine Differential-Messung mit T861 für eine direkte Strommessung gemacht. Dabei habe ich auch festgestellt dass die erste Messung nach dem Umschalten den Wert 0 liefern. Es funktioniert nur mit mehreren Dummy-Messungen oder mit einer Wartezeit nach dem Setzen des Mux. Seltsamerweise ist eine Wartezeit auch bei jeder Differential-Messung ohne Umschaltung nötig. Erst dann sind die Messwerte stabil. Ich hatte das schon mal hier beschrieben: Beitrag "ADC-Differential-Messung" Vielleicht hilft es auch, den ADC-Takt niedriger zu wählen. Ich werde die Messung noch mit dem T85 wiederholen, da wird wohl nichts anderes heraus kommen.
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.