Quarz am PIC schwingt nicht

Gast #6860099
Lesenswert?

Guten Abend zusammen,
nach unendlichem Suchen in Foren und testen aller Möglichkeiten frage 
ich nun doch mal in die Runde. Wie schon zu lesen, habe ich Probleme mit 
dem Quarz.
µC ist ein PIC18F4550, Quarz 20Mhz mit je 22pF, Abstand Quarz-µC ca. 
7-8mm, Kondensatoren mittlerweile direkt an die µC-Sockel-Pins gelötet.
Je nachdem, ob und wo man die Platine oder die Sub-D Buchse (Gehäuse an 
GND) anfasst hört der Quarz plötzlich auf zu schwingen, schwingt auf 
etwa 200Hz oder macht sonstige wilde Sachen. Stromversorgung über 
Spannungsregler oder USB.
Die Config-register sind m.E. alle in Ordnung, das ganze hat auf anderen 
Platinen bereits besser, teils sogar absolut problemlos funktioniert.
Ich hoffe, mit ist noch zu helfen...
Viele Grüße
Ron
Gast #6860105
Lesenswert?

Der Klassiker:

Du hast schön beschrieben, was deiner Meinung nach alles richtig gemacht 
wurde. Zu den möglicherweise falschen Sachen hast du gar nichts 
geschrieben, keine Fotos, keine Quelltexte, nada.

Wo sollen wir suchen, in einer Glaskugel? Zeige uns alles, was du nicht 
geprüft hast!
Gast #6860982
Lesenswert?

Hallo zusammen,
wenn ich selber Ideen hätte, woran es liegen könnte, würde ich ja 
einfach nachlesen. Aber die Ideen fehlen mir langsam.
Diesmal also mit Schaltplan, Layout (die Füllung hab ich mal entfernt, 
dass es besser erkennbar ist), zwei Bildern von der Platine und dem 
main.c.
In main.h sind nur Funktionen definiert.
Wie auf der Unterseite der Platine zu sehen, habe ich die 22pF 
Kondensatoren bereits von Ihrer eigentlichen Position direkt an den 
Sockel versetzt.
Vielleicht hat ja so jemand eine Idee.
Viele Grüße,
Ron
Angehängte Dateien:
Gast #6861020
Lesenswert?

Den C1 verdoppeln.
C1A direkt an Pins 11 und 12, zweiten C1B direkt an Pins 31 und 32.
Messen ob Gnd und Vcc wirklich dort vorhanden ist.

Anderen Quarz probieren, der könnte auch defekt sein.

Gruss
Gast #6861024
Lesenswert?

Danke für die Hinweise, aber sie führen noch nicht zum Ziel. Pin 12 ist 
ohne nennenswerten Widerstand mit Masse verbunden, Die Leitungen vom 
Quarz haben kein (auch keine hochohmigen) Verbindung zu irgendwas 
drumherum. Bei engesteckten µC sind die beiden Quarz-Anschlüsse mit etw 
3MOhm mit Masse verbunden, ohne µC offen.
Grüße
Gast #6861109
Lesenswert?

Sodele...
Zwischenzeitlich habe ich zwei 100nF Kondensatoren, die beide direkt an 
den Füßchenhängen. Die Kupferflächen sind mit GND verbunden und insb. 
die Anschlüsse in der Nähe des Quarz' alle nochmal mit den Kupferflächen 
verbunden, sodass da jetzt alles doppelt und dreifach ist. Den Quarz hab 
ich mal noch getauscht. Was mir noch aufgefallen ist, ist dass bei den 
einschlägigen Versandhändlern für 20Mhz Quarze Kapazitäten von 10 bis 
32pF angegeben sind. Unter der Bestellnummer, von der mein verwendeter 
Quarz stammt, sind 32pF angegeben. Siehe 
https://www.reichelt.de/standardquarz-grundton-20-000000-mhz-20-0000-hc49u-s-p32853.html?&trstct=pos_0&nbc=1
Alles das hat die Situation nicht verbessert, es ist irgendwie wieder 
alles beim alten geblieben.
Grüße
(Firma: www.pic-microcontroller.de) #6861115
Lesenswert?

Vielleicht stimmen die Kondensatoren an dem
Quarz nicht. Kannst du die messen ?
Sonst nimm mal andere nicht die selben die du
gekauft hast. Vielleicht haben die sich bei der
Bestellung vertan und sind andere Werte als
drauf steht auf der Tüte.
Gast #6861132
Lesenswert?

Ron S schrieb:
> Hallo zusammen,
> wenn ich selber Ideen hätte, woran es liegen könnte, würde ich ja
> einfach nachlesen. Aber die Ideen fehlen mir langsam.

Mir kommt da bei deinen 2 Kondensatoren ein übler Verdacht: nämlich daß 
das 22 nF sind und keine 22 pF.

W.S.
Gast #6861246
Lesenswert?

Ich hatte bei PICs noch nie Probleme mit HF-Quarzen von 4 - 24.5 MHz.
Selbst auf Lochraster und mit einer IC-Fassung fuer den Quarz nicht.

Ich wuerde ja noch mal die PIC-Konfig pruefen, die Koendensatoren
gegen anderre tauschen und zu allerletzt noch das Quarzgehaeuse
mal auf Ground legen.
Moderator (Firma: Titel) Persönliche Seite #6861497
Lesenswert?

Ron S schrieb:
> die Füllung hab ich mal entfernt
Hast du da einfach nur so gedankenlos potentialfreies Kupfer geflutet? 
Das ist ja noch schlimmer als der Rest der gedankenlosen Kupferfluter, 
die wenigstens noch Masse auf dieses Kupfer legen...

Ich kann da insgesamt keinerlei brauchbare Versorgungsstruktur erkennen. 
Welche Spannung kommt da tatsächlich noch an den Versorgungspins des µC 
an?

Ron S schrieb:
> das ganze hat auf anderen Platinen bereits besser,
> teils sogar absolut problemlos funktioniert.
Ja, dann wissen wir ja, woran es liegt.
Beim nächsten Anlauf sorgst du zuallererst für eine stabile und gute 
Versorgung mit breiten Leiterbahnen bei Vcc und GND. Du sorgst für eine 
Versorgung, die auch funktioniert, ohne dass man Taster als Brücken 
bestücken muss. Und so ein gutes Versorgungslayout schafft der 
Autorouter alleine eben nicht. Du musst da vorlegen und mithelfen.

> teils sogar absolut problemlos
Es muss immer problemlos funktionieren.

BTW: bei passender PAD-Geometrie passt locker noch eine Signalleiterbahn 
zwischen zwei 1/10-Zoll Pins durch. Das entspannt das Layout ziemlich.
#6861601
Lesenswert?

Lothar M. schrieb:
> Beim nächsten Anlauf sorgst du zuallererst für eine stabile und gute
> Versorgung mit breiten Leiterbahnen bei Vcc und GND.

... wobei es sinnvoll ist, (bei begrenztem Platz) den GND massiver zu 
machen als Vcc.
Begründung:
Vcc kann man mit Kondensatoren auf dem "Fundament" GND abstützen.
Das ist wie beim Hausbau: das Fundament sollte massiv sein, das Dach 
darf dagegen "schlabberiger" sein, denn man kann es mit Pfeilern an 
mehreren Stellen auf dem Fundament abstützen.
Moderator (Firma: Titel) Persönliche Seite #6861656
Lesenswert?

Dietrich L. schrieb:
> ... wobei es sinnvoll ist, (bei begrenztem Platz) den GND massiver zu
> machen als Vcc.
Weil sich die Datenblätter der meisten Bauteile eben auf den GND 
beziehen.
Das Thema nennt sich übrigens "Ground Bouncing".
Auf der Vcc-Schiene nennt sich das selbe Problem dann "Vcc Sag": 
https://de.wikipedia.org/wiki/Ground_bounce

> Begründung:
Die ist zwar anschaulich, greift allerdings zu kurz, weil bei einem 
wirklich guten Layout Vcc und GND wechselstrommäßig das selbe Potenatial 
haben sollten. Überall.
So wie bei einem Haus das Dach durchaus auch um 5cm nach unten gehen 
sollte, wenn das Fundament 5cm nach unten geht. Oder das Dach sich bei 
solidem Fundament nicht unnötig weit von der vorgesehenen Stelle 
entfernen sollte.

Konradi schrieb:
> ich sehe auf dem Foto keinen Quarz.
Du siehst die Beine vom Quarz. Der Quarz selber ist unter dem dicken 
DIL-Gehäuse. Das erkennt man leicht im Layout.
Gast #6862315
Lesenswert?

Nochmal hallo zusammen,
Zu den Kondensatoren: Mein Multimeter kann zwar keine Kapazität messen, 
aber mit auf jeden Fall richtigen 1nF und einem einfachen Filter mit dem 
Rechtecksignal vom Oszilloskop ist klar, dass das mit den 22pF schon 
hinkommt.
Auf die potenzialfreie Kupferfläche werde ich in Zukunft achten und sie 
konsequent mit GND verbinden. Ich würde aber ungern komplett darauf 
verzichten, da dadurch der Verbrauch an Ätzlösung doch massiv 
verkleinert wird.
Den Tipp mit den Versorgungsleitungen werde ich auch zu Herzen nehmen, 
wobei ich in diesem speziellen Fall, wo kaum Last anliegt eigentlich 
nicht davon ausgehe, dass das das Problem ist. Spannung an den 
Versorgungspins des µC ist etwa 5,1V und ändert sich in den ersten zwei 
Nachkommastellen auch nicht mit dem ein-/ausschalten der größten 
"Verbraucher" (=LEDs).
Zu den sonstigen Themen Layout möchte ich zu Protokoll geben, dass ich 
alles von Hand entworfen habe, aber ich das eben nirgends "richtig" 
gelernt habe. Ich werde mir die Punkte bei folgenden Projekten merken. 
Die Brücken sind teilweise notwendig, da ich nicht beidseitig ätzen 
kann. 0,4mm sind im Moment auch das kleinste was ich ohne Probleme ätzen 
kann.
GND liegt an den Kondensatoren an.
Zu den vorschlägen mit internem Oscillator/ externer Taktquelle: Ich 
bekomm das schon damit zum Laufen, aber es muss ja schließlich auch so 
wie im Datenblatt beschrieben möglich sein. Bei USB bräuchte ich 
zumindest eine externe Taktquelle, wobei ich mich mit dem Thema noch 
nicht wirklich beschäftigt habe.
Die Config Register kann gerne jemand überprüfen, der davon mehr Ahnung 
hat, aber ich bin der Meinung dass das so mit dem Datenblatt passt.
Ich werde bei Gelegenheit ein neues Layout entwerfen und einen neuen 
Versuch starten. Das wird aber nicht so schnell passieren, da ich im 
Moment ziemlich beschäftigt bin.
Viele Grüße
Ron
Gast #6862326
Lesenswert?

Ron S schrieb:
> Die Config Register kann gerne jemand überprüfen, der davon mehr Ahnung
> hat, aber ich bin der Meinung dass das so mit dem Datenblatt passt.

Wieder nimmst du und die Chance dir zu helfen, weil du es nicht für 
nötig erachtest, und etwas zu zeigen.

Wenn du alles richtig gemacht hast, hast du kein Problem.Du hast aber 
ein Problem, also hast du etwas falsch gemacht. Je mehr du uns zeigst, 
umso gründlicher können wir prüfen und dir helfen.

