Forum: Mikrocontroller und Digitale Elektronik Problem mit Elektor Lichtwecker (02.2011)


von humme86 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

kennt jemand den Lichtwecker aus der Elektorausgabe 02.2011?
http://www.elektor.de/jahrgang/2011/februar/wecken-mit-licht.1674154.lynkx
Hatte schon im Elektor-Forum gepostet aber keine Antwort erhalten. 
Vielleicht kann mir hier ja jemand weiterhelfen.


Habe den Wecker aufgebaut und den Code mit AVR Studio6 compiliert. 
Erhalte dabei folgende zwei Warnungen von der ich denke, die erste 
ignorieren zu können:

Warning 1 'lcd_read' defined but not used [-Wunused function]


Warning 2 #warning "F_CPU not defined for " [-Wcpp] c:\program 
files\atmel\atmel toolchain\avr8 
gcc\native\3.4.2.939\avr8-gnu-toolchain\bin\../lib/gcc/avr/4.7.2/../../. 
./../avr/include/util/delay.h  90 3 Wecker


Die Schaltung funktioniert ganz gut bis auf folgendes Problem mit dem 
Sensor:

Berühre ich den Sensor passiert nichts.
Erst wenn ich Sensor und Masse "kurzschließe" erfolgen die Funktionen 
(Display an, Licht an/aus).

Bin in Sachen µCs nicht sonderlich bewandert und hatte mich schon sehr 
gefreut, dass die Programmierung mittels ISP-Adapter so reibungslos 
funktioniert hat.
Kann also die zweite Warnung schuld an der "Nichtfunktion" des Sensors 
sein?

von Amateur (Gast)


Lesenswert?

Normalerweise wird bei der Anlage eines Projektes die Taktfrequenz mit 
angegeben. Kann aber auch später geändert werden.

Ohne diese Angabe funktioniert delay (); und was-weiß-ich nicht.

Die erste Warnung bedeutet das was da steht. Du hast die Funktion 
"lcd_read" eingebunden oder definiert, verwendest sie aber nicht.

von hummel86 (Gast)


Lesenswert?

Im Code steht an der Stelle folgendes:

#ifndef F_CPU
/* prevent compiler error by supplying a default */
# warning "F_CPU not defined for <util/delay.h>"
# define F_CPU 1000000UL
#endif

von Amateur (Gast)


Lesenswert?

define F_CPU 1000000UL ist ein Default-Wert. Entspricht, soweit mir 
bekannt, dem ATMega8 im Auslieferungszustand. 8 MHz interner Takt, 
Teiler 1:8.

Wenn er stimmt ist's ja OK.

Die hellseherischen Fähigkeiten des Studios erstecken sich nicht auf die 
Erkennung der Fuses und des eingelöteten Quarzes.

von hummel86 (Gast)


Lesenswert?

Fuses hatte ich wie im Elektor Forum beschrieben gesetzt. Läuft ja auch 
eigentlich alles. Nur eben der Sensor nicht so wie er sollte. Bei 
Berührung durch die Hand tut sich nichts. Nur wenn ich ihn mit Masse in 
Berührung bringe, passiert etwas.

von MaWin (Gast)


Lesenswert?

humme86 schrieb:
> Berühre ich den Sensor passiert nichts.
> Erst wenn ich Sensor und Masse "kurzschließe"

Typisch Elektor, "von Laien für Laien", die "Sensorschaltung" ist Murks.
Ersetze sie gegen einen Taster der nach Masse schaltet, dann geht das 
besser.
Man könnte versuchen, die ganze netzspannungsversorgte Schaltung auf 
115V~ zu lgen in dem man von beiden Netzanschlusspolen jeweils einen 
2.7nF/250V~/Y1(4.5kV) Kondensator an Masse des AVR legt, und dann den 
Eingang etwas umbaut

Die 100R zwischen die Dioden und den uC Eingang, dort wo bisher die 100R 
waren lieber 3 470k Widerstände in Reihe. Aver Sensor ist sowieso 
Quatsch, also besser einen Taster.

von humme86 (Gast)


Lesenswert?

Hey MaWin, wäre sehr schade wenn die Sache mit dem Sensor Quatsch ist, 
da das Gehäuse eigentlich schon fertig ist. Frage mich halt warum es bei 
anderen Leuten funktioniert, nur bei mir nicht.

Desweiteren sei noch angemerkt, dass die Schaltung von Elektor zwar 
publiziert wurde, der Autor jedoch jemand anderes ist. Auch wird im 
Artikel erwähnt, das die eigentliche Idee für den Sensor aus diesem 
Forum stammt:

Beitrag "Einfache Sensortaste"

Naja, werde mal den Widerstand wie vorgeschlagen verändern. Vielleicht 
läufts dann ja.

von MaWin (Gast)


Lesenswert?

> Frage mich halt warum es bei
> anderen Leuten funktioniert, nur bei mir nicht.

Die Schalung hängt von der kapazitiven Kopplung des Netztrafos ab, und 
der Richtung mit der der Stecker in der Dose steckt.

Sie ist also "broken by design". Klar hat sie bei dem Laien 
funktioniert, der den Elektrobeitrag geschrieben hat. Aber Laien gehen 
eben davon aus, daß überall das funktioniert, was bei ihnen 
funktioniert, und nirgendwo andere Verhältnisse herrschen. So einseitig 
ist die Sicht der Laien.

Mit den beschriebenen Änderungen kann man es so umbauen, daß es überall 
funktioniert. Allerdings neigen Sensoren zu Fehlfunktionen, manchmal 
reicht schon eine Fliege, und sind leicht zerstörbar, manchmal reicht 
einen elektrostatisch aufgeladenen Bettdecke.

von Peter K. (captain_z)


Lesenswert?

Hallo humme86,

nimm mal beim Widerstand R15 240K anstelle der im Plan angegebenen 100k.

Wo im Elektorforum hast Du denn die FUSES gefunden? Im Projekt selber 
ist kein Hinweis auf die zufinden.

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.