Go Down

Topic: 5a via welchem Transistor und mit welchem Vorwiderstand schalten? (Read 1 time) previous topic - next topic

AndrewCologne

Wenn ich ein MM am Ausgang des Sensor-Controllers klemme und dort eine Spannung von z.B. 2.45v anliegt, wird sie im Arduino als z.B. ca. 2.02v via Analogread() gelesen.

combie

Ein Frosch, der im Brunnen lebt, beurteilt das Ausmaß des Himmels nach dem Brunnenrand.

AndrewCologne

War gerade am Fahrzeug.
Der Arduino ist jetzt natürlich schon auf der Platine gelötet, samt der Widerstände R1 und R2 am Ausgang A0 hin zum Cntroller bzw. zur Masse.

Wenn ich per Zündungsplus das Ganze hochfahre und sodann direkt am A0 Eingang Messe, werden mir 0.1 Volt gezeigt, und das ziemlich genau. Wenn ich sodann hinter den Widerstand R1 messe der mit A0 hin zum Controller verbunden ist, sind es 0.03 Volt, ... auch ziemlich genau.  



Uns so lese ich A0 aus:
Code: [Select]
double resistor1 = 10000; // Ohm
float resistor2 = 10000; // Ohm
float divider = (resistor1 + resistor2) / resistor2;

float val = analogRead(A0);
val = (val / 1024.0) * 5;
val = val * divider;

Um jetzt aber auf den richtigen Wert zu kommen, muss ich hier am Ende noch "val = val * 1.215;" einfügen, dann läuft alles perfekt. Aber ... zuhause im testaufbau, wo der A0 Eingang variabel testweise mit 0-5v aus dem Netzteil gefüttert wurde, war dies logischerweise nicht nötig. Daher tippe ich hier mal auf Optomierungsbedarf.


DrDiettrich

Du brauchst ein besseres Meßinstrument oder ruhigere Finger. Ein Scope wäre besser zur Messung von verrauschten Signalen.

postmaster-ino

Hi

Das wäre ja zumindest 'ungefähr die Hälfte'.
Denke, bei Deinem Messgerät ist bei der 2.ten Nachkommastelle Schluß.
Wie viele Digits Hausnummern sind, steht im DaBla des Messgerät, wenn Eines vorhanden ist.
Bei Dir würde bereits +/- 1 Digit an der letzten Stelle reichen, daß Deine Messung völlig ok ist.
0,09V als 0,1V angezeigt - passt
Die Hälfte wären 0,045V, ein Digit tiefer wären wir bei 0,035V.
Die dritte Nachkommastelle gibt's nicht -> passt.

Und ich glaube nicht, daß Dein Messgerät +/- 1 Digit bietet.

Was sagen kleinere Messbereiche?

MfG

PS:Nicht immer ist ein digitales Ergebnis sinnvoller - bei einem analogen Messinstrument hättest Du 'die Hälfte' abgelesen und wär's zufrieden - hier hast Du ein Drittel und suchst den Fehler.

PPS: Messgeräte mit eigenem DaBla habe ich hier auch eher übersichtlich ... also keine Angst, daß Du hier unbedingt 'was Besseres' brauchst - Du musst nur wissen, was die Anzeige wirklich bedeutet/bedeuten KANN.

AndrewCologne

Danke Euch für Eure fixen antworten.

Habe oben noch was im Posting hinzugefügt, also den Code.

Ich habe ein Multimeter von Conrad/Voltcraft, dass aber sonst, wenn ich z.B. die Spannungen aus dem Messgerärt lese recht genau ist, so ca. 2 STellen hinte dem Komma.

https://www.voelkner.de/products/314244/VOLTCRAFT-VC175-Hand-Multimeter-digital-Kalibriert-nach-Werksstandard-ohne-Zertifikat-CAT-III-600V-Anzeige-Counts-4000.html

Die finale Volt-Korrektur im Code via *1.215 scheint mir aber recht heftig. Vor allem, da es vorher am Netzteil passte und Arduino genau das gleiche gelesen hat, wie das MM.


ElEspanol

Liegt hier nicht ein Verständnisfehler vor, oder warum diskutiert ihr über Messfehler? Wenn der Eingang eines Spannungsteilers niedriger als der Ausgang (sollte doch halbe Eingangsspannung haben) ist, kann doch nicht das Messgerät schuld sein.

AndrewCologne

Glaube ebensowenig, dass es eine falsche Anzeige meines MM ist.
Im Testaufbau, wo die variable 0-5v Spannung, die von dem Sondencontroller geliefert wird, testweise via einem Labornetzgerät simuliert wurde, und ich das MM zwischen Netzgerät und R1 vor dem A0 Eingang angeschlossen habe, stimmte die Messung vom Arduino mit der Anzeige des MM und des Netzgerätes sehr genau überein. Teiler war demnach richtig und auch richtig im Code angewendet.

Wie gesagt, wenn oben alles dann genauso im KFZ-Bordnetz anschließe und starte und ich das MM zwischen Controller und R1 vor dem A0 Eingang anschließe, lese ich im MM die korrekten Volt-Werte, die der Controller abgibt. Sodann gehts ja via R1 in den A0 Eingang des Arduino, und der liest das Signal dann aber mit der o.g. Abweichung ein, wo ich sodann dessen Eingangs-Ergebnis im Code via dem Multiplikator *1.215 korrigieren muss, damit der Spannungswert mit dem angezeigten Wert am MM aus dem Controller überstimmt und final alles korrekt im Arduino interpretiert und der korrekte Duty Cycle an D9 hin zum Mosfet ausgerechnet wird.

Die Abweichung ist jetzt eben mit dem korrigierenden Multiplikator von 1.215 im Code praktisch gelöst, aber ... ich glaube das ist nicht im Sinne der Schöpfung und hier liegt irgendwo im Aufbau viell. Optimierungsbedarf vor. Daher die Frage, da ich sicher gehen will.

DrDiettrich

Mit einem DMM kann man eigentlich nichts richtig messen außer Widerständen. Bei hochohmigen Schaltungen, wie hier der Spannungsteiler, und Brumm und Rauschen oberhalb des Messwerts können fast beliebige Werte angezeigt werden. Und wenn dann noch eine Masse"leitung" über die Karosserie dazukommt... :-(

AndrewCologne

.... Bei hochohmigen Schaltungen, wie hier der Spannungsteiler, ...
Habe ja momentan R1 und R2 mit jeweils 10K Ohm gewählt, wäre hier viell. jeweils 1k Ohm besser?
Die Variable Eingangsspannung vom Controller ist zwar eh nur innerhalb der am A0 Eingang zulässigen 5v, aber so wie ich es verstanden habe sollte immer ein Pulldown Widerstand zur Masse hin angeschlossen werden, was ja sodann einen Weiteren zwischen A0 und der Eingangsspannung abverlangt.
Daher hier der kleine gewählte Teiler mit Faktor 2 anhand zwei gleicher Widerstände (R1 und R2).

DrDiettrich

Ein Pulldown Widerstand ist am Analogeingang eigentlich überflüssig. Besser wäre vielleicht ein Kondensator, der Störungen ausfiltert. Dann liefert auch ein DMM zuverlässigere Werte.

AndrewCologne

Welchen Kondensator würdest Du hier bei den 0-5v empfehlen?

DrDiettrich

Das kommt auf die Reaktionsgeschwindigkeit an. Vielleicht 10nF?

ElEspanol

Ich tippe auf Masseprobleme. Miss doch mit dem MM einfach alle Möglichkeiten durch. Sprich, teste ob zwischen verschiedenen Massepunkten eine Spannung ist.

AndrewCologne

Kleines Update, da ich erst die letzten Tage dazu gekommen bin, weiter am Projekt zu arbeiten.

Habe in der Zwischenzeit alles sauber auf eine Streifenraster-Platine aufgelötet und nun läuft alles beim Einlesen der Spannung perfekt.
Zwischen dem Analogeingang und der Masse habe ich noch den, von DrDiettrich empfohlenen, 10nF Kondensator eingesetzt und alles wird wunderbar mit dem Multiplikator gemäß Teiler/Widerstände eingelesen.

Besten Dank nochmal!

Go Up