Forum: Mikrocontroller und Digitale Elektronik Digitales Rauschen bei Widerstandsmessung mit NE555


von Rainer Z. (razu)


Angehängte Dateien:

Lesenswert?

Hallo liebe uC-Gemeinde,

ich hab mir vor einiger Zeit einen Widerstandsmesser für den PC 
gebastelt.
Ein NE555 gibt mir über die on- und off-Zeiten zwei Widerstände aus. Das 
PWM-Signal lese ich mit der RS232 Schnittstelle aus und verarbeite die 
Daten mit LabView. Allerdings hat dieses Signal ein ziemlich krasses 
Rauschen. Es treten Toleranzen bis 5% auf, was mich bis jetzt nicht 
gestört hat, da ich eher relative als absolute Werte benötigt hab. Jetzt 
brauch ich aber gute Widerstandswerte, da ich die Position einer 
Joystickachse (mit eingebauten Poti) auslesen will.
Ich hab im Anhang das "digitale Rauschen" in Excel geplottet.
Auf der x-Achse sind die Messpunkte und auf der y-Achse der Widerstand 
(aus den on-/off-Zeiten errechnet) abgebildet.

Weiß jemand wie dieses Rauschen zustande kommt? Vielleicht sogar wie man 
es beseitigen / reduzieren kann?

Ich weiß schon, dass ich mir die Herummurxerei mit einem uC oder einem 
AD-Wandler sparen könnte, aber dazu fehlt mir die Kenntnis in einer 
uC-Sprache. Außerdem will ich es mit den Mitteln schaffen, die mir zur 
Verfügung stehen.

Freundliche Grüße
RaZu

von Hannes (Gast)


Lesenswert?

Wenn Du nicht unter einem Echtzeitbetriebssystem wie DOS arbeitest, 
kannst Du genaue Zeitmessungen vergessen.

von Rainer Z. (razu)


Lesenswert?

Ich hab schon viele andere Anwendungen erfolgreich probiert, die 
genauere Anforderungen an die Schnittstelle gestellt haben. Aber wieso 
denkst du, dass es mit Windows(7) nicht geht?

von Hannes (Gast)


Lesenswert?

Weil Win nicht echtzeitfähig ist.

von ...-. (Gast)


Lesenswert?

dreh mal über den Taskmanager die Priorität für Dein Messprogramm rauf.

von Purzel H. (hacky)


Lesenswert?

>Toleranzen bis 5%

Das waeren dann wahrscheinlich 5% Widerstaende ... :-)
Nee. Die Zeiten muesste man mit einem Controller messen. Ich wuerd eine 
sehr viel kleinere Streueung erwarten.

von Rainer Z. (razu)


Lesenswert?

Danke für die schnellen Antworten!

Eine Änderung der Prio hat leider nichts gebracht.
Ich komm wohl nicht um einen uC rum oder?

von Lukas K. (carrotindustries)


Lesenswert?

Rainer Z. schrieb:
> Danke für die schnellen Antworten!
>
> Eine Änderung der Prio hat leider nichts gebracht.
> Ich komm wohl nicht um einen uC rum oder?
Mit der Soundkarte kann man sich mit recht wenig Aufwand ein RLC-Meter 
bauen. So in etwa http://www.rcl-meter.strobbe.eu/

von Ulrich (Gast)


Lesenswert?

Das RLC Meter mit der Soundkarte ist gut, bis auf den fehlenden Schutz - 
ein nicht entladener Kondensator könnte ein Problem werden. Da sollten 
je 2 Diode an den Eingängen schon einiges helfen.

von Timm T. (Gast)


Lesenswert?

Rainer Z. schrieb:
> Weiß jemand wie dieses Rauschen zustande kommt? Vielleicht sogar wie man
> es beseitigen / reduzieren kann?

Gibts auch nen Schaltplan?

Ich nehm an, Du wertest die Pegel an den Handshake-Leitungen aus. Und da 
kann es je nach Betriebssystem schon mal zu 20ms Fehler kommen, wenn Du 
in die entsprechenden Timeslots fällst.

Unter XP und früher kann man seinem Prozess kurzzeitig höchste Priorität 
geben, die Messung über eine Frequenz-Zeit-Korrektur an den 
Prozessortakt anpassen und dann im unteren ms-Bereich messen.

Darf man aber immer nur kurzzeitig machen, weil sonst das Betriebssystem 
hängenbleibt. Ob das auch bei Win > XP geht, weiss ich nicht.

Wenn Du dann noch eine RS232 am USB verwendest, bist Du ganz 
aufgeschmissen. Mach eine externe Messung mit einem µC und gib die Werte 
auf Display oder per RS232-Daten aus.

von Rainer Z. (razu)


Angehängte Dateien:

Lesenswert?

Ich hab noch einen originalen RS232 Port am PC - also kein 
USB-RS232-Converter. Den Schaltplan hab ich angehängt. Es klingt sehr 
sinnvoll, dass es am OS liegt, da ich schon viel probiert hab, um den 
Fehler in meiner Hardware zu finden. Allerdings sind die Ergebnisse auch 
mit den hochwertigsten Teilen (Toleranz -> 0) immer verrauscht.

Ein Windowsupdate wäre hier cool.
Merkwürdig finde ich es aber auch, dass eine so kompetente 
Programmierumgebung wie LabView die Daten vom OS bezieht.

von Timm T. (Gast)


Lesenswert?

Rainer Z. schrieb:
> Merkwürdig finde ich es aber auch, dass eine so kompetente
> Programmierumgebung wie LabView die Daten vom OS bezieht.

LabView unterliegt genauso den "Multitasking"-Slots des BS. Und die 
RS232 ist eigentlich nicht dafür gemacht, damit zeitkritische 
Anwendungen im unteren ms-Bereich zu steuern.

=> externe Auswertung

von Rainer Z. (razu)


Lesenswert?

Danke für die Hilfe liebe Community.

Ich werd es mit einem uC oder ADC probieren - wohl oder übel.

MfG
RaZu

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
Noch kein Account? Hier anmelden.