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
ATMEL-Appnote AVR400 und AVR401 zeigen am AT90S1200, wie man den Analog-Comparator als ADC nutzen kann. Weitere Infos bei www.atmel.com ...
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
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
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
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
Wer verlangt 1,30 Euro für welches PDF??? Die Dokumentationen bei www.atmel.com sind nicht kostenpflichtig. ...
Ich meinte natuerlich elektor.de, die seite atmel.com kenne ich sehr gut, danke fuer das info :)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.