Hallo zusammen, Ich möchte eine Lichtstärkemessung mit Hilfe eines µC und LDRs durchführen. Als LDR habe ich den A906014, ausgesucht, da dieser einen hohen R (weniger Belastung für den µC), fast lineare Kennline und geringe T_on, T_off zeiten. Ich bin mir nicht ganz sicher wie ich den Vorwiderstand auswählen soll? Welchen Kriterien muss ich beachten, da doch der Vorwiderstand Einfluss auf die Linearität des LDRs hat, oder irre ich mich?
Nimm einen der einen ähnlichen Wert hat wie der LDR in dem Bereich den Du verwenden möchtest. Gibt die beste Sensitivität
LDRs werden mit dem 2. Widerstand als Spannungsteiler aufgebaut. Man kann daher nicht von einem Vorwiderstand sprechen. Auch ist der Widerstandswert des LDR dem µC völlig egal, was eine "Belastung" angeht. Bei Spannungsteilern interessiert zur Messung nur die Spannung, und die belastet in dem Fall gar niemanden. Also LDR von +5V auf den Widerstand schalten und diesen dann an Masse. Am Verbindungspunkt zwischen beiden kommt der ADC-Pin dran. Wenn Du eine lineare Lichtmessung haben willst, mußt Du anstelle des 2. Widerstandes eine Konstantstromquelle nehmen. In dem Falle muß der LDR aber niederohmiger sein, da es sonst zu keinem ausreichendem Stromfluß mehr kommt.
Vielen Dank! Wie realisiere ich eine konst. Stromquelle? Ich habe im den Foren gesucht und die Möglichkeit über einen LM317(3-Terminal Adjustable Regulator) gefunden. Dabei wird die Referernzspannung des LM317 für die Erzeugung der 1mA genutzt. Das ist ja nicht wirklich eine saubere Angelegenheit ;-). Gibt es eine andere Möglichkeit?
Dafür gibts auch spezielle ICs (z.B. der recht verbreitete LM334). Für kleine Ströme kann man sich auch mit einem rückgekoppelten JFET behelfen.
Ich beschäftige mich seit erst einige Monaten mit µC, komme aus der Softwarerichtung. Daher ist mir nicht ganz klar wie ich 1mA mit +Vin 3,3V bekomme? I_Set = I_Bias+I_R = I_Bias + (V_R/R_Set) (siehe Anhang) Woher was ich was am R_Set abfällt bzw. wie groß ist I_Bias. Ich schau mir das Datenblatt seit ca 45min an und finde es zum Verrecken nicht! Datasheet=http://www.reichelt.de/?SID=20hSk6uqwQARQAAGnsQpscb0083b31d3d77c0518b1c35afa6ebb0;ACTION=7;LA=6;OPEN=1;INDEX=0;FILENAME=A200%252FLM234_LM334%2523NSC.pdf
Im Datenblatt angegeben ist "Ratio of Set Current to Bias Current", also das Verhältnis der beiden Ströme. Der Wert ist allerdings vom Strom abhängig, die entsprechende Kurve (typischer Wert!) ist auf Seite 5 ganz oben rechts. Wie man mit diesem Wert in deiner Formel rechnet steht übrigens auf Seite 5 direkt im ersten Application Hint und genau unter der von dir genannten Formel. Das Ding mit dem n/(n-1) ist es.
Danke nochmals, wenn die konst Stromquelle durch einen jfet realsiere müsste es so aussehen(Anhang). An A hänge ich dann den LDR an. Ist es richtig, dass IL=Id ist? Was fällt an Ugs ab wenn Ub=3,3V und Id=1mA sein soll. Wenn ich den JFET Bf145B (http://www.nxp.com/acrobat_download/datasheets/BF245A-B-C_2.pdf) benutzte? Mir ist es nicht ganz klar. Der Rs und der LDR bilden doch einen Spannungsteiler. Aber durch den Rs soll doch der konst. Strom ID erzeugt werden? U_RS ist vom LDR abhängig, der wierderum von der Temperaturabhg ist. D.h. U_RS ändert sich somit auch ID?????????
Was du da gefunden hast ist die Konstantstromquelle, bestehend aus FET und Widerstand. Die wird in Reihe mit deinem Fotowiderstand geschaltet. Der FET ist so was wie ein veränderlicher Widerstand, und der stellt sich eben so ein, dass an den beiden Kontakten des Festwiderstands eine konstante Spannung anliegt. Also ne Art einfache Version der Konstantstromquelle mit LM317.
Ich glaub, ich steh auf dem Schlau. sorry wenn ich nerve! D.h. der Rs ist sowieso konst ,Ugs ist durch den JFET konst, d.h. logischerweise ist auch der Strom also Id konst. Damit ich den Rs dimensioniern kann, muss mir Ugs bekannt sein. Wie kann ich diesen bestimmen?
Wenn der Wert im Datenblatt dir zu ungenau ist: Bau diese Konstantstromquelle auf (Widerstand so ein Kiloohm oder so, ergibt dann einen Strom im mV-Bereich) und häng sie z.B. an einen 9V-Block oder 5V oder was auch immer du grade zur Verfügung hast (sollte aber schon so 5V haben). Jetzt misst du einfach die Spannung am Widerstand, voila. Jetzt den Widerstand durch einen für den gewünschten Strom geeigneten ersetzen und fertig. Und man sollte nicht gerade einen JFET nehmen, der eine hohe Ugs hat, diese Spannung muss mindestens an diesem Teil des Spannungsteilers abfallen, sonst funktioniert der Konstantstrom nicht.
>(Widerstand so ein Kiloohm oder so, ergibt dann >einen Strom im mV-Bereich) uiuiui....
Grrr! Ich hab extra noch mal drüber gelesen und dachte ich hätte alle! mA müssen es natürlich sein... Danke für den dezenten Hinweis ;-)
Ich will ja nicht nicht pingellich sein. Rs=(Uges/Id) In Fig.8(oben Datenblatt) ist Ugs bei 15V und 1mA ca. -0,5V Ist es den so, dass bei 3,3V an Uges -0,11V abfällt?(Dreisatz).
Ich komme auf keinen grünen Zweig. Es ist bestimmt trivial eine Stromquelle mit 1mA und 3,3V Spannungsversorung, aber ich werde aus dem Datenblatt nicht schlau. In der Fig.3 des Datenblatts kann man ablesen, dass bei 15V Vds, Id = 1mA und Ugs=1V ist. Kann ich davon ausgehen, dass bei 3,3V Ugs=(1V/15V)*3,3V=0,22V ist? Oder wo sollte ich Ugs bzw. Uds ablesen. bzw. woher weis ich was an Uds abfällt? Das hängt doch von Lichtwiderstand ab. Ich habe ein zeichnug erstellt, das mein Problem veranschaulichen soll. Dabei muss ich das Problem zur Erstellung einer 1mA Quelle, rechnerisch lösen! Ich wär euch wirklich sehr dankbar über jede Hilfe!!!!
Hallo, kleine Anmerkung... bevor Du mit Deiner Stromquelle kämpfst: Du hast mal gemessen, welchen Widerstand der LDR bei der geringsten und größten Beleuchtung hat, die Du auswerten willst? Diese Widerstandswerte und die sich ergebenen Spannungswerte, die Du ja auswerten willst, errechnet? Passt das überhaupt zusammen? Beispiel: LDR recht wenig beleuchtet -> 100k (bei Dunkelheit habe die meist mehrere MOhm), erwartete Meßspannung z.B. 2,5V -> sind 2,5V/100k = 0,025mA = 25µA. Das müßte Deine Stromquelle also liefern. Der eigene minimale Spannungsabfall der Stromquelle muß in jedem Fall merklich kleiner als die Differenz zur Betriebsspannung sein, wären bei 5V also 2,5V, bei 3,3V wären es nur 0,8V. Unter 0,8V für die Stromquelle zu bleiben halte ich mit einfachen Mitteln für unrealistisch, unter 2,5V würde mit obiger Schaltung wohl sogar noch machbar sein. Der Emitterwiderstand wäre da dann (Uled - Ube)/Ice (1,6V-0,65V)/0,025mA = 38k. Ob das praktisch noch klappt könnte man ja mal probieren. Gruß aus Berlin Michael
>In der Fig.3 des Datenblatts kann man ablesen, dass bei 15V Vds, Id = >1mA und Ugs=1V ist. Sag' es lieber so: Wenn am Gate (bezogen auf source) -1V anliegen, kann ein Strom von 1mA fließen (Fet als steuerbarer R). Wenn man nun eine Stromquelle mit einem mA haben will, muß an R6 1V abfallen --> R6 = 1kOhm. Aus Fig.4 kannst Du ablesen, daß ab einer Vds von 4V der Strom ziemlich konstant bleibt. Wenn Du Dir klarmachst, wieviel bei 1mA am LDR abfällt, kannst Du ausrechnen, ab welcher Versorgungsspannung das ganze funktioniert. Bestimmt nicht bei 3,3V.
Mit LDRs einen leidlich grossen Helligkeitsbereich per Spannungsmessung zu erfassen ist nicht sinnvoll möglich. Dazu ist der Widerstandsbereich zu gross - ändert sich um 3-4 Zehnerpotenzen. Was wesentlich besser geht: Mit dem LDR und NE555 einen Oszillator (astabilen Multivibrator) bauen, und davon die Entladezeit messen. Die ist direkt proportional zum Widerstandwert des LDR. Und ändert sich zwar auch entsprechend von zig Mikrosekunden bis hunderte Millisekunden, aber das lässt sich besser erfassen.
Hallo, @A.K.: hmmm... sollte sich doch eigentlich auch ganz gut mit dem Analog-Comparator des AVR machen lassen? LDR von Ub gegen Comparator, passendes C gegen GND, 1k zum Comparator-Pin (ich habe schon einen gut beleuchteten LDR abbrennen sehen... ;)). Referenz auf BandGap und dann C mit Pin als Ausgang entladen, DDR umschalten und messen, bis der Comaparator anspricht. Gruß aus Berlin Michael
So geht's natürlich auch. Ich habe das mit dem NE555 gemacht, weil damit die Leitung zwischen Controller (Keller) und LDR (draussen) beliebig lang werden darf ohne Störungen einzufangen.
Hallo, schon klar, aber manch einer nimmt ja heutzutage lieber einen ATiny als einen 555... Ich habe mein obiges Posting gerade nochmal durchdacht, ist ungünsig mit dem Schutzwiderstand, 1k kann ein LDR schnell erreichen und dann klappt das nicht. Ich würde also lieber ein Pin des AVR opfern, den LDR da dran, den Comparator direkt an LDR/C. LDR-Pin auf tristate, Comparator auf Ausgang L, dann auf Eingang tristate und LDR-Pin auf Ausgang H und messen. So sollten es alle beteiligten überleben, das C dürfte ja praktisch ziemlich klein ausfallen. Müßte ich glatt mal zusammenstecken... Gruß aus Berlin Michael
So arg klein ist der C nicht. Beim NE555 hatte ich bei unbekanntem LDR-Type sowohl 2,2nF als auch 100nF probiert und bin bei 100nF geblieben, damit ich im prallen Licht deutlich unterhalb von MHz bleibe.
ok, ich merk schon das geht hier etwas weiter als mein Horizont erlaubt (BandGap , Ozillator, astabiler Multivibrator) ;-). Ich möchte nur eine halbwegs genaue Lichtmessung durchführen. Einfach den LDR an den ADC des µC wurde mir oben gesagt, wäre zu ungenau. Deswegen dachte ich mir, dass ich es wohl mit der konst Stromquelle versuchen muss. Gibt es denn eine andere "einfache" Möglichkeit zur Messung der Lichtstärke, vielleicht smart-sensoren, wie bei Temperatursensoren(dallas mit 1-wire)? @Michael Wenn ich doch die Spannungsversorgung erhöhe, sagen wir mal auf 5V, und die ADC-Spannung, die dann unter Umständen über 3,3V (3,3V max des ADC im µC) sein kann, über einen Spannungsteiler auf meine maximale "helligkeit" runterbreche, kann ich doch eine kontst Stromquelle benutzten? ich habe es so verstanden, dass man mit dem R1 aus deiner Zeichung den Strom einstellen kann. An R1 fallen die 1,6V wie bei der Diode ab. Ist es denn nicht so, wenn die Spannung an dem LDR berechnung will,dass ich das über dem Maschensatz ausrechnen: Uldr=5V-Uled-Ube? "Beispiel: LDR recht wenig beleuchtet -> 100k (bei Dunkelheit habe die meist mehrere MOhm), erwartete Meßspannung z.B. 2,5V -> sind 2,5V/100k = 0,025mA = 25µA." Mit ist schon klar, das dort 25µA fliesen, aber ist nicht das ziel der konst stromquelle dort 1mA fliesen zu lassen bzw. wo ist da mein Denkfehler? Ich weiss viele viele Fragen,.....
Rechne mal mit Hellwiderstand 500 Ohm, Dunkelwiderstand 5 MOhm. Egal was für einen Strom du verwendest, entweder kriegst du bei Licht Spannungen um Mikrovolt-Bereich, oder im Dunkeln zig Volt. Und eine dafür Messbereichsumschaltung mit verschiedenen Widerständen vgl. Multimeter zu implementieren, ist m.E. offensichlicher Unfug. Ein LDR mit Spannungsteiler (oder auch Stromquelle) eigent sich nur, um eine Schwellwertmessung durchzuführen. Beispielsweise um ein Gartenlicht helligkeitsabhängig ein- oder auszuschalten. Für mehr ist das nicht zu gebrauchen. Mit LDR ist eine Zeitmessung der richtige Weg.
Andere Möglichkeiten - Der TSL 230 (235??) wandelt Lichtintensität in Frequenz (ich glaube proportional) - Der Typ TSL (240..260???, musst Du googeln) wandelt Lichtintensität in Spannung. - Mit einer LDR- C Reihenschaltung kannst Du in Bascom sehr leicht die Ladezeit des Kondensators über den LDR messen, klappt aber nur bis 10KOhm beim vorgeschlagenen C=100nF. Wenn Du also auf sehr kleine Lichtmengen verzichtest (ab R>10KOhm), ist dies eine einfache Lösung. Bascom-Befehl: Getrc(..) Inwieweit diese Möglichkeiten Deinen Messanforderungen genügen, weiß ich nicht. Relative Helligkeitsvergleiche sind mit der 3.Methode superleicht zu realisieren.
Hallo, @A.K.: Du hast völlig recht, mit dem LDR aus der Kramkiste (Dunkelwiderstand > 2M, direkt an einer Leuchtstoffröhre < 100 Ohm) komme ich erst mit 1µ auf sinnvolle Capturewerte bei 8MHz Takt. Ist vermutlich auch nicht das günstigste Exempla dafür bzw. ich solle eine eine Lochblende davor machen, wenn mich Dunkelheit nicht so sehr interessiert. Andererseits quäle ich gern (privat) AVRs, bei 1,23V am C (BandGap) und der Schaltfolge erst den LDR + Pin nach GND legen und dann den Comparator, sollte das nichtmal so schlimm sein, kann ja dazwischen noch etwas warten, dann ist der C über den LDR schon merklich entladen. Ist zumindest eine Möglichkeit, mit nur 2 Bauteilen (LDR und C) und 2 Pins am AVR einen großen Bereich Helligkeit über Software zu erfassen, wenn es Dunkel wird, muß eben der Prescaler umgeschaltet werden, wenn der Counter überläuft, wieder zurück. @Rainer: >Mit ist schon klar, das dort 25µA fliesen, aber ist nicht das ziel der >konst stromquelle dort 1mA fliesen zu lassen bzw. wo ist da mein >Denkfehler? Damit dort weiter 1mA fließen, muß die Konstantstromquelle aber dann auch die nötige Spannung liefern können. Das wären im Beispil dann bei 100k/1mA = 100V... Die Stromquelle müßte an den LDR also 100V anlegen, dann würde weiter 1mA fließen. Deren Betriebsspannung müßte also höher als 100V sein und außerdem hättest Du dann 100V über dem LDR zum Messen, nutzt Dir also nichts. Zu meiner Version (gerade mal getestet): LDR an einen Portpin, anderes Ende den - Eingang des Analog-Comparators, von dort ein Kondensator nach GND. Werte siehe oebn... Jetzt beide Pins auf Ausgang mit L-Pegel. Damit ist der Kondensator kurzgeschlossen und Entladen. Den Comparator so einstellen, daß er an seinem + Eingang die interne Bandgap-Spannungsquelle benutzt und daß er den Capture von Timer 1 triggert. Zum Messen jetzt Timer 1 Prescaler setzen und Counteregister auf 0 setzen. Den Comparator-Eingang auf Eingang programmieren und den Pin, wo der LDR allein dranhängt, auf H setzen. Jetzt wird der Kondensator über den LDR aufgeladen, das dauert je nach Helligkeit verschieden lange. Wenn die Spannung am Kondensator höher wird als die der Bandgap-Quelle, löst der Comparator ein Capture des Timers aus, setzt das Captureflag und Du holst Dir den Wert aus dem Capture-Register ab, Das ist Deine Helligkeit... Jetzt den Timer stoppen, den Pin mit dem LDR auf L setzen, jetzt wird der Kondensator über den LDR entladen. Wenn das C sehr groß ist, etwas warten, dann den Comparator + Eingang auch als Ausgang L setzen, damit der C richtig entladen wird. Inzwischen kannst Du über den Meßwert nachdenken lassen, wenn neu gemessen werden soll, geht es wieder wie oben von vorn los. Alles nötige zur Programmierung ist im AVR-Datenblatt zu finden, ich muß jetzt erstmal weg, kann aber nachher mein Testprogramm und Testschaltung noch hier reinstellen... Gruß aus Berlin Michael
> komme ich erst mit 1µ auf sinnvolle Capturewerte bei 8MHz Takt. > wenn es Dunkel wird, muß eben der Prescaler umgeschaltet werden Ich habe das an einem LPC2000 dran. 32-bit Timer mit 59MHz Takt sind dafür ganz praktisch ;-).
Hallo, ich habe mich bei elko umgeschaut. Dor fand ich diesen beitrag (http://www.elektronik-kompendium.de/sites/slt/0210253.htm). Wie kann ich den Spannugsabfall am RC messen?, denn diese muss ich mit dem ADC des µC bearbeiten. Wenn ich den ADC oberhalb des Rc anlegen, messe ich die Spannungsabfall der ganzen Schaltung, und nicht die des Rc.
Hallo, indem Du meine Schaltung von oben nimmst, die ist deshalb andersrum mit einem pnp... Ob Du 2 normale Dioden (Uf ~ 1,4V) nimmst oder eine rote LED (Uf ~ 1,6V) ist prinzipiell egal. PS: welchen AVR willst Du nehmen (ich kann Dir nur Software für AVR hinlegen, mit PIC usw. habe ich nichts am Hut). Mega8/16/32 oder 90S8515/Mega8515/Mega162 oder Tiny2312 liegen irgendwo greifbar. Was willst Du zum Testen mit den Daten machen? Gibt es da schon was (Display oder so) oder über UART zum PC schicken? UART (bei den Megas) kann ich reinhängen, dann welcher AVR-Takt und welche Baudrate? Mir ist da nämlich eine ganz andere Idee gekommen, wofür ich das gebrauchen kann, es ist also insofern kein Aufwand für mich. Gruß aus Berlin Michael
Ich habe eine leider einen LPC2148. Die UART<=>PC funktioniert. Mit der Software habe ich nicht so grosse Problem wie mit der Elektronik ;-). Die Daten, die vom ADC des LPC über eine Uart gesendet werden, werden in einer GUI, die in Java geschrieben ist, ausgegeben. Ich weiss, dass für Elektrotechniker Java ein "no go" ist. Jedoch ist es schnell zu programmieren. In deiner Schaltung dient R1 zur Einstellung des Strom(I3), der durch R1 bzw. R3 fliesst. Uled=1,6V Ube=0,65V I3=1mA Bei einem mA heißt das: Ur1=Uled-Ube => R1=(Ur1-Ube)/I3=ca.1K Ich habe max. 12V zu Verfügung damit könnte der LDR maximal: R3_max laut dem Link von elko (oben): R3_max=(Ub-U1)/I3=11K gross werden. Wie du schon gesagt hast, wenn es dunkel ist, sind es mehere Mohm. Was würde den passieren wenn der LDR größer wird als max. Die Stromquelle würde einbrechen, aber was hat das für Auswirkung auf die ADC-Messung?
Wenn es du also partout mit dem ADC machen willst, pass auf: Wenn bei den LPCs einer der Pins vom ADC >3,3V wird, messen alle ADC-Kanäle Unfug. Ich wüsste übrigens gern, was das mit der Konstantstromquelle soll. Linear wird der LDR dadurch m.E. auch nicht.
Hallo, wenn ich mich jetzt nicht furchtbar irre, hat der Stromverlauf einer Fotodiode im Elementbetrieb eine ziemlich gute logarithmische Kennlinie. Also recht niederohmigen Widerstand über eine Fotodiode und die Fotospannung messen. Irgendwo gab es da mal was drüber... Hat den Vorteil, daß über einen recht großen Bereich der Helligkeit gemessen werden kann und vermutlich den Nachteil, daß bei wenig Licht auch sehr wenig oder garnichts bei rauskommt. Gruß aus Berlin Michael
@A.K. hab dies unter Anderem auch hier gelesen. Ich wüsste auch nicht anders ,wie man es machen könnte, den in den Datenblätter zu ldr stehen durch die Werte zu R10,R10,R01,R05,Ton,Toff, weder eine Formel noch sonst was
Linearisierung: Zeit eines über LDR geladenen oder entladenen Kondensators messen und davon den Logarithmus nehmen. Mit den 32bit-Timer-Captures eines LPC2000 bleibt dir ein Überlauf erspart, das von Michael erwähnte Spiel mit dem Prescaler entfällt daher. So grad gestern realisiert mit LPC2129 und NE555-LDR-Oszillator. Da der LPC keinen Analog Comparator hat, ist Michaels Variante nicht direkt anwendbar (einen NE555 durch eine 8pin-ATTiny zu ersetzen mag Spass machen, muss aber nicht wirklich sein - der könnte dann zwar auch die Linearisierung übernehmen, aber Logarithmen rechnen kann der LPC besser). Wenn du es hinkriegst, mit ADC einem LDR den Wert für einen leidlich grossen Helligkeitsbereich zu entlocken, gib Laut. Interessiert mich auch. Vielleicht indem ein Logarithmierer per OPV den LDR linearisiert? (bitte nicht erst nehmen).
>Ich wüsste übrigens gern, was das mit der Konstantstromquelle soll. >Linear wird der LDR dadurch m.E. auch nicht. Fotowiderstände sind weitgehend linear, verglichen mit zum Beispiel Fototransistoren. Die Konstantstromquelle soll also nicht den Fotowiderstand linearisieren sondern nur einen "idealen" Spannungsteiler realisieren. Es gibt übrigens auch Fotowiderstände mit lediglich 100k - 200k Dunkelwiderstand. Die könnten mit dem ADC noch erfasst werden. Konstantstromquellen mit OVs können auch recht genau sehr kleine Ströme liefern.
@A.K. Ich habe mir den Quellcode, sowie die Zeichnung angeschaut. Ich werde es mal versuchen. @Travel Rec. Oh, da habe ich wohl was nicht ganz verstanden. d.h. also, dass nur den idealen Spannungsteiler eine höhere Meßgenauigkeit erreicht wird?
Kleine Korrektur im Code (zuviel Testkram rausgeworfen):
1 | static void |
2 | t0interrupt(void) |
3 | {
|
4 | if (TIMER0.ccr & TIMER_CCR_CR0_FALLING) { |
5 | // falling edge
|
6 | t0capt.last = t; |
7 | TIMER0.ccr = TIMER_CCR_CR0_IE | TIMER_CCR_CR0_RISING; |
8 | } else { |
9 | // rising edge
|
10 | t0capt.time = t - t0capt.last; |
11 | t0capt.count += 1; |
12 | TIMER0.ccr = TIMER_CCR_CR0_IE | TIMER_CCR_CR0_FALLING; |
13 | }
|
14 | TIMER0.ir = TIMER_IR_CR0; // clear interrupt |
15 | }
|
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.