Du brauchst dafür einen Spannungsteiler, der deine Spannung auf ein akzeptables Level für dein ADC - Port bringt. Ein Widerstand des Spannungsteiler kann ja dein LDR sein.
Hallo,
Ich bin recht neu was die Elektronik angeht, ich hab jedenfalls ein Atmel Evaluation Bsoard, und da sitzt grad nen ATMega16 drauf, wollt jetzt grad mal das mit der Spannungsüberwachung machen, aber ich hab kp wie ich das machen soll.
Wollt zum testen mal nen Fotowiederstand benutzen, und je nachdem leuchtet dann die LED oder nit. Wie soll ich den Fotowiderstand jetzt anschliesen bzw an welchen Pins ?
Hier mein Code:
Code:$regfile = "m16def.dat" $framesize = 16 $swstack = 16 $hwstack = 32 $crystal = 8000000 'Quarzfrequenz $baud = 9600 Config Adc = Single , Prescaler = Auto Config Pina.0 = Input Porta.0 = 1 Config Pind.6 = Output Portd.6 = 0 Start Adc ' Print "Tastenabfrage anpassen!ADC Wert ws=" ; Ws If Getadc(0) > 900 Then Portd.6 = 1 Else Portd.6 = 0 End If
Du brauchst dafür einen Spannungsteiler, der deine Spannung auf ein akzeptables Level für dein ADC - Port bringt. Ein Widerstand des Spannungsteiler kann ja dein LDR sein.
Ich würde ja gern die Welt verändern..., doch Gott gibt mir den Quellcode nicht!
Danke für die Antwort, also mein Problem ist:
Ich die LED leuchtet leider immer solang der ADC Wert <1200 ist ? das wären doch 12 Volt oder nit ? oder sind das nur 1,2Volt ? Mein anderes Problem ist, wo muss ich den Stromkreis anschliessen ? zwischen Porta.0 und ? Bzw ich hab ja jetzt ein externes netzteil, wenn ich da jetzt eine Spannung von sagen wir ma 2 Volt anleg, dann muss ich den Pluspol an was legen ? und den Minuspol an ? GND ?
Sorry für so ne Frage =/ aber irgendwie muss ichs ja ma lernen
Vielen Dank jedenfalls!
Zu deiner ersten Frage:
An dem Port liegt ja eine analoge Spannung an. Der Microcontroller arbeitet aber digital. Er kennt nur definierte Stufen. Hier kommt der ADC - Port ins Spiel. Er wandelt dir deine analoge Spannung in ein digitales Signal um, und zwar mit einer Auflösung von 10 Bit. Somit hast du 1024 Stufen. Und das ist auch das, was in deinem Code mit 900 steht. Um das umzurechnen in die eigentlich Spannung musst du nur noch Dreisatz rechnen können:
Spannung = Vref*ADC/1024
Vref ist deine Referentspannung. Wenn du keine exterene bereitstellst wirds wohl die interne mit 2.5V sein.
erstmal soweit. Wenn du das obengeschrieben verstanden hast, dann wirste hoffentlich selbst merken, dass dein ADC Wert < 1200 immer zutrifft, weil der Wert höchstens 1024 annehmen kann.
Ausserdem kannst du nur max. soviel Volt an dem Pin messen, wie du deine Referenzspannung Vref eingestellt hast. In dem Fall nur ca. 2.5V. Um aber trotzdem höhere Spannungen messen zu können, bedient man sich einem Spannungsteiler. Dieser teilt die Spanung in einem bestimmten Verhälltnis, dass zum Beispiel statt deinen 12V Versorgungsspannung nur noch 1.2V an dem Pin anliegen (/10) Nachher rechnest du einfach deine Spannung noch *10.
Gruss Hacker
Ich würde ja gern die Welt verändern..., doch Gott gibt mir den Quellcode nicht!
Lesezeichen