hab letztens festgestellt dass an einem eval-board ebenso wie an der eigenen Platine die serielle Übertragung massiv gestört wird wenn man mit dem Finger in die Nähe der Kondensatoren am Quarz, oder auch dem Quarz an sich gerät...
Mein Erklärungsversuch: bei Berührung ändere ich massiv die Kapazität an der Stelle und evtl. reicht schon eine sehr leichte Berührung.
Aber irgendwie finde ich das bedenklich und frage mich was man tun kann um das zu verhindern?
Ich weiss ja nicht, was da noch aus dem Takt gerät in der Situation!
und frage mich was man tun kann
um das zu verhindern?
Einfach nicht hinfassen.
Di zulässigen Quarz-Lastkapazitäten liegen im Bereich weniger 10 Pikofarad. Da ist so ein Finger schon signifikant. Also entweder nicht hinfassen oder mit Blechkäfig abschirmen. Milliarden Quarze auf dieser Welt kommen damit klar, wenn man sie in Ruhe lässt.
Man kann einen fertigen integrierten Oszillator nehmen, der immer stabil stur seinen Takt ausgibt. Wenn man die In Serie einsetzt, dann sind die nicht arg viel teurer als die diskrete Lösung. Und sogar noch kleiner:
Wenn der Serien-Widerstand R1 des Quarzes zu groß ist, schwingt der Oszillator schwierig.
Somit könnte der Quarz Schrott sein - also:
Quarz wechseln und dann schauen, ob er dann stabiler ist.
Es ist halt einfach so, dass der Oszillator verstimmt wird und mit der falschen Frequenz arbeitet. Das tut dem im Prinzip nicht weh, solange du nicht den knisternden Pulli anhast, für den so viele Polyesterchen sterben mussten. Aber am unkompliziertesten ist, dass du da einfach nicht hinfasst.
reicht evtl. eine Schicht Klarlack?
Nein, das verschlimmbessert die Sache nur, weil du sowieso keine definierte Schichtstärke einhalten kannst. Wenn schon, dann ein Stück Isolierband und fertig.
die Ursachen und Lösungen (nicht hinfassen ist aber nur sehr beschränkt eine Lösung) wurden dir ja schon mittgeteilt.
Dass die technischen Lösungen für dich nicht praktikabel sind, ist nachvollziehbar, ich würde auch nicht so hohen Aufwand treiben bzw. es so optisch hässlich werden lassen.
Das hat der Hersteller des eval-board halt Mist gebaut - mit so einer Platine lernt man, probiert aus - die ist nicht irgendwo fest eingebaut oder wird
in einem fertigen Produkt dauerhaft genutzt.
Da muss man überall anfassen (zufällig drankommen)können, ohne dass das System abschmiert.
Empfindliche Bereiche müssen halt vom Hersteller (und nicht vom Anwender...) abgeschirmt werden, bzw. unempfindliche Bauteile genutzt werden.
Eval-board sind oft sehr teuer - da sollte sowas selbstverständlich sein, ist es aber leider wohl nicht.
Nein, da bin ich störrisch:
Nicht anfassen ist für ein Entwicklungssystem, ein Lernsystem usw. keine saubere Lösung - es funktioniert zwar letztendlich, aber passt so gar nicht hinter der Idee (und den üblich weise aufgerufenen Preisen)
(nicht hinfassen ist aber nur sehr beschränkt eine Lösung)
Das ist die Lösung in nahezu allen handelsüblichen Geräten. Mach mal eines auf und fasse an den Quarz: mit hoher Wahrscheinlichkeit wird der austicken. Dank des Gehäuses fasst aber niemand dort hin.
Das hat der Hersteller des eval-board halt Mist gebaut - mit so einer
Platine lernt man, probiert aus - die ist nicht irgendwo fest eingebaut
oder wird in einem fertigen Produkt dauerhaft genutzt.
Sondern sie wird von fachkundigen Personen zur Evaluierung von Bauteilen verwendet. Und genau das hat der TO hier jetzt gelernt: Quarzoszillatoren sind sensibel. Nicht umsonst gibt es dafür sogar oft "Layout Recommendations".
Das hat der Hersteller des eval-board halt Mist gebaut - ...
Da muss man überall anfassen (zufällig drankommen)können, ohne dass das
System abschmiert.
Das ist irgendwie so eine der-Andere-ist-Schuld-All-Inclusive-Rundumversichert-Sichtweise. So funktioniert das richtige Leben nicht. Ich kann dir ein paar EVAL-Boards zeigen, da fasst du nur ein einziges Mal ohne Nachzudenken irgendwo hin. Stichworte: Schaltnetzteile, Leistungselektronik und Umrichter.
Das hat der Hersteller des eval-board halt Mist gebaut ...
Ganz im Gegenteil - der Nutzer lernt, dass die Lastkapazität am Quarz für dessen Schwingverhalten wichtig ist.
Bei einer Röhrenschaltung hätte der Nutzer gleich eine gewischt bekommen - manche lernen dann sehr schnell, dass man in einer laufenden Schaltung mit den Fingern nichts zu suchen hat, wenn man nicht weiß, was man tut.
Früher (tm), als Quarze noch zur Domäne der HF-Technik gehörten, wußte jeder aus dem Bereich etwas mit dem Begriff "Handkapazität" anzufangen und hatte spezielles Abstimmwerkzeug, damit der Effekt klein blieb.
Empfindliche Bereiche müssen halt vom Hersteller (und nicht vom
Anwender...) abgeschirmt werden, bzw. unempfindliche Bauteile genutzt
werden.
Eval-board sind oft sehr teuer - da sollte sowas selbstverständlich
sein, ist es aber leider wohl nicht.
Zum "Evaluieren" gehört für mich auch, dass ich da mit dem Oszi-Tastkopf an interessante Signale rankomme. Bischen schwierig, wenn das ganze Teil in Blech eingelötet ist.
Das ist die Lösung in nahezu allen handelsüblichen Geräten. Mach mal
eines auf und fasse an den Quarz: mit hoher Wahrscheinlichkeit wird der
austicken. Dank des Gehäuses fasst aber niemand dort hin.
Mir fehlt das Verständnis dafür, Schrott zur Norm zu erklären. Bei meinen Geräten kann man überall hinlangen, ohne daß etwas gestört wird. Auch bei Entwicklungsboards ist mir das nie begegnet. Einzig bei Fernsehgeräten mit CRT war das anders ;-)
Spiele gerade mit einem Pico-Board herum: kann man voll drauflangen, ohne daß etwas gestört wird.
Bei meinen Geräten kann man überall hinlangen, ohne daß etwas gestört wird.
Dann machst du nur simple niederohmige Geräte. Und wenn die Geräte ein wenig komplexer und ggfs. stromsparender sind, dann hast du einfach die sensible Stelle noch nicht gefunden.
Du musst einfach mal einen Low-Power-OP mit 5pA Eingangsstrom in einem deiner Geräte einsetzen und das Design dann auch stromsparend auslegen müssen:
Da kann man dann nicht mit Gegenkopplungen im kOhm-Bereich arbeiten.
Auch bei Entwicklungsboards ist mir das nie begegnet.
Mir schon. Nimm einfach ein EVAL-Board eines Low-Power-Schaltreglers mit einem hochohmigen Feedback-Spannungsteiler. Da macht die Ausgangsspannung alles Mögliche, wenn du da reinfummelst.
Spiele gerade mit einem Pico-Board herum: kann man voll drauflangen,
ohne daß etwas gestört wird.
Ein Raspi ist kein EVAL-Board.
Und natürlich kann man auch da den Oszillator einfach aus dem Takt bringen.
Neuere MCs betreiben den Quarz nur mit wenigen 100mV und nicht mehr bei
5V.
Das senkt den Stromverbrauch, macht ihn aber auch störempfindlicher.
Die heute verwendeten Subminiatur-Quarze vertragen nur eine sehr geringe Quarzbelastung.
Somit sind 3.3V oder 5V Amplitude nicht mehr möglich, stattdessen werden amplituden-geregelte Oszillatoren verwendet (mit nachfolgenden Verstärkern) und diese sind weniger störempfindlich.
Das hat der Hersteller des eval-board halt Mist gebaut
So sehe ich das auch.
So sehe ich das ganz und gar nicht.
Dann erzähle uns doch mal, wie man ein Eval Board bauen sollte, so daß der User ohne Funktionsänderung an jede hochohmige Leitung hintatschen kann.
Wer an einem laufenden offenen Gerät überall seine Finger drin haben muß, lebt halt mit den Konsequenzen.
Zur Definition: Ein Eval Board ist kein fertiges Gerät, sondern soll die Funktion eines ICs demonstrieren.
Ich nehme daher nur noch fertige Oszillatoren, wenn kein Batteriebetrieb
erforderlich. Z.B. 5*3.2mm²
Für Batteriebetrieb nimmt man einen 32kHz Oszillator und erzeugt die "Hochfrequenz" intern per PLL. Dann braucht der Oszillator weniger als 2µA und ist auch etwas kleiner: 1.6 * 1.0mm² oder 2.0 * 1.2mm² -> OM-7605-C9 oder -C8 oder OV-7604-C7 von Micro Crystal.
Wer unbedingt einen Quarz verbauen will (es gäbe ja auch noch Keramik-Resonatoren, auch für CAN): vielleicht hilft der Oscillator design guide (AN2867) von ST. Da gibt's Formeln zur Quarz-Verlustleistung abhängig vom Serienwiderstand und eine Bemerkung
1
The drive level is the power dissipated in the crystal. It has
2
to be limited, otherwise the quartz crystal can fail due to excessive
3
mechanical vibration. The maximum drive level is specified by the
4
crystal manufacturer, usually in mW. Exceeding this value may lead to
5
the crystal being damaged, or to a shorter device lifetime.
Für einen 20MHz Quarz werden typisch 10µW, max. 100µW empfohlen.
Ich habe in deinem Beitrag noch Leerzeichen um die Sternchen eingefügt, denn ab 2 Sternchen wird das u.U. als Formatierungssequenz interpretiert:
Ein einzelnes Sternchen im Satz* ist problemlos.
Zwei Sternchen direkt vor und nach einem Wort bzw. einer Zeichenkette formatieren den Text um.
Zwei Sternchen mit "falscher" Reihenfolge nach* und *vor einem Wort sind problemlos.
Zwei Sternchen mitten im Fließtext formatieren einen Wortteil um.
Vereinfacht: wenn der Stern als Multiplikationszeichen verwendet werden soll, dann jeweils ein Leerzeichen davor und danach einfügen, sonst sieht das u.U. seltsam aus.
BTW: man kann mit zwei Sternchen die Formatierung noch abwechslungsreicher gestalten... ;-)
hab letztens festgestellt dass an einem eval-board ebenso wie an der
eigenen Platine die serielle Übertragung massiv gestört wird wenn man
mit dem Finger in die Nähe der Kondensatoren am Quarz, oder auch dem
Quarz an sich gerät...
Normalerweise muss man schon in Kontakt damit kommen, damit genau das geschieht.
Mein Erklärungsversuch: bei Berührung ändere ich massiv die Kapazität an
der Stelle und evtl. reicht schon eine sehr leichte Berührung.
Es ist nicht nur die Kapazität, die hier beeinflusst wird und eher eine untergeordnete Rolle dabei spielt, sondern auch der Widerstand der Haut/Körpers und dessen parasitäres Spannungspotenzial (überlagert von AC/DC-Anteilen) spielen hier primär die entscheidende Rolle. Einfach mal mit dem Finger – ohne gleichzeitig die Masse anzufassen – an einer Sonde des Oszilloskops Deines Vertrauens probieren und im mV-Bereich und auf AC-Einkopplung umgeschaltet sich anschauen, was auf dem Bildschirm passiert. Meistens wird das Signal noch stark von der 50Hz-Netzfrequenz überlagert bzw. dominiert, wenn man sich gerade in einem Standardgebäude eines Standardhaushaltes in Deutschland befindet, wo strommäßig alles ganz normal verdrahtet ist. Wenn man auf einem Stuhl sitzt, dann beim Anfassen und Halten der Spitze der Sonde auch mal die Füsse hochnehmen, um auch den Unterschied 'mit und ohne Bodenkontakt' auf dem Bildschirm zu sehen.
Aber irgendwie finde ich das bedenklich und frage mich was man tun kann
um das zu verhindern?
Außer des bereits oben schon Vorgeschlagenen, kannst Du auch von einem STM32 auf einen AVR mit einem Full-Swing-Oszillator umsteigen, z.B. auf einen ATMEGA328P-x, der PB-Typ hat den schönen, robusten Schwingmodus leider nicht. Zwischen einer Low-Power- und Full-Swing-Oszillatorschaltung gibt es nämlich signifikante Unterschiede, unter anderen genau diesen, dass man es bei einem Low-Power-Oszillator nicht mit Anfassen versuchen sollte. Der Full-Swing-Oszillator wird ab einem bestimmten Punkt aber auch massiv gestört werden und zu einem unkontrollierten Lauf der CPU und überhaupt der ganzen Peripherie des µControllers und der ganzen Schaltung drumherum führen, weil das alles eben nicht zum Anfassen gedacht ist.
Zumal bei einer seriellen Schnittstelle wie beim TO.
Gerade für die brauchts eigentlich keinen mehr. Aber gut, das mag bei den STM32 was anderes als etwa bei neueren AVRs sein... Auf einem Eval-Board das offen rumliegt empfehlen sich solche empfindlichen Stellen aber generell weniger. So eine fehlerhafte Datenübertragung könnte im Development ganz schön frustrieren.
Zumal bei einer seriellen Schnittstelle wie beim TO.
Gerade für die brauchts eigentlich keinen mehr.
Was meinst du mit "eigentlich"?
Das würde voraussetzen, dass der Empfänger nicht nur auf das Startbit synchronisiert, sondern auch innerhalb des asynchron übertragenen Zeichens nachsynchronisiert, also nicht mit fester Baudrate empfängt.
Aber gut, das mag bei den STM32 was anderes als etwa bei neueren AVRs sein...
Der UART funktioniert auch bei einem STM32 relativ gut, wenn der Takt aus dem HSI mit 1%-Genauigkeit ab Fabrik kommt. Für Raumtemperaturen und Testzwecke kann das ausreichend sein, für ein stabiles Schaltungskonzept würde ich persönlich eine bessere Taktquelle nehmen – das muss aber schon jeder selbst entscheiden, wie er seine Schaltung entwirft und wofür er sie dann letztendlich braucht, zum Spielen reicht es aber allemal. Getestet habe ich es bei STM32F303CC, CB und STM32F030CC mit der 115200-Baudrate – hier war die fabrikgetrimmte Genauigkeit meistens auch deutlich besser als ±1%, aber es wird bestimmt nicht mit allen STM32-Typen gehen.
Edit: im Anhang noch ein Foto der Prototypen, falls es einer nicht glaubt
für alles was man so für UART Übertragungen an Genauigkeit benötigt. So "eigentlich" daß ich schon seit Jahren keine Quarze mehr verbaue.
Und meine zuverlässige Wetterstation mit einem 4808 beweist mir "eigentlich" das ganze Jahr über, daß die Genauigkeits-Reserven gewiss über die Zimmertemperatur hinausreichen.
Ggf. bleibt darüber hinaus immer noch die Möglichkeit der Nachjustierung nach Temperatur.
und frage mich was man tun kann
um das zu verhindern?
Einfach nicht hinfassen.
Es ist ein Wunder, das die Idee noch keiner bei einem Schaltnetzteil hatte, da drin rumzufingern... oder die, die es gemacht haben, können nicht mehr davon berichten :-)))
Ich weiss ja nicht, was da noch aus dem Takt gerät in der Situation!
Naja, alles was bestimmte Zeiten einhalten soll, wird wenige Prozent Ablage bekommen. Die serielle SS ist besonders empfindlich, wie schon mehrfach genannt wurde. Wenn du sonst nur zeitunkritische Abläufe in dem Programm hast, passiert weiter nichts.
Gut, es könnte auch sein, dass der Takt komplett ausfällt. Dann sind aber die Einstellungen, der Aufbau und die Dimensionierung eh als grenzwertig anzusehen.
Es ist ein Wunder, das die Idee noch keiner bei einem Schaltnetzteil
hatte, da drin rumzufingern... oder die, die es gemacht haben, können
nicht mehr davon berichten :-)))
Das habe ich gemacht und dabei auch sehr viele Step-Down-ICs mit Absicht kaputtgemacht, um deren Robustheit und Stabilität zu untersuchen. Welche ICs und Schaltnetzteiltypen es genau waren und warum das so ist, wie es ist, und dass die Hersteller oft schöne Werbung für ihre Schaltregler samt Schaltungsbeispielen in den Datenblättern machen, bleibt erstmal tatsächlich geheim – ich habe beschlossen, dieses so gewonnene Wissen erstmal weitestgehend für mich zu behalten. Es hindert aber niemand einen daran, es mit langen Versuchen und Testreihen selbst zu machen und herauszufinden.
Zur Definition: Ein Eval Board ist kein fertiges Gerät, sondern soll die
Funktion eines ICs demonstrieren.
Und zwar möglichst so, wie es sich bei einer realen Anwendung verhält.
Daher verändern alle Maßnahmen, die zur Enstörung getroffen werden, das reale Verhalten des ICs. Oder man macht es bei der realen Anwendung genau so wie beim Eval Board - auch wenn es in der realen Anwendung absolut unnötig ist.
Was ist ein 4808? Hat der 1% garantiert oder typisch?
Schon dieser mit "nur" 1,8% Genauigkeit seines internen 16/20 Mhz Generators noch etwas ältere AVR beweist die Praxistauglichkeit eines quarzlosen Designs mit UART-Aktivitäten und unter Außenbedingungen.
Dann machst Du aber (gerade für Anfänger) ein ganz neues Fass auf.
Das Fass würde hier nur für extreme Temperaturschwankungen geöffnet.
Sicher kein akutes Anfänger-Problem.
So extrem wie dieser Fall an frischer Luft so ungenau darf dann übrigens auch der eingebaute Temperatur-Sensor sein- aber immer noch prima zur Nachkalibrierung geeignet.
Schon dieser mit "nur" 1,8% Genauigkeit seines internen 16/20 Mhz
Generators noch etwas ältere AVR beweist die Praxistauglichkeit eines
quarzlosen Designs mit UART-Aktivitäten und unter Außenbedingungen.
1.8% reichen natürlich, wenn die Gegenstelle genauer ist, also nicht den gleichen Prozessor hat.
Ja, bei Industrie- und Massen-Produkten pflegt man oft die Extraportion technische Vorkehrung gegen potentielle Schwächen und Ungenauigkeiten aller Art. Wenn denn das Ansinnen auch immer allen Produkteigenschaften gelten würde und nicht wie hier bloßes Anfassen schon die Funktion einschränkt!
Schade. Wer weiß schon wie da die Spannung schwankt beim Hineinlangen...
Viele dieser „ach-so-tollen” und von den Herstellern angepriesenen Step-Down-Schaltregler-ICs, die z.B. mit 10-40V als Eingangsspannung arbeiten und die viele von Euch ahnungslos in ihren eigenen Projekten einsetzen, gehen nicht nur bei einer sinnlosen Berührung der Beinchen mit dem Finger umgehend kaputt, sondern tun es z.B. auch bei einem plötzlichen – aber laut Datenblatt noch völlig zulässigen – Lastwechsel oder einer Änderung des Widerstanswertes eines Widerstands im Feedbackbereich, um z.B. die Ausgangsspannung zwischen 3,3V und 5V so mit einem Jumper ändern zu können – das zweite mit den Feedbackwiderständen ist dann eigentlich nicht erlaubt, wäre als Schaltungsentwurf aber trotzdem ganz praktisch, wenn man es auf der Platine hätte und es zuverlässig und schadensfrei für alle Beteiligten funkionieren würde und in meinem Fall auch funktioniert, weil ich die Schaltungsentwürfe der Hersteller, die so in den Datenblättern schöngezeichnet sind, modifiziere und verbessere, damit solche Dinge dann nicht mehr passieren können, sofern das bei einem IC überhaupt Sinn hat, denn manche sind als Halbleiterentwürfe ab Fabrik schon so grottenschlecht und schwach, das es quasi nur Halbleitermüll ist, was man da kauft – und am Ende macht man sich womöglich noch eine teure Platine oder ein wertvolles Gerät damit kaputt, weil man es damit mit Strom versorgen wollte. Hier könnte man profan „Augen auf!” als Warnung sagen, nur wenn man den Gegner bzw. die Gefahr gar nicht sieht und somit auch nicht als solche erkennt, dann ist man einfach nur auf einen glücklichen Zufall bei der Wahl eines ICs und dem Konzept der eigenen Schaltung angewiesen – für mich kommt so etwas als Teil meines Entwurfs leider nicht in Frage.
Du musst einfach mal einen Low-Power-OP mit 5pA Eingangsstrom in einem
deiner Geräte einsetzen und das Design dann auch stromsparend auslegen
müssen:
...
Da kann man dann nicht mit Gegenkopplungen im kOhm-Bereich arbeiten.
Viel Fanta - viel Fantasie? Ein OPV soll ja auch garnicht schwingen.
Mal wieder alles heiße Luft hier für den Weltuntergang und fast alle jammern mit.
Wenn ein Oszillator nicht stabil arbeitet, wird er entweder zu sparsam betrieben oder ist schlecht konstruiert: Kurze Leiterbahnen, Massefläche, Erdung als Stichworte.
Offenbar mehr als du, denn du denkst nur in die eine Richtung. Ich erwähnte den Stromverbrauch. Und wenn der Eigenstromverbrauch des OP deshalb sehr, sehr niedrig ist, weil die batteriebetriebe Anwendung es erfordert, dann muss die gesamte Beschaltung des OP ebenfalls stromsparend sein. Und dafür muss die Beschaltung hochohmig sein. Wäre ja ein dummer Designer, wenn zwar der OP nur 1uA braucht, dann aber ständig 1mA über den Gegenkopplungswiderstand fließen würde. Und wer in hochohmige Schaltungen reinfummelt, der bringt sie mit dem Hautwiderstand durcheinander.
Kurze Leiterbahnen, Massefläche, Erdung als Stichworte.
Stromsparendes Design und hochohmige Schaltung als Gegenargumente.
Mal wieder alles heiße Luft hier für den Weltuntergang und fast alle
jammern mit.
Jammern tut der TO und die Das-darf-doch-nicht-sein-Follower. Der Rest akzeptiert einfach die Physik.
Und wer in
hochohmige Schaltungen reinfummelt, der bringt sie mit dem
Hautwiderstand durcheinander.
Du meinst den Angstschweiß, der von den Fingern tropft.
Du konstruierst hier etwas zusammen. Als ob die ganze Welt nur noch aus Knopfzellen stromversorgt werden würde.
Bei meinen AVR/STM32/RP2040/... Schaltungen kann ich bequem das Signal am Quarz auf einem Oskar ansehen. Bei Resonanz ist seine Impedanz ja auch recht niedrig, weshalb ein zusätzlicher Serienwiderstand meist notwendig ist. Nur die Frequenz so zu messen, wäre nicht sinnvoll.
Aber schon klar: nur eine schlechte Nachricht ist eine gute Nachricht.
... oder kritisiert, ganz berechtigt, die Ausführung mancher technischer Lösung. Es ist ja nicht so daß die Physik da keinen Spielraum böte.
Wer kann der verzichtet nämlich einfach auf so empfindliche wie unnötige Angriffspunkte. Für immer mehr Fälle sind Quarze inzwischen überflüssig wie ein Kropf- weil controller-interne Taktgeber immer genauer und temperaturstabiler werden.
Muss ich nicht, der TO hat das hier reingeworfen. Auch in so einem Oszillator ist ein analoger Verstärker.
Wenn ein Oszillator nicht stabil arbeitet, wird er entweder zu sparsam
betrieben
Was, wenn er so sparsam betrieben werden muss?
oder ist schlecht konstruiert: Kurze Leiterbahnen, Massefläche, Erdung als
Stichworte.
Sei dir sicher, dass ich das weiß. Da muss man mit Google nicht lange suchen. Aber genau weil so ein Oszillator empfindlich ist, muss man das beachten.
Für immer mehr Fälle sind Quarze inzwischen überflüssig
wie ein Kropf- weil controller-interne Taktgeber immer genauer und
temperaturstabiler werden.
Da wird es teilweise Synergien aus ganz verschiedenen Teilbereichen der Halbleiterei geben. Bei MEMS (Beschleunigungssensoren) vewendet man freitagende Strukturen. Dieses Knowhow kann man wiederum für eine stimmgabelähnliche Funktion nutzen.
Um welches Board es sich handelt, hat der TO nicht gesagt. Wenn auch selten, kann es sich beim TO auch um einen Defekt handeln. Kaputte Quarze sind mir schon untergekommen.
Ein Wort zum Sonntag zu STM32 EVAL-Board:
ganz klassisch hatte ich mit einem STM32F407 Discovery-Board meine 'speziellen' Erfahrungen gemacht. Es ist mindestens fünfmal aus lauter Frust für Wochen in der Ecke gelandet und geblieben. Egal, was ich probiert hatte, immer wieder gab es nicht nachvollziehbare Fehler.
Die Lösung: der verbaute STM lief mit den 5 Wartezyklen (default) für FLASH-Zugriff nicht stabil. 7 'waitstates' eingestellt und alle Probleme waren wie weggeblasen. 'Schmerzlicher' Vorteil: ich habe viele Sachen gelernt, die mich sonst eher wenig interessiert hätten.
Vielleicht sieht sich der TO sein Board noch einmal näher an.
Bei meinen AVR/STM32/RP2040/... Schaltungen kann ich bequem das Signal
am Quarz auf einem Oskar ansehen.
Kann man bei den meisten uCs, solange man am Ausgang des Inverters
misst.
Anstatt herumzuschwurbeln nenn doch einfach einmal einen Typen, bei dem das am Eingang nicht möglich ist!
Habe gerade beim RP2040 auf einem Pico-Board die Spannungen am Quarz gemessen: fast 2 Vss an Ein- und Ausgang. Der schwingt pudelwohl. Mit Handauflegen oder schräg ankucken wird man ihn nicht stoppen können.
kann es sich beim TO auch um einen Defekt handeln.
Ja, könnte, hätte, wäre, sollte, ich liebe den Konjunktiv. Ich würde mit >>99,9% Sicherheit sagen, dass er ein tadelloses Board hat und einfach nicht am Oszillator herumpfoten sollte.
Nirgends hat einer was von "stoppen" gesagt, lediglich "beeinflussen"
oder "verstimmen" dürfte sich da als Verb anbieten, denn der
Unter der Annahme das eine ›Verstimmung‹ bis zu 2% eine asynchrone Übertragung nicht beeinflusst, stellt sich mir die folgende Frage:
Kann man einen Quarz tatsächlich um mehr als 2% verstimmen?
Durch Näherung oder direktes Finger-auflegen?
Diese These fände ich – sagen wir mal – recht gewagt.
Würde mich wundern wenn man überhaupt 2‰ schaffen würde.
Kann man einen Quarz tatsächlich um mehr als 2% verstimmen?
Durch Näherung oder direktes Finger-auflegen?
Diese These fände ich – sagen wir mal – recht gewagt.
Würde mich wundern wenn man überhaupt 2‰ schaffen würde.
Ja, das habe ich vor einigen Jahren real mit einem ATMEGA328P getestet – wenn per Fuses der Low-Power-Oszillator gewählt wurde, spinnt das ganze Programm und läuft in dem Moment, wo man es hält, nicht mehr nach dem richtigen Takt des Quarzes (konnte man an der Art des Blinkens einer LED eindeutig sehen). Wird der Full-Swing-Oszilator genommen, bewirkt ein Anfassen mit dem Finger sehr wenig oder kaum etwas – diese (Full-Swing) Oszillatorbeschaltung fehlt in dem 328PB, insofern ist bei dem Versuch, den 328P damit zu ersetzen, Vorischt geboten, da hat schon so manch einer eine schöne Überraschung erlebt. Insofern ist das auch keine These oder Behauptung, sondern die Wirklichkeit – es steht aber jedem frei, diese zu ignorieren oder zu verdrängen, genauso wie es jedem freisteht, es selbst auszuprobieren, sofern er überhaupt dazu in der Lage ist, denn die meisten Arduinojünger können nicht einmal die Fuses umstellen.
Das passiert aber nicht durch Annäherung mit dem Finger, sondern durch richtiges Anfassen, denn – wie ich schon irgendwo oben schrieb – spielt die Änderung der Kapazität eher eine untergeordnete Rolle. Es ist der Widerstand des Körpers und die ganzen parasitären Spannungspotenziale, die hier ihre Wirkung voll entfalten können.
Kann man einen Quarz tatsächlich um mehr als 2% verstimmen?
Nein, man kann den Quarz an sich nicht verstimmen (für signifikante Frequenzänderungen müsste man ihn mechanisch verändern).
Aber man kann den Oszillator durcheinanderbringen, sodass er auf einer völlig anderen Frequenz oder nur mit 50 Hz schwingt. Oder im 50Hz takt mal mehr oder weniger gut schwingt.
Nein, man kann den Quarz an sich nicht verstimmen (für signifikante
Änderungen müsste man ihn mechanisch verändern).
Das war bis jetzt auch immer meine Annahme. Intermittierendes Aussetzen der Schwingung kann ich mir jedoch nicht nur gut vorstellen, sondern habe es bei falschen Kapazitäten auch schon erleben dürfen.
Nein, man kann den Quarz an sich nicht verstimmen (für signifikante
Frequenzänderungen müsste man ihn mechanisch verändern).
Aber man kann den Oszillator durcheinanderbringen (...)
Genau, das wäre dann noch etwas präziser ausgedrückt – das Bauteil 'Quarz' an sich verändert sich mit dem Anfassen nicht.
Intermittierendes Aussetzen
der Schwingung kann ich mir jedoch nicht nur gut vorstellen, sondern
habe es bei falschen Kapazitäten auch schon erleben dürfen.
Dann wurde die Betriebsart für den Quartz und/oder den Oszillator nicht eingehalten. Oder ein verkorkstes Layout verwendet.
Von beiden gibt es Datenblätter, die darüber Auskunft geben, wie der Betrieb und die Verschaltung erfolgen soll.
Ja, dann ist die Low-Power-Betriebsart für den Quartz eben die Falsche.
Nein, das einzige, was hier falsch ist, ist das Anfassen der Quarzbeinchen bzw. generell der Pins, die den Quarzoszillator betreffen, meistens seines Eingangs.
Dann wurde die Betriebsart für den Quartz und/oder den Oszillator nicht
eingehalten. Oder ein verkorkstes Layout verwendet.
Von beiden gibt es Datenblätter, die darüber Auskunft geben, wie der
Betrieb und die Verschaltung erfolgen soll.
Wir gehen hier im Thread von einer gut gelayouteten und richtig dimensionierten Oszillatorschaltung aus, aber wie ich schon sagte – jeder darf das selbst ausprobieren, statt nur zu theoretisieren oder zu labern.
Nein, das einzige, was hier falsch ist, ist das Anfassen der
Quarzbeinchen bzw. generell der Pins, die den Quarzoszillator betreffen,
meistens seines Eingangs.
Der TO redete jedenfalls nicht vom Anfassen der Beinchen! Siehe:
Noob A. schrieb im Beitrag #7623878:
wenn man
mit dem Finger in die Nähe der Kondensatoren am Quarz, oder auch dem
Quarz an sich gerät...
'in die Nähe' heißt für mich: noch nicht mal berühren!
'in die Nähe' heißt für mich: noch nicht mal berühren!
Weiß man nicht genau, vielleicht kam es ihm so vor, als hätte er es noch nicht berührt oder er hat es einfach als Übertreibung geschrieben, damit es mehr Aufsehen erregt. Bei mir musste es jedenfalls einen richtigen Hautkontakt geben – erst dann war die Arduino-Pro-Mini-Platine mit einem ATMEGA328P und richtig eingestellten Oszillator im Low-Power-Modus am spinnen.
Edit: ich habe es jetzt aus Neugier nochmal an dieser Platine ausprobiert – bei mir sind die Arduinopins 5+6 als PWM-Ausgänge aktiv geschaltet und wenn man mit Finger an den Quarz will, verbindet man 'aus Versehen' mit dem Finger das Gepulste an den Ausgängen mit dem Quarzpin und der µController läuft z.B. deutlich langsamer oder oder stürzt auch mal ab, d.h. hängt sich auf (durch einen FLASH-Lesefehler springt das Programm irgendwo in die Nirvana). Man kann es aber auch hervorrufen und reproduzieren, indem man mit einem Finger auf VCC ist und mit einem anderen den Quarzpin anfasst, vermutlich Eingang des Oszillators. Mit dem Oszillator im Full-Swing-Modus geht es deutlich schwieriger, man muss schon fester drücken, damit es passiert – dadurch sticht man nämlich ein wenig in die Haut und der Übergangswiderstand wird kleiner.
Ich habe auf die Schnelle bei zwei relativ robusten Eval-Boads (Arduino Uno und STM32 Nucleo) geschaut wie groß der Einfluss ist wenn man mit dem Finger den Quarz anfasst.
Es wird jeweils per PWM eine Frequenz von 1000 Hz erzeugt und diese dann gemessen, einmal ohne das Eval-Board anzufassen, das andere mal mit dem Finger die Pins des Quarz möglichst so anzufassen dass es den größten Einfluss auf die erzeugte Frequenz hat.
Ergebnis (die weiteren Stellen der Frequenz wurden weggelassen bei den die Anzeige nicht mehr stabil war):
1
- Arduino Uno (16 MHz Quarz)
2
3
1000.0193 Hz
4
1000.0137 Hz (mit Finger)
5
6
- STM32 Nucleo-F446RE (8 MHz Quarz)
7
8
999.9791 Hz
9
999.9665 Hz (mit Finger)
Bei diesen beiden Boards ist der Effekt wohl eher zu vernachlässigen.
Ich habe auf die Schnelle bei zwei relativ robusten Eval-Boads (Arduino
Uno und STM32 Nucleo) geschaut wie groß der Einfluss ist wenn man mit
dem Finger den Quarz anfasst.
Da müsstest Du noch dazuschreiben, in welchem Betriebsmodus der Oszillator des Arduinos sich befand – also ob Low-Power oder Full-Swing – und man weiß hier nicht, ob Du den Ausgang oder Eingang der Oszillatorschaltung mit dem Finger angefasst hast; möglichwerweise weißt Du es selbst gar nicht. Beim Nucleo kommt der 8MHz-Takt für den User-µC normalerweise aus dem ST-Link-µC (MCO), das ist zumindest bei dem F411RE so, d.h. am µC selbst ist überhaupt kein Quarz verbaut.
Noch eine Ergänzung zu meinem Test oben, weil ich dort nicht mehr editieren kann: mit dem Finger exakt nur den Pin (egal welchen) des Quarzes anzufassen scheint auf den ersten Blick (nur mit den Augen) nicht besonders zu stören – das müsste man sich aber genau mit einem Oszilloskop anschauen und vermessen.
Da müsstest Du noch dazuschreiben, in welchem Betriebsmodus der
Oszillator des Arduinos sich befand – also ob Low-Power oder Full-Swing
Fuses des Arduino Board:
1
Fuses:
2
EXTENDED (0b11111101):
3
BODLEVEL 0x5
4
5
HIGH (0b11011110):
6
RSTDISBL OFF
7
DWEN OFF
8
SPIEN ON
9
WDTON OFF
10
EESAVE OFF
11
BOOTSZ 0x3
12
BOOTRST ON
13
14
LOW (0b11111111):
15
CKDIV8 OFF
16
CKOUT OFF
17
SUT_CKSEL 0x3f
– und man weiß hier nicht, ob Du den Ausgang oder Eingang der
Oszillatorschaltung mit dem Finger angefasst hast; möglichwerweise weißt
Du es selbst gar nicht.
Spiel auch keine Rolle weil ich geschrieben habe "so anzufassen dass es den größten Einfluss auf die erzeugte Frequenz hat".
Beim Nucleo kommt der Takt für den User-µC normalerweise aus dem > ST-Link-µC, das ist zumindest bei dem F411RE so,
d.h. am µC selbst ist überhaupt kein Quarz verbaut.
Es geht um den Quarz am ST-Link (in diesem Fall ein STM32F103CBT6). Da es mir um das den Einfluss auf das 8 MHz Quarz bei diesem Nucleo Board geht passt die Messung.
Bei diesen beiden Boards ist der Effekt wohl eher zu vernachlässigen.
In Deinem Fall, in dem Raum, in dem Du Dich während des Messvorgangs gerade befandest, und mit Deinem Hautwiderstand zu diesem Zeitpunkt – woanders unter ganz anderen Bedingungen (Laminatboden, Widerstand der Haut ganz anders, PE-Führung oder generell die 230V-Leitungen anders verlegt, welche Verbraucher an diesem Netz gerade laufen, hochfrequente Signale im Raum, durchgeschwitzt usw) kann das Ergebnis ganz anders ausfallen.