Attiny85 mit externem 8 MHz-Quarz - wo ist der Fehler?

Liebe Experten, ich krieg's nicht hin. Ich möchte mit dem Arduino Uno einen Attiny85 mit einem externen Quarz versehen um genaue Zeiten steuern zu können. Funktioniert aber nicht. Ich habe dutzende Anleitungen und Tutorials auf deutsch und englisch durchgelesen und angeguckt - bisher ohne Erfolg.

Der eigentlichtliche Flashvorgang des Attiny85 funktioniert bei mir seit Jahren, nur eben bisher ohne externem Takt.

Ich versuche jetzt möglichst systematisch meine Vorgehen zu beschreiben und ihr schreit "stop", wenn was falsch ist - OK?

  • Arduino 1.8.7 Software verwenden
  • SpenceKonde/AttinyCore von GitHub herunterladen und verwenden
  • Arduino-IDE: ArduinoISP auf Arduino flashen
  • Arduino-IDE: Board und Chip "Attiny25/45/85" einstellen
  • Arduino-IDE: Clock: "8 MHz (external)" einstellen
  • bewährte Flash-Verkabelung mit Attiny85 durchführen, allerdings ZUSÄTZLICH MIT 8MHz-Quarz an XTAL1/XTAL2 und zwei 18pF-Kondensatoren wie im Datasheet auf Seite 24
  • Arduino-IDE: "Bootloader Brennen"
  • Arduino-IDE: "Blink"-Sketch mit verändertem Pin flashen (PB1)
  • Attiny85 ausbauen und ausprobieren -> funktioniert nicht, LED blinkt nicht.

Ich mache irgendwas grundsätzlich falsch. Was könnte das sein?

Und noch eine Frage: Wie könnte ich feststellen, dass der Quarz einwandfrei funktioniert und den Takt vorgibt?

P.S.: Die "Boards.txt" habe ich unverändert gelassen, alle Uploads funktionieren und werden mit "avrdude done. Thank you." quittiert.

Danke und Gruß, kuahmelcher

“Wie könnte ich feststellen, dass der Quarz…”

Leih dir doch wenn möglich bei einem Bekannten ein Oszilloskop damit kannst du dir:

  1. Das Signal anzeigen lassen.
  2. Die genaue Frequenz ablesen.

Die dinger sind leider sehr Teuer, deswegen leih dir am besten eins.

Tutorials zur Bedinung gibts es unzählige auf Youtube!

LG Lattek

Hallo,

die Kondensatorkapazität hängt nicht nur vom µC ab. Viel mehr vom Quarz. Deine 18pF erscheinen mir zu gering. Entweder nochmal rechnen oder mit 22pF oder 27pF probieren. Ich hänge mein Rechenblatt ran. Ist eine Exceltabelle ohne Makro und garantiert ohne Viren. Wer da bedenken haben sollte. Du musst nur ins Datenblatt des Quarzes schauen nach der Lastkapazität - diesen Wert eintragen.

Quarz-Kondensator berechnen.zip (25.8 KB)

Doc_Arduino:
die Kondensatorkapazität hängt nicht nur vom µC ab. Viel mehr vom Quarz. Deine 18pF erscheinen mir zu gering. Entweder nochmal rechnen oder mit 22pF oder 27pF probieren.

Hallo Doc,

tja, also das wäre mal wieder was ... Allerdings habe ich dabei überhaupt nicht gerechnet (nicht dass ich nicht rechnen könnte, aber ich wüsste hierbei nicht wie :slight_smile: ). Ich habe die 18 pF aus dem Datensheet - da steht 12-22 pF und da bin ich ja so einigermaßen in der Mitte ...

Danke aber für deine Datei. Diese Fehlerquelle hatte ich bisher noch gar nicht auf dem Schirm!

Danke und Gruß, kuahmelcher

Hallo,

wenn der Wert der Kondensatoren extrem weit weg ist vom Soll, dann kann der Quarz nicht anschwingen. Ich hoffe das es daran liegt, denn ich gehe davon aus das die hinterlegten Fuse Einstellungen in der IDE stimmen. Die C's und Quarz dicht an die Pins platzieren. Bin gespannt auf das Ergebnis.

Doc_Arduino:
Hallo,

wenn der Wert der Kondensatoren extrem weit weg ist vom Soll, dann kann der Quarz nicht anschwingen. Ich hoffe das es daran liegt, denn ich gehe davon aus das die hinterlegten Fuse Einstellungen in der IDE stimmen. Die C's und Quarz dicht an die Pins platzieren. Bin gespannt auf das Ergebnis.

