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