Page 1 of 2

PostPosted: Fri Jan 21, 2011 12:00 am
by wolf3
Hallo,

ich möchte gern den Lichtwecker aus der aktuellen Ausgabe nachbauen.
Leider finde ich nirgens die Einstellungen der Fusebits um den ATMega168 richtig zu flashen.

Kann mir da jemand einen Tip geben?

PostPosted: Wed Jan 26, 2011 12:00 am
by wolf3
Hab es selber heraus gefunden.
Wecker läuft einwandfrei!

PostPosted: Thu Jan 27, 2011 12:00 am
by wkrug
Das Problem ist, um hier jemand einen Tipp zu geben muss man den Schaltplan kennen.
Wenn man den Schaltplan hat, kann man sich auf dieser Seite hier:
http://www.engbedded.com/fusecalc/

die benötigten Fuses selber zusammen suchen.
Man muß dabei aber beachten, das manche Programmer dabei inverse Logik benutzen.
Wenn man so einen Controller mal bei den Takteinstellungen verfused hat, kann man nur noch extern einen Takt anlegen um diese Einstellungen wieder rückgängig zu machen, oder man benutzt einen parallel Programmer dafür.

PostPosted: Mon Jan 31, 2011 12:00 am
by wolf3
Da war ich wohl etwas zu euphorisch... der Wecker läuft noch nicht ganz so wie er soll.
Funkempfang ist da, Uhr läuft. Allerdings wird kein Alarm ausgegeben. Im Layout kann ich keine Fehler finden.
Ob es an den Fuses liegt, weiß ich nicht.

Die angegeben Seite kannte ich schon und dort habe ich auch mein Glück versucht, die richtigen Fuses zu flashen. Ist soweit auch kein Problem, nur sagen mir die ganzen Auswahlmöglichkeiten sehr wenig und es ist für jemanden wie mich nicht einfach, hier die richtigen zu finden. Das mit dem internen und externen Quarz bzw. Oszillator ist mir soweit klar.

Hier wäre ich aber froh, wenn ich etwas Unterstützung von euch bekommen könnte bzw. jemand der mir im "Schnelldurchlauf" kurz erklärt, wie man die richtigen Fuses findet.

Ich verwende übrigens einen Galep 5.

PostPosted: Mon Jan 31, 2011 12:00 am
by albert
Hallo!
Ich würde es so wie im Anhang dargestellt versuchen.

m.f.g.

albert

PostPosted: Mon Jan 31, 2011 12:00 am
by wkrug
Ich versuch dann mal die Fuses zu erklären...
Takt war Dir schon mal klar OK.
Clock output on PORTB0; [CKOUT=0] = Der verwendete Takt wird an PORTB0 ausgegeben.

Divide clock by 8 internally; [CKDIV8=0] = Der verwendete Takt wird durch 8 geteilt - Ist bei einem Quarz allerdings Blödsinn und nur bei der internen Taktquelle sinnvoll.

Brown Out detection = Löst, wenn eingeschaltet einen Reset des Controllers aus, wenn die eingestellte Eingansspannung unterschritten wird. Das ist gut, wenn die Spannungsversorgung nicht so stabil ist.

Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0] = Müsste ich jetzt selber nachschaun. Ich meine aber der EEPROM Inhalt wird bei dieser Fuse bei einem Erase Chip beibehalten!

Watch-dog Timer always on; [WDTON=0] = Der Watchdog Timer wird mit dieser Fuse immer eingeschaltet - Das ist ein wenig gefährlich, wenn im Programm kein "WDR" Befehl kommt, resettet der Watchdog Timer den Controller ständig!
Zudem kann man den Watchdog auch per Software einschalten.

Serial program downloading (SPI) enabled; [SPIEN=0] = Diese Fuse sollte nicht verändert werden, da sonst nicht mehr über die ISP geproggt werden kann!

Debug Wire enable; [DWEN=0] = Müsste ich jetzt auch nachlesen, ich denke es handelt sich dabei um eine Verbindung für eine Debug Hardware. So wie etwa JTAG- Also in Ruhe lassen, da sonst Ports blokiert werden.

Reset Disabled (Enable PC6 as i/o pin); [RSTDISBL=0] = Würde den Reset Pin als Portpin umkonfigurieren, was schlecht wäre, weil auch dann geht die ISP nicht mehr!

Boot Reset vector Enabled (default address=$0000); [BOOTRST=0] = Wird für einen Bootloader benötigt.
Will man einen Booloader in den Conroller einspielen müsste hier was verändert werden, ansonsten in Ruhe lassen. Ich hab diese Fuse noch nie gebraucht.

Eventuell hast Du die Debug Wire bzw. das JTAG aktiviert, dann funktionieren einige Ports nicht mehr richtig.

Die genaue Bedeutung der Fuses kannst Du natürlich auch im Datenblatt des Conrollers nachlesen. Da ist dann alles ganz genau erklärt.

PostPosted: Mon Jan 31, 2011 12:00 am
by wolf3
Das sind mal einige Infos, die mir weiterhelfen...

Ich bedanke mich bei "Albert" und "wkrug" für ihre Mühe.

Meine Probleme waren bei der Auswahl der ganzen Einstellungen die da beginnen mit:
1K CK/14 CK + 0 ms
1K CK/14 CK + 4.1 ms
1K CK/14 CK + 65 ms
.
.
.
.
.
32k
.
.
256 CH...

ich hoffe ihr wisst was ich meine.

Hier weiß ich nun wirklichnicht, was ich einstellen oder woher ich das ableiten soll.

Danke nochmal für eure Mühe.

PostPosted: Tue Feb 01, 2011 12:00 am
by wkrug
Nun das ist die Anzahl der Taktzyklen bis zum Start des Controllers + eine feste Vorgegenebe Zeit.

Ich nehm da am liebsten die letzte, langsamste Einstellung.
Dabei hat die Betriebsspannung genug Zeit um sich zu stabilisieren.

PostPosted: Tue Feb 15, 2011 12:00 am
by wuchy
Hallo,

ich steh total aufm Schlauch. Kann jemand so nett sein und mir die Einstellungen der Fuses bekannt geben, ich bekomm es einfach nicht hin.
Die Uhr Zählt, die Led Blinkt, aber sonnst tut sich nichts.

PostPosted: Fri Apr 08, 2011 12:00 am
by tschmidt
ich check nicht wie ihr das alle hinbekommt.
das programm (die hex datei) ist 40kb groß (von der elektor seite).

doch der atmel hat nur einen flashspeicher von 16kb.
wie bekommt man den ein 40k progamm in einen 16kb großen speicher?

bitte DRINGEND um hife!!!
vielleicht ist es ja ganz simpel.
danke