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
Wenn Du nicht unter einem Echtzeitbetriebssystem wie DOS arbeitest, kannst Du genaue Zeitmessungen vergessen.
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?
dreh mal über den Taskmanager die Priorität für Dein Messprogramm rauf.
>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.
Danke für die schnellen Antworten! Eine Änderung der Prio hat leider nichts gebracht. Ich komm wohl nicht um einen uC rum oder?
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/
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.
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.
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.