Forum: Mikrocontroller und Digitale Elektronik widerstände sind voneinander abhängig


von hans (Gast)


Angehängte Dateien:

Lesenswert?

hallo,

folgendes problem. ich hab 5 fotowiderstände an einem arduinoboard mit
entsprechenden vorwiderständen davor hängen.
wenn ich einen der sensoren verdecke, registriere ich einen korrekten
spannungsabfall --> 0 . (die 0 bis 5V sind in 1024 schritten
gerastert)
wenn ich nun aber einen anderen verdecke, fällt dessen wert nurnoch auf
200 und der wert des vorherigen sensors steigt von 0 auf 5 an...

wo hab ich den fehler drin?

von Stefan K. (_sk_)


Lesenswert?

Sieht aus, als ob die Sensoren und Vorwiderstände zu hochohmig sind.
Der AD-Wandler hat einen Samplekondensator am Eingang. Dieser muss
zwischen den Messungen durch Deine Messwiderstände umgeladen werden.

Gruß, Stefan

von hans (Gast)


Lesenswert?

wie würde das denn konkret aussehen, das umladen des kondensators? muss
das softwareseitig durch das arduinoboard geschehen, oder muss ich die
schaltung ändern und: wie?

danke & grüße,
hans

von Franz (Gast)


Lesenswert?

Soweit ich weiß darf die Eingansimpedanz der Schaltung am µC einen
gewissen Wert nicht überschreiten. bei den Pics sinds z.B. 10kOhm.
Versuch das du da drunter kommst mit deinen Vorwiderständen + max.
Widerstandswert des LDRs.

lg

von Stefan K. (_sk_)


Lesenswert?

Schreib doch mal, welche Widerstandswerte Du benutzt.

Unschöne, aber ev. hilfreiche Methode ist:
Jeden AD-Kanal mehrmals hintereinander einlesen und nur den letzten
Messwert verwenden. Damit gibst Du dem Samplekondensator im AD-Wandler
mehr Zeit, um sich auf den neuen Kanal umzuladen.

Besser ist aber (wenn möglich) die Verwendung niederohmigerer
Eingänge.
Alternative kann auch sein, den Differential-Eingang-Mode zu benutzen.
Dabei ist vor dem Sample-Kondensator intern ein OP-Amp vorgeschaltet.
Das Datenblatt schreibt, bei dieser Beschaltung darf die
Eingangsimpedanz ein paar 100 kOhm betragen (ATmega32, Seite 207).

bdw.: benutzt Du überhaupt einen ATmega? das von Dir verwendete Board
kenne ich nicht.

Gruß, Stefan

von Sven (Gast)


Lesenswert?

Wenn's nicht schnell sein muss (aber LDRs sind eh nicht schnell): an
den Eingängen jeweils 10..47nF Kondenstoren gegen GND puffern die
Messspannung beim Einlesen ab (verringern kurzzeitig die
Eingangsimpedanz). Ansonsten hilft ein Impedanzwandler mit OPV, 5x
aufgebaut...

Sven

von hans jadek (Gast)


Lesenswert?

danke für die vielen schnellen antworten!

franz: leider müssen die vorwiderstände so hochohmig sein, damit ich
möglichst differenzierte werte bekomme.

stefan: ich werde das mit dem mehrmals auslesen mal versuchen und ja:
es ist ein ATmega8 auf dem arduinoboard verbaut (http://arduino.cc),
aber arduino im speziellen verwendet eine sehr einfache
programmierumgebung die einem abgespeckten java ähnelt. ich weiss
nicht, ob ich da zu einem "differential-eingang-mode" umschalten
kann...

sven: das mit den kondensatoren werde ich versuchen, wenn stefans
methode nicht klappt!

danke euch nochmals,
hans

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.