Was deine Messung der Versorgungsspannung angeht: Die ist so sinnlos. 
Bei Mikrocontrollern geht es um ganz kurze Impulse im 
Nanosekunden-bereich, die kann dein Multimeter nicht erfassen. Und weil 
sie so kurz sind, spielen die HF Eigenschaften (Induktivität, Kapazität, 
Wellenwiderstand, Reflexionen) eine Millionenfach größere Rolle als bei 
DC.
Gast #6862369
Lesenswert?

Okay. Meines Erachtens nehme ich die Möglichkeit, mir helfen zu lassen 
nicht, da der Code bereits in diesem Thread gepostet wurde (bei den 
Bildern und Layouts).
Die Spannungsversorgung habe ich nun mit dem Oszilloskop gemessen, was 
die ganze Sache vielleicht doch noch retten könnte. Ich messe eine stark 
gefilterte Rechteckspannung mit etwa 0,08V und einer Frequenz von grob 
0,5MHz, wobei die Frequenzmessung bei der Amplitude und dem Hameg 203,5 
gar nicht so einfach ist.
Ich habe mich schon oft gefragt, warum in solchen Foren immer so eine 
negative Grundstimmung herscht. Aber das ist eine andere Frage und 
gehört nicht hierher. Jedenfalls bedanke ich mich trotzdem auch für 
diesen Hinweis, der vielleicht zum Erfolg führt.
Die passenden Maßnahmen wären also ein neues Layout mit Flächen an GND, 
breiteren und weniger verästelten Zuleitungen zu den Versorgungspins und 
Kondensatoren noch näher am µC. Hab ich noch was wichtiges vergessen?
Grüße
Gast #6862378
Lesenswert?

Ron S schrieb:
> Ich habe mich schon oft gefragt, warum in solchen Foren immer so eine
> negative Grundstimmung herscht.

Wegen Corona - das ist an allem Schuld.

Ich muss mich entschuldigen, ich hatte einfach angenommen dass mit 
"Config Register" so etwas wie die Fuses bei AVR gemeint sind, die 
üblicherweise nicht im Quelltext stehen.

Aber bei dir stehen die Werte ja direkt im Quelltext. Also alles OK, ich 
nehme den Vorwurf zurück.
#6862863
Lesenswert?

Ron S schrieb:
> Die passenden Maßnahmen wären also ein neues Layout mit Flächen an GND

Bevor du ein neues Layout machst:
Du kannst auch testweise alle GND-Anschlüsse mit "ordentlichen" 
Drahtbrücken auf der Kupferseite mit der außen herum vorhandene große 
Kupferfläche verbinden (dazu gibt es so schönen versilberten 
Kupferblankdraht).
Wenn es dann keine Probleme mehr gibt weißt du jedenfalls, dass es daran 
liegt und nicht noch woanders was faul ist.
Gast #6862904
Lesenswert?

Ron S schrieb:
> Hab ich noch was wichtiges vergessen?

Den Quarz würde ich nicht unter dem IC setzen, momentan liegt der 
sicherlich plan auf der Leiterplatte auf und von oben drückt noch das IC 
dagegen.
Setze den lieber nach aussen und lasse dem noch 1-2mm Luft nach unten 
beim Einlöten.
(Firma: indEAS) #6862909
Lesenswert?

Sind die "anderen" Platinen 100% gleich oder nur ähnlich?
Ich würde es einfach mal mit dem internen Oszillator versuchen.
=> kann man das Teil programmieren und es läuft prinzipiell?
Im nächsten Schritt beide Oszillator-Pins toggeln; => die HW im PIC ist 
sicher OK?
Auf die Kondensatoren am Quarz würde ich erstmal verzichten, weniger ist 
da mehr.
Du kannst auch zum Testen ein TTL Signal von einem Quarz-Oszillator oder 
anderem PIC nehmen.
Gast #6863158
Lesenswert?

Ron S schrieb:
> Hab ich noch was wichtiges vergessen?

