Forum: Mikrocontroller und Digitale Elektronik AT90S2313 und die Beleuchtung messen


von Wojciech Pietrzak (Gast)


Lesenswert?

Hallo, bin neu bei disem Forum, komm' gleich zur Sache :
Es ist so, ich moechte einen inteligenten Lichtshalter auf dem
AT90S2313 bauen. Ich moechte aber, dass er nur das Licht kontrolliert
wenn es dunkel ist. Ich muss also irgendwie die Beleuchtung messen,
aber wie ? Ich wuerde gern den Comparator in diesem Mikrocontroller
nutzen. Weiss aber nicht genau wie ich das anstellen soll. Ich hab' ne
Shaltung gefunden, die die Lichtintensitaet mit 8bit genau auf die Leds
am I/O port liefert. Das ist aber zu kompliziert fuer mich (bin ein
Anfaenger), auserdem brauche ich keine 8 bit. Ich denke, dass 32
Helligkeitstufen ausreichen, sollten also 5bits fuellig ausreichend
sein. Hat vielleicht jemand eine einfache, und moeglichst schnelle
Methode um die Helligkeit zu messen ? Wenn es mit dem Conparator nich
klappt, dann nehme ich einen TL072 und messe es mit ihm (Shmitt
trigger). Eigentlich brauche ich nicht das Licht zu messen, es reicht
fuellig aus, wenn ich feststellen kann, ob es heller oder dunkler als
der eingestelte Wert ist. Ich bin dankbar fuer jeden Rat, Grus an Alle

von ...HanneS... (Gast)


Angehängte Dateien:

Lesenswert?

ATMEL-Appnote AVR400 und AVR401 zeigen am AT90S1200, wie man den
Analog-Comparator als ADC nutzen kann. Weitere Infos bei www.atmel.com

...

von mmerten (Gast)


Lesenswert?

Normaler LDR03, 05 oder 07 (gibt`s z.b. bei Reichelt) sollte für deine
Anwendung locker reichen.
Und dazu einen Blick in die Atmel App Note AVR400

von Wojciech Pietrzak (Gast)


Angehängte Dateien:

Lesenswert?

Vielen Dank fuer Eure Hilfe, koentet Ihr mir noch aber bitte das program
AVR400 erklaeren ? Ich meine nur, dass ich ein Anfaenger bin, und nicht
recht verstehe, wie die messung verlauft. Ich verstehe natuerlich, dass
der Kondensator durch das kurze setzen des PD2, vor der Messung entleert
werden muss, aber ich verstehe nicht wieso zum Beispiel der Timer mit
dem Wert 192 geladen werden muss. Koente mir das bitte Jemand erklearen
? Ich verstehe auch nicht woher die Formel
512*(1/f)=-R*C*ln(1-2/5)kommt. Ich bedanke mich schon im Vorhaus. Gruss
an Alle, und nochmals vielen Dank fuer Eure Hilfe

von eunderground (Gast)


Lesenswert?

Nur mal so nebenbei gescheit dahergelabert: ;)

Es gibt auch die Möglichkeit eine herkömmlichen Leuchtdiode als
Lichtsensor zu nutzen. Da ich den Artikel im Elektor selbst noch nicht
gelesen habe, verweis ich halt mal drauf .. g
http://www.elektor.de/Default.aspx?tabid=27&year=2004&month=3&art=72787

von Wojciech Pietrzak (Gast)


Lesenswert?

Leider komme ich nicht an das PDF Dokument, weil Die dort 1,30 Euro
verlangen. Das AVR400 projekt gefaellt mir recht gut, und ich deke,
dass wenn ich schon den 90S2313 benutze, dann waere die Idee mit dem
integrierten Comparator sehr gut, sogar die 6bit aufloesung ist
perfekt. Dass Problem ist, dass ich nicht so genau verstehe wie der
Hase hier laeuft. Die initialisation des Timers macht mir Kummer, und
wie shon gesagt, es wuerde mich sehr freuen, wenn mir das Jemand
erklaeren wuerde, ich verstehe naturlich, dass es schwer ist jemandem
ein recht kompliziertes Program, auf 'nem Forum zu erklaeren, trotzdem
bitte ich darum. Gruss

von ...HanneS... (Gast)


Lesenswert?

Wer verlangt 1,30 Euro für welches PDF???

Die Dokumentationen bei www.atmel.com sind nicht kostenpflichtig.

...

von Wojciech Pietrzak (Gast)


Lesenswert?

Ich meinte natuerlich elektor.de, die seite atmel.com kenne ich sehr
gut, danke fuer das info :)

von Wojciech Pietrzak (Gast)


Lesenswert?

Also gut, ich habe das AVR400 Datenblatt durchstudiert, habe aber einige
Fragen. Der Timer wird vor der Messung mit dem Wert 192 gefuettert,
wieso gerade mit 192 ? Ich weiss, dass 192, 256-64 ist, aber ich komme
trotzdem nicht weiter. Zweiter Punkt : Ich benutze einen 4 MHz Quartz,
im Datenblatt steht das ich einen 30 kOhm Resistor verwenden soll, und
einen 8,2 nF Kondensator. Mein Signaltakt dauert mit der Formel T=1/f,
also T=1/4000000 -> T=0,00000025 sekunden. Im Datenblatt wird der
Prescaler benutzt. Also mit dem Preskaler (CK/8) dauert der Takt laut
meinen Berechnungen 2 Microsekunden. Wenn ich nicht falsch liege laeuft
der Timer nach 64 takten (8bit Timer, also 192+64=256)ueber, und erzeugt
ein Interrupt, was darauf deutet, dass ein Fehler in der Messung
enstanden ist (also nach 128 Microsekunden). Stimmt's oder hab' ich
Recht ?
Denn, wen das stimmt, ist meine Frage, mit welcher Formel kann ich den
Wert des Timers berechnen, wenn ich wissen will bis wieviel er zaehlt,
wenn er zum Beispiel die Spanung im wert von 1.5Volt misst. Dass wird
bestimmt kurzer sein, als die 128 microsekunden (wenn micht nichts
tauscht, wird das etwa die Haelfte der Zeit. Koente mir das bitte
Jemand erklaeren ? Gruss an Alle, und danke shon im Vorhaus

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.