Hallo nochmal!

Also. Ehrlich gesagt - ich war echt nicht überzeugt, dass die Kondensatoren die Fehlerquelle sind, weil ich mich ja ausnahmsweise genau an das Datenblatt gehalten habe. Waren sie aber! Ich habe heute 22pF-Kondensatoren besorgt und auf einmal funktioniert alles wie es soll. Hammer!! Die XLS-Datei schaue ich mir noch mal genauer an!

Danke für die Hilfe! Wie funktioniert das mit dem Karma? Na, ich drücke einfach mal auf [add]!
;D

kuahmelcher

Hallo,

Danke und schön das es geklappt hat. In der Tabelle sind noch 2 Links drin. Ein Buch rund um Quarze und zum anderen Forum wo die Rechnung näher erklärt wird und weitere Links. Viel Spass weiterhin beim basteln und programmieren.

18 pF und 22 pF ist aber kein Unterschied, der in der DigitalTechnik relevant sein sollte.

( Sicher, dass es nicht 18 nF waren ? :wink: )

Hallo,

wenn der Wert grenzwertig ist dann schon. Irgendwann ist immer Schluss. :wink: Wenn man nachrechnet kommt man fast immer zu dem Ergebnis das die im Internet standardmäßig empfohlenen 22pF auch falsch sind. Das es funktioniert liegt an den Toleranzen, Layout- und Steckbrettkapazitäten. Um das genauer zuklären müßte kuahmelcher uns den Quarztyp nennen und den Link zum Datenblatt. Oder nur den Link.

wenn der Wert grenzwertig ist dann schon. Irgendwann ist immer Schluss

Richtig.

Wenn man nachrechnet kommt man fast immer zu dem Ergebnis das die im Internet standardmäßig empfohlenen 22pF auch falsch sind

Dann hab ich auch mal gelesen, zwei Quer-Bahnen auf einem Steckbrett bilden einen ca. 4 pF Kondensator.
Je nach Leiterbahn-Abstand und Länge spielt in diesen Größenordnungen also auch das Platinen-Layout eine relevante Rolle.
Wenn 22 pF nicht geht, aber 18 pF funktioniert, würde ich eher mal 10..15 pF ausprobieren oder gleich 10 pF nehmen.

Meine erste LTSpice-Spielerei-Erfahrung war, dass man kräftig an den Parametern drehen muss, um Verhaltensänderungen deutlich zu sehen.

michael_x:
Dann hab ich auch mal gelesen, zwei Quer-Bahnen auf einem Steckbrett bilden einen ca. 4 pF Kondensator.

Die ca. 4 pF kann ich bestätigen!
Mein selbstgebautes Mess-Dingens ist da zwar am Limit, aber mit zwei kurzen Kabeln an 2 benachbarte Bahnen auf dem Steckbrett zeigt es zwischen 3.5 - 4.5 pF an, die langen Bahnen ( + und - ) an einem langen Steckbrett (63 Reihen / 16,5cm) haben ca. 22 pF.

Gruß André

Hallo,

die Steckbrett- bzw. Layoutkapazitäten sind in der Berechnung enthalten.

Wenn 22 pF nicht geht, aber 18 pF funktioniert, würde ich eher mal 10..15 pF ausprobieren oder gleich 10 pF nehmen.

Der Fall ist aktuell jedoch umgekehrt. 18pF funktionierten nicht und 22pF funktionieren. Wenn 10pF funktionieren sollen muss der Quarz aber eine ungewöhnlich niedrige Lastkapazität haben.

@ SpaghettiCode:
Ist dein Meßgerät kalibriert?
Wenn 4pF das Meßlimit sind, woher will man dann wissen das es nicht noch weniger ist?
Mit den +/- Bahnen hast du also ein Stück Draht gemessen ? und keine 63 Stück benachbarte kurze Bahnen.
Zudem die Kapazität dann abnehmen sollte, weil der Abstand der Platten größer wird.

@ Doc_Arduino,

da ich den Thread nicht kapern möchte nur ganz kurz.
Aus Amateur-Sicht ist das Mess-Dingens kalibriert, von einem Profi kommt vermutlich nur >> ROFL!
Messen kann ich damit 10pF bis 10mF, nehme ich die Kalibrierfunktion zu Hilfe auch unter den 10pF.

Gruß André