a) Die beiden 100 nF direkt an die uC Pins, wie schon geschrieben.
b) Masse und +5V mind. in doppelter Breite gegenüber bisher, v.a. vom 
Spannungsversorgungsstecker zu den BEIDEN uC Anschlüssen.
c) Masse kann dabei flächig sein.
d) Ein weiterer Kondensator, Typ Elko oder Tantal, Wert 10V / 100 uF in 
der Nähe des Spannungszuführung.

> Lass dein Layout vor dem Ätzen sehen...
  wurde bereits empfohlen.

Gruss
Gast #6863182
Lesenswert?

W.S. schrieb:
> Ähem... so ein Draht ist eigentlich zum Wickeln von Spulen mit hohem Q
> gedacht und nicht in erster Linie zum Anschließen von vergessenen
> Masseflächen.

Mag sein, ich benutze aber auch gerne Silberdraht, weil man ihn lange 
lagern kann ohne dass er stören Oxidiert.
Gast #6865000
Lesenswert?

OK, fassen wir mal Deine Anforderungen zusammen:

1. Einseitiges Layout. Oben nur Brücken mittels Kupferdraht.
2. Überall 0,4mm Isolationsabstand. (Ist das als Regel eingepflegt?)

Da wird wohl dann irgendwo eine GND-Verbindung fehlen, nehme ich an. 
Weil 5V mit Leiterbahnen explizit durch das Board verlegt ist. GND wird 
implizit "verlegt" über eine GND-Fläche, die über die gesamte Unterseite 
geht. Ich denke, da ist irgendwo eine GND-Verbindung offen.

In der Tat wird es schwierig werden, da den wirklichen Verursacher für 
das nicht-anschwingen zu finden. Darum denke ich auch, Du solltest das 
Layout nochmal neu machen. Meine Empfehlung für ein neues Layout wäre 
wie folgt:

1. Platzieren aller Bauteile.
   Vermeide es bitte, Bauteile unter anderen Bauteilen zu platzieren.
2. Routen der Spannungsversorgung.
2. Routen von USB D+ und D-. Abgleichen auf dieselbe Länge.
3. Routen aller anderen Signale.

Wenn man das in Schritten macht, wird es funktionieren.

Gibt es Restriktionen? Zum Beispiel eine Platzierung der Buchsen/Stecker 
und LEDs etc. nach außen hin? Oder ist alles frei wählbar?

Beim USB wird es so sein, dass die 120 Ohm für das Differential Pair 
nicht eingehalten werden können bzw. nur mit sehr breiten Leiterbahnen. 
Für eine doppelseitige Leiterplatte sind das so um die 1,2mm, wenn ich 
mich noch recht erinnere. Lässt sich aber machen, wenn der USB-Stecker 
möglichst nah an den Microcontroller platziert wird. Wenn die 
USB-Schnittstelle nur mit 12MBit läuft, also als Ersatz für eine 
RS232-Schnittstelle, braucht das nicht so genau zu sein. Aber auf Länge 
abgleichen und etwas separiert von den anderen Leitungen wäre schon gut. 
Und möglichst kurz.

Viel Erfolg!
Gast #6884556
Lesenswert?

Hallo zusammen,
mittlerweile habe ich endlich mal wieder die Zeit gefunden, mich mit dem 
Thema zu beschäftigen. Ich bedanke mich auf jeden Fall für die 
Hinweise,insb. zum Thema Layout. Nachdem ich diese Themen beim neuen 
Layout zu Grunde gelegt habe hat das ganze nun zufriedenstellend 
funktioniert.
Viele Dank an alle Beteiligten und eine gute Zeit!
Ron
Moderator (Firma: Titel) Persönliche Seite #6884607
Lesenswert?

Lothar M. schrieb:
> Ron S schrieb:
>> Hab ich noch was wichtiges vergessen?
> Lass dein Layout vor dem Ätzen sehen...
Tja, die Hoffnung stirbt zuletzt und den Versuch wars wert.

Ron S schrieb:
> nun zufriedenstellend funktioniert.
Das gibt mir zu denken, denn manchmal verwundert es mich, mit wie wenig 
Menschen zufrieden sind...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren