-
-
Neuer Benutzer
Öfters hier
Fotowiderstand am Analogport
Hallo,
ich möchte am 16F876 (AN0) die Lichthelligkeit auswerten. Es soll keine genaue Messung sein, sondern mehr so wie ein Dämmerungsschalter arbeiten. Die gemessene Spannung will ich dann im Bereich 0 ... 100 % skalieren und den Grenzwert einstellen. Scheint eine simple Sache zu sein. Dazu habe ich an den Analogport von VDD über ein Einstellpoti den LDR geklemmt. Vom Prinzip her klappt es. Bloß die Ergebnisse, insbesondere der Nullwert sind nicht reproduzierbar. Die Verbindung zw. LDR und PIC sind im Moment sehr kurz, sodaß ich Störeinstrahlung eigentlich ausschließe. In der Robotertechnik wird so etwas sicherlich oft eingesetzt. Wie funktioniert es bei den Robotern. Muß ich eventuell dem PIC noch eine Referenzspannungsquelle spendieren? Bevor ich die gemessene Helligkeit auswerte bilde ich erst mal einen Mittelwert aus 10 Werten. Damit habe ich zumindest erreicht, daß die Anzeige stabil ist und nicht bei Lampenlicht (50 Hz) ständig schwankt.
Bin für jeden Hinweis dankbar.
LazyBee
-
Erfahrener Benutzer
Robotik Einstein
Hallo LazyBee,
der PIC hat je nach Initialisierung einen Pin als Vref+ und noch einen als Vref-; die Pins müssen dann natürlich an +5 bzw. GND oder an eine Referenz-Spannung angeschlossen werden. Ich empfehle eine Initialisierung, bei der keine Vref-Pins zu Verfügung stehen (Initialisierung siehe http://www.domnick-elektronik.de/picasm.htm).
Ansonsten brauchst Du den LDR nur mit einem Widerstand in Reihe zwischen +5V und GND anzuschließen und die 'Mitte' an den ADC-Eingang zu führen. Der Widerstand sollte einen ähnlichen Wert haben, wie der LDR bei mittlerer Beleuchtung; dann liegt der 'Nullpunkt' irgendwo um die halbe Versorgungs-Spannung bei ca. 2,5V.
-
Neuer Benutzer
Öfters hier
Hallo Kalledom,
den Analogeingang habe ich so konfiguriert, daß Vref GND und +5V ist.
Der Unerschied bei mir zu Deinem Hinweis ist, daß ich ein Poti in Reihe zum LDR habe und die Spannung dann nicht direkt am LDR abgreife.
Ich werd es noch mals mit einem anderen Widerstandswert des LDR versuchen. Kann mir aber nicht vorstellen, daß es daran liegen soll.
Abgeglichen habe ich das so:
LDR mit der Hand abgedunkelt - Analogwert eingelesen
LDR voll angestrahlt - Analogwert eingelesen
Die Werte sind einen gewissen Zeitraum über reproduzierbar, aber nach einen Tag oder so dann nicht mehr reproduzierbar.
LazyBee
-
Erfahrener Benutzer
Robotik Einstein
Hallo LazyBee,
bist Du evtl. zu hochohmig für den ADC-Eingang ? So hochohmig, daß die Nähe der Hand das Ergebnis verändert ? Wie groß ist die Abweichung ?
Mit der Hand abdunkeln, ist sicher auch nicht so richtig reproduzierbar, die Helligkeit in dem Raum vielleicht nicht besonders konstant ?
Ist die Versorgung / +5V stabil genug ? Sind Blockkondensatoren 100nF und ein 10µF am µC ?
Vielleicht gibt es irgendwelche Einstrahlungen / 'Brumm'; lege zum 'Abblocken' mal einen 100nF Kondensator mit an den ADC-Eingang, bei der Helligkeits-Ermittlung muß Du ja sicher nicht 'blitzschnell' sein.
-
Neuer Benutzer
Öfters hier
Hallo Kalledom,
jetzt scheint es zu funktionieren. Es lag wohl an meinem Code. Ich beobachte das jetzt mal ein paar Tage. Mal sehen.
Danke für die Tipps.
LazyBee
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen