Hallo,
ich bin es mal wieder.
Ich versuche gerade ien AD-Wandlung mit dem ATmega32 durchzuführen.
Das klappt auch soweit, baer ich habe zur Kontrolle an die Ausgänge
LED´s geschaltet.
Und die Umschaltung finde ich etwas träge, von der Empfindlichkeit ganz
zu schweigen.
Beschaltung:
Vor Pin 40 (ADC0) und Pin 39 (ADC1) den Spannungsteiler wie im Anhang.
Nur mit 5k Poti und 4,7k Widerstand.
AREF über 100n Kondensator an GND, AVCC an 5V.
der Code sieht so aus:
1
#include<avr/io.h>
2
#include<stdint.h>
3
4
int16_tReadChannel(int8_tmux)
5
{
6
int8_ti;
7
int16_tresult;
8
9
ADMUX=mux;// Kanal waehlen
10
ADMUX&=~(1<<REFS1);
11
ADMUX|=(1<<REFS0);// AVREF als Referenzspannung nutzen
adcval0=ReadChannel(0);/* MUX-Bits auf 0b0000 -> Channel 0 */
62
63
adcval1=ReadChannel(1);/* MUX-Bits auf 0b0010 -> Channel 1 */
64
65
if(adcval0==adcval1)
66
{
67
PORTB&=~(1<<PB0);
68
PORTB&=~(1<<PB1);
69
}
70
71
72
spandiff=adcval0-adcval1;
73
74
if(spandiff>10)
75
{
76
PORTB|=(1<<PB0);
77
PORTB&=~(1<<PB1);
78
}
79
elseif(spandiff<0)
80
{
81
PORTB|=(1<<PB1);
82
PORTB&=~(1<<PB0);
83
}
84
}
85
}
Es soll später mal ein empfindlicher Sonnensensor werden, aber davon bin
ich noch weit entfernt :-)
Für Hilfe bin ich wie immer sehr dankbar.
Den oberen Teil habe ich aus dem Tutorial.
LG
In welcher Größenordnung verändert sich den dein LDR bei
unterschiedlicher Beleuchtung?
Was muss man sich unter "etwas träge" vorstellen?
Das LDR nicht gerade die schnellsten sind, ist ja bekannt.
Sonnenschein (am Freitag gemessen) ca. 40 Ohm, Dunkel (in einer
Schublade gemessen) über 50MOhm.
Ich glaube nicht, das ich dne Wert draußen erreiche.
Muss mal Abends um 18 oder 20 Uhr messen.
Träge meine ich vom umschalten her. Und Sie reagieren nur, wenn ich den
Finger kurz davor habe. Das meine ich mit Empfindlichkeit.
Sorry wenn ich mich falsch ausgedrückt habe.
Hans Peter schrieb:
> Sonnenschein (am Freitag gemessen) ca. 40 Ohm, Dunkel (in einer> Schublade gemessen) über 50MOhm.> Ich glaube nicht, das ich dne Wert draußen erreiche.> Muss mal Abends um 18 oder 20 Uhr messen.
Und bei welchem Ohm Wert soll die Schaltschwelle liegen?
TravelRec hat natürlich recht. Das Poti muss anders verschaltet werden.
Aber abgesehen davon musst du noch darauf achten, bei welchen Ohmwerten
du deine ungefähren Schaltpunke haben willst und die Widerstände danach
dimensionieren.
Hans Peter schrieb:
> Träge meine ich vom umschalten her. Und Sie reagieren nur, wenn ich den> Finger kurz davor habe. Das meine ich mit Empfindlichkeit.
Wie kurz?
1 Sekunde, 1 Minute, 1 Stunde, 1 Zehntelsekunde?
Und: Ist das in deiner Anwendung ein Problem?
Hallo,
habe die Schaltung geändet, habe beide LDR´s der gleich ausgerichtet,
aber trotzdem brennt immer eine LED. Die Spannungen sind auch fast
gleich ADC0 = 3,612V und ADC1 = 3,617 und trotzdem brennt eine LED. Ich
bekomme Sie nicht richtig kalibriert, so das wenn Sie beide ausgerichtet
sind, keine LED brennt.
Ich muss wie gesagt, sehr nah an den LDR´s vorbeifahren mit dem Finger,
damit Sie umschalten.
Die LDR´s sollten auf die kleinste Abschattung reagieren.
Mein Wert liegt ja bei 10, wenn ich das umrechne, dann ist das eine
Spannung von 0,0483...V das ist schon eine sehr kleine Spannung, aber es
wird nicht richtig reagiert. Hat von euch jemand eine Idee, wie ich mein
Prog oder die PIN-Beschaltung belegen soll/kann um die Empfindlichkeit
zu erhöhen.
Ist meine Schleife falsch?
Meine Ref Spannung ist 4,956V.
LG
Das hier:
if(adcval0 == adcval1)
ist sehr optimistisch.
Selbst wenn die Spannung um ADC Eingang konstant gehalten wird, schwankt
der Wert vom ADC immer leicht. Größenordnung: so um die +/- 2 Einheiten
sind jederzeit drinnen. Die Mittelwertbildung filtert das zwar ein wenig
aus, aber mit 4 Werten gemittelt ist immer noch mit einer kleinen
Abwechung zu rechnen.
Du kannst es drehen und wenden wie du willst: Du brauchst eine
Möglichkeit um dir die Werte ausgeben zu lassen. Alles andere ist
Stochern im Nebel.
> Die LDR´s sollten auf die kleinste Abschattung reagieren.
Vielleicht erinnere ich mich falsch.
Aber wolltest du nicht irgendwelche Solarpaneele nachführen?
Bist du dir sicher, dass jeder vorbeifliegende Vogel, dessen Schatten
zufällig auf die Auswertung fällt, die Nachführung betätigen soll?
Hallo,
alles klar.
Aber du hast recht mit der Zeit, das ist kein Problem.
Mir würde auch eine Abfrage alle 0,5 Minuten reichen.
Ich muss aber später insgesamt 5 oder auch mehr Eingänge abfragen,
möglichst parallel. Aber das ist ja so nicht möglich. Aber 6 ADC
Eingänge in einer halben Minute abfragen, sollte doch keien Problem
sein, oder liege ich da falsch?
Ich habe mir ja ein Display bestellt, hoffe das es morgen da ist.
Dann kommt aber das nächste Problem, die Ansteuerung. Na ja, ich habe ja
euch :-).
LG
Hans Peter schrieb:
> Dann kommt aber das nächste Problem, die Ansteuerung. Na ja, ich habe ja> euch :-).
Darauf würde ich schön langsam nicht mehr zählen.
Schliesslich ist es DEIN Projekt.
War ja auch nur Spass.
Nein, auf jeden Vogel nicht, aber schon auf Wolken vor der Sonne.
Und ein Anfang wäre, wenn der Sensor auf mich reagieren würde, wenn ich
mal 5 Meter weit weg stehe.
LG
Bist Du eigentlich sicher, daß es den Wirkungsgrad Deiner Solaranlage
steigert, wenn da ständig Motoren laufen und bei der kleinsten Wolke
reagieren ? Hast Du das mal realistisch abgeschätzt ?
Hast Du die Mechanik im Griff ? Die soll ja sicher auch bei Eis und -10
Grad funktionieren. Hm, aber das könnte man ja mit beheizten Motoren in
den Griff bekommen ;-)
Evtl wäre es besser, einfach ein Paneel mehr zu nehmen :-)
Hört sich komisch an, aber über die Mechanik mache ich mir keinen
Gedanken, da diese nicht zu meinen Aufgaben gehört.
Mein Part ist die Sensoreinheit incl. mC und da brauche ich noch Hilfe.