Hallo Zusammen, das letzte mal als ich einen STM32F091 in Betrieb nehmen wollte bin ich richtig reingefallen und nichts hatte funktioniert. Da ich die Leiterplatte jetzt nun neu machen muss mit einem anderen Chip, wollte ich fragen ob jemand die Beschaltung des Kontrollers (siehe Anhang) kontrollieren könnte. Ich habe das ganze schon mit Datenblatt und Referenz Beispiel verglichen, aber ich möchte sicher gehen, dass in der Beschaltung nichts fehlt oder falsch angeschlossen ist. Vielen Dank für eure Hilfe :)
Ein Quarz ist sicher die bessere Wahl. Irgendwann wirst du den Keramik-Resonator bereuen. Bei manchen Arduinos fällt damit die Baudrate aus dem Rahmen. Die vielen hundert Euro die du da sparst .... Quarze sind einfach genauer.
Wo lernt man eigendlich solche Suchspiele als Schaltplan zu erstellen? 15 Bauteile, nichtmal zwei Verbindungen komplett gezeichnet, inkonsistente Label und manchmal nichtnal ein Hinweis, daß die Verbindung noch woanders hingehen soll. Kein Wunder, daß da Unsinn bei rauskommt.
jo mei schrieb: > Ein Quarz ist sicher die bessere Wahl. > > Irgendwann wirst du den Keramik-Resonator bereuen. Bei _manchen_ > Arduinos fällt damit die Baudrate aus dem Rahmen. Die vielen > hundert Euro die du da sparst .... Quarze sind einfach genauer. Danke für den Tipp, werd ich mir anschauen und einen passenden Quarz suchen.
Horst schrieb: > Wo lernt man eigendlich solche Suchspiele als Schaltplan zu erstellen? > 15 Bauteile, nichtmal zwei Verbindungen komplett gezeichnet, > inkonsistente Label und manchmal nichtnal ein Hinweis, daß die > Verbindung noch woanders hingehen soll. > Kein Wunder, daß da Unsinn bei rauskommt. Welche Verbindungen sind nicht komplett?
Moot S. schrieb: > Welche Verbindungen sind nicht komplett? NRST zum Beispiel. Auf der einen Seite mit Label, auf der anderen nicht. Ich habe auch lange gesucht. LEDx und BTNx scheinen auch ins Leere zu führen.
:
Bearbeitet durch User
zur Planung würde ich das in CubeMX eingeben, da sieht man schnell Konflikte wenn etwas nicht zusammenpasst. Für USB ist ein Quarz sicher besser, und in CubeMX sieht man auch ob die Frequenz passt. Habe gerade für einen F401 gewürfelt und da ist z.B. der 25 MHz suboptimal, und 12 MHz sind da auch besser als 8 MHz. Aber beim F103 mit max. 72 MHz könnte das passen. Wobei, den F401 habe ich auch schon mit 100 MHz übertaktet und er lief.
Wenn du USB verwendest würde ich einen Quarz oder Oszillator dem Resonator vorziehen. Quarz mit den 2 C´s ganz nah an den Controller, mit Massefäche drunter (+ Massefläche in einer Innenlage). Die I2C Pullups würde ich nur 4k7 oder bei längerer Verbindung sogar nur 2k2 machen (gibt "schönere" Signale). Die Stützkondensatoren direkt an jeden Stromversorgungspin, andere Seite der C´s direkt auf Massefläche durchkontaktieren. Für bessere EMV noch ein L in die Stromversorgung des µC. Resettaste nahe an den µC damit die Resetleitung kurz bleibt. Das gilt auch für die Programmierleitungen. SPI Leitungen evtl. Impedanz anpassen (kommt auf die SPI Geschwindigkeit und die Leiterbahnlänge an). Wenn SPI "rausgeführt" dann ESD Schutz nicht vergessen. Zu den Stützkondensatoren des µC mindestens noch einen 10µ Tantal oder Elko dazu. Wenn sonst noch Leitungen nach "aussen" gehen, Widerstände (33R) in die Leitungen schalten und ESD schützen.
Moot S. schrieb: > Vielen Dank für eure Hilfe Was will <H. B. (communicator9)> dir damit auch sagen? Lass dir dein Layout auf jeden Fall vorher anschauen bevor du die Leiterplatte machen lässt.
Moot S. schrieb: > das letzte mal als ich einen STM32F091 in Betrieb nehmen wollte bin ich > richtig reingefallen und nichts hatte funktioniert Soweit ich mitbekommen habe, ist der eigentliche Fehler noch nicht gefunden worden. Bleibe da am Ball, sonst passiert dir der gleiche Fehler irgendwann erneut und du stehst wieder doof da.
Johannes S. schrieb: > Für USB ist ein Quarz sicher besser Nicht nur besser, sondern Notwendig. Steht im Datenblatt.
Vielen Dank für die Vielen Tipps. Das mit dem Resonator war mir garnicht bewusst, dass die so schlecht sind. Ich habe nun einen Quarz rausgesucht: https://www.mouser.ch/ProductDetail/ECS/ECS-080-18-23G-JGN-TR?qs=HXFqYaX1Q2w96I4MjMnYbA%3D%3D Diesen würde ich dann mit 2 18pF X7R C's an den Kontroller anschliessen. Sollte passen? Die Pullups für die I2C Schnittstelle habe ich auf 2.2K geändert. Die SPI Schnittstelle sollte an den Rand des PCB geführt werden (ca. 30mm). Würdet ihr neben der Längenanpassung noch ein Stiching machen? Als Info noch, dass ganze wird dann ein kleines 9x9 Tastenfeld für Shortkeys. Die Tasten (CherryMx Blue Tasten) werden mit einem Schmitt Trigger entprellt und der uC sendet über USB die Tasten Kombinationen an den PC. Ich weiss es ist nur ein Hobby Projekt, aber ich möchte es sehr gut realisieren und neue Erfahrung sammeln. @communicator9 du scheinst sehr viel Erfahrung mit EMV zu haben. Darf ich dir das Layout senden wenn ich dann mal so weit bin?
Stefan ⛄ F. schrieb: > Soweit ich mitbekommen habe, ist der eigentliche Fehler noch nicht > gefunden worden. Bleibe da am Ball, sonst passiert dir der gleiche > Fehler irgendwann erneut und du stehst wieder doof da. Ja schlussendlich habe ich dem Support von ST geschrieben. Die waren so freundlich und haben sich das Schema und PCB angeschaut und haben keinen Fehler gefunden. Evtl. seien die Chips defekt vom Distributor.
Moot S. schrieb: > Welche Verbindungen sind nicht komplett? Alle. Deine Schaltung ist ja nun nicht grad sehr umfänglich. Also zeichne alle Netzlinien DURCH. Das heißt, daß du eben nicht am µC so ein paar Stoppeln mit oder ohne diese bläulichen Klötze malst, sondern die Klötze entfernst und stattdessen alle Leitungen durchzeichnest bis dorthin, wo sie überall hingehen sollen. So macht man das nämlich, wenn man sich selber vor den eigenen Schusselfehlern schützen will. Nochwas: Viele ungeübte Leute scheuen sich davor, ihre eigenen Schaltsymbole zu machen und benutzen deshalb irgend ein Zeugs, was sie von woanders hergenommen haben. Und oftmals - wie bei dir - ist dann ein µC ein dickes Viereck mit Stoppeln an (fast) allen Seiten. Wenn man sowas auf ein A4 Blatt plazieren will, dann reicht der Platz niemals aus für all das Andere, was da noch drauf muß. Sowas ist schlechter Stil sowohl bei den eingepflegten Bauteilen als auch folgend bei den damit gemachten Schematics. Deshalb ist es weitaus besser, Symbole für µC nur einseitig zu "bepinnen", damit man sie an den Rand rücken kann und damit mehr Platz für die eigentliche Schaltung auf dem Blatt zu haben. W.S.
Nimm einen Oszillator statt Quarz, dann hast du auch keine Probleme das er nicht anläuft. Ich gehe mal davon aus, dass du den Quarz berechnet hast?
Moot S. schrieb: > Diesen würde ich dann mit 2 18pF X7R C's an den Kontroller anschliessen. > Sollte passen? Nein. Das berechnet man anders. Die Pi mal Daumen Variante ist: 18pF * 2 - 10pF = 26pF (zwei mal) Die 18pF stehen im Angebot vom Quarz. Die musst du verdoppeln, weil die beiden Last-Kondensatoren in Reihenschaltung wirken. Davon wiederum subtrahiert man geschätzte 5pF die der Eingang des IC hat und weitere 5pF für die Leitungen.
W.S. schrieb: > Sowas ist schlechter Stil sowohl bei den eingepflegten Bauteilen als > auch folgend bei den damit gemachten Schematics. Deshalb ist es weitaus > besser, Symbole für µC nur einseitig zu "bepinnen", damit man sie an den > Rand rücken kann und damit mehr Platz für die eigentliche Schaltung auf > dem Blatt zu haben. > > W.S. Ähm diese Stoppeln nennen sich Ports... und diese Ports gehen auf andere Schemablätter wo dann der Rest der Schaltung ist.
Stefan ⛄ F. schrieb: > Moot S. schrieb: >> Diesen würde ich dann mit 2 18pF X7R C's an den Kontroller anschliessen. >> Sollte passen? > > Nein. Das berechnet man anders. Die Pi mal Daumen Variante ist: > > 18pF * 2 - 10pF = 26pF (zwei mal) > > Die 18pF stehen im Angebot vom Quarz. Die musst du verdoppeln, weil die > beiden Last-Kondensatoren in Reihenschaltung wirken. Davon wiederum > subtrahiert man geschätzte 5pF die der Eingang des IC hat und weitere > 5pF für die Leitungen. Oke wusste ich garnicht. Ich muss mich in das Thema mehr vertiefen!
Moot S. schrieb: > Ähm diese Stoppeln nennen sich Ports... und diese Ports gehen auf andere > Schemablätter wo dann der Rest der Schaltung ist. Lass dich nicht verunsichern er hat sowas vermutlich noch nie gesehen. Wenn ich mich nicht ganz täuschen sind die Pläne in Altium gemacht, das hat nicht jeder 😉 Wobei das mit Signal Harness und Bussen noch etwas übersichtlicher geht. Aber das würde ich als meckern auf hohem Niveau bezeichnen 😂
Moot S. schrieb: > und nichts hatte funktioniert Hi was genau bedeutet "nichts"? Auch wenn ich mich hier lächerlich mache, aber irgendwas ist mir nicht so ganz klar. Ich kenne mich mit Bootloader nicht sonderlich gut aus. Du setzt Boot0 hart auf GND, was bedeutet, dass der Bootloader nach Reset im Flash Speicher den Code ausführen soll. Zeigt deine vector table auf die richtige Addresse? Wenn du dein Flasher Programm öffnest und mit dem MCU verbindest, siehst du die Flash Adresse? System memory (Boot0=1, Boot1=0) ist 0x80000000 Flash memory (Boot0=0, Boot1=X) müsste 0x08000000 sein? Oder bin ich hier auf dem völlig falschen Dampfer? Gruß,
H. B. schrieb: > Wenn SPI "rausgeführt" dann ESD Schutz nicht vergessen. Und natürlich auch fürs USB nicht vergessen. Wenn das Ding in der wirklichen Welt arbeiten soll, ist ESD Schutz auch für die BTN keine schlechte Idee.
Alex -. schrieb: > Zeigt deine vector table auf die richtige Addresse? Wenn du dein Flasher > Programm öffnest und mit dem MCU verbindest, siehst du die Flash > Adresse? > > System memory (Boot0=1, Boot1=0) ist 0x80000000 > > Flash memory (Boot0=0, Boot1=X) müsste 0x08000000 sein? > > Oder bin ich hier auf dem völlig falschen Dampfer? Deine Vermutung mit der Vektor Tabelle ist gut und ich würde es auch gerne Testen aber ich komme nicht mal so weit, ich kann mich im STM32CubeProgrammer garnicht verbinden.
Matthias S. schrieb: > Und natürlich auch fürs USB nicht vergessen. Wenn das Ding in der > wirklichen Welt arbeiten soll, ist ESD Schutz auch für die BTN keine > schlechte Idee. ESD Schutz beim USB, Speisung, SPI habe ich umgesetzt. Bei den Buttons bin ich mir noch unsicher ob ich etwas machen soll. Die Schaltung der Buttons sieht bis jetzt so aus (siehe Anhang). Der Button ist an einem Schmitt Trigger (ich löse das mit OP's weil ich im Elektroschrott mal eine volle Rolle gefunden habe und diese jetzt mal brauchen möchte ^^) angeschlossen für eine saubere Entprellung. Braucht es da noch eine TSV Diode?
Moot S. schrieb: > Die Schaltung der > Buttons sieht bis jetzt so aus (siehe Anhang). Ich weiss das Schema Symbol hätte man noch schöner machen können. Ich ändere das dann noch.
:
Bearbeitet durch User
Moot S. schrieb: > Moot S. schrieb: >> Die Schaltung der >> Buttons sieht bis jetzt so aus (siehe Anhang). > > Ich weiss das Schema Symbol hätte man noch schöner machen können. > Ich ändere das dann noch. Das OP Symbol im IC300 ist verkehrtrum. Damit ein OP als Schmitt Trigger arbeitet musst du den invertierenden Eingang auf GND legen. Ich würde aber die Tasten direkt in den µC einlesen. Mit 10k Pullups und die Taste schaltet dann nach GND. Noch einen 100nF Kondensator und eine ESD Schutzdiode parallel zum Taster und das ist dann entprellt und geschützt. Tasten die VDD durchschalten können einfacher durch Störimpulse ausgelöst werden, besser ist es gegen GND zu schalten. Klar kannst du dein Layout posten und ich schau mal drüber. Verwendest du auch Altium?
H. B. schrieb: > Moot S. schrieb: >> Moot S. schrieb: >>> Die Schaltung der >>> Buttons sieht bis jetzt so aus (siehe Anhang). >> >> Ich weiss das Schema Symbol hätte man noch schöner machen können. >> Ich ändere das dann noch. > > Das OP Symbol im IC300 ist verkehrtrum. > Damit ein OP als Schmitt Trigger arbeitet musst du den invertierenden > Eingang auf GND legen. > > Ich würde aber die Tasten direkt in den µC einlesen. > Mit 10k Pullups und die Taste schaltet dann nach GND. > Noch einen 100nF Kondensator und eine ESD Schutzdiode parallel zum > Taster und das ist dann entprellt und geschützt. > Tasten die VDD durchschalten können einfacher durch Störimpulse > ausgelöst werden, besser ist es gegen GND zu schalten Wenn du viele Tasten einlesen willst, solltest du dir mal eine Matrix überlegen. Wenn die Tasten weit weg vom µC sind, kannst du die auch mit einem parallel/seriell Wandler IC einlesen und dann per SPI oder I2C zum Controller übertragen (spart Leitungen). > > Klar kannst du dein Layout posten und ich schau mal drüber. > Verwendest du auch Altium?
Ich habe den invertierenden Eingang auf GND gelegt, da ich den Schmitt Trigger als Nichtinvertierend verwenden möchte (Habe ich auf dem Breadboard schon getestet und funktioniert sehr gut). Ich verwende die aber nur weil ich sie mal benutzen möchte. Finde diese Anwendung besser wie in der Freizeit Allpass Filter zu designen ^^ Hätte ich diese OP's nicht rumliegen würde ich die Tasten auch anderst entprellen. Mir ist gerade aufgefallen, dass wenn ich den Taster zu GND schliessen lasse ich den Schmitt Trigger auch als Invertierend betreiben kann. Dann Teste ich dies und werde es im Schema noch ändern. Ja ich verwende auch Altium.
H. B. schrieb: > Wenn du viele Tasten einlesen willst, solltest du dir mal eine Matrix > überlegen. > > Wenn die Tasten weit weg vom µC sind, kannst du die auch mit einem > parallel/seriell Wandler IC einlesen und dann per SPI oder I2C zum > Controller übertragen (spart Leitungen). Habe ich mir auch schon überlegt. Habe mich dann aber entschieden, alle Pins einzeln einzulesen, dafür mit Interrupt. Mit einem guten Chip hätte man das auch machen können. Ich bleibe aber mal bei diesem Konzept.
Moot S. schrieb: > Ich habe den invertierenden Eingang auf GND gelegt, da ich den Schmitt > Trigger als Nichtinvertierend verwenden möchte (Habe ich auf dem > Breadboard schon getestet und funktioniert sehr gut). > Ja aber in deinem Schaltplan weiter oben ist das nicht gemacht. Und im Symbol der OP´s in dem Schaltlan (IC300) stimmen die invertierenden und nichtinvertierenden Eingänge nicht mit den Pinnummern des IC´s überein.
Moot S. schrieb: > Ich weiss das Schema Symbol hätte man noch schöner machen können. > Ich ändere das dann noch. Das war das was ich gemeint habe die Pins stimmen schon aber das Symbol in der Mitte ist auf dem Kopf. Und ja stimmt IN1- ist nicht angeschlossen :/
H. B. schrieb: > Noch einen 100nF Kondensator und eine ESD Schutzdiode parallel zum > Taster und das ist dann entprellt und geschützt. 100nF ist allerdings viel zu gross, wenn der Kondensator direkt parallel am Taster liegt. Immerhin schliesst der Taster den C beim Drücken kurz und es fliesst ein erklecklicher Strom. (Kostet auch Energie). Kleine C wie 2,2nF - 10nF reichen auch, evtl. noch ein kleiner Serienwiderstand Richtung MC. (100-470Ohm).
Matthias S. schrieb: > H. B. schrieb: >> Noch einen 100nF Kondensator und eine ESD Schutzdiode parallel zum >> Taster und das ist dann entprellt und geschützt. > > 100nF ist allerdings viel zu gross, wenn der Kondensator direkt parallel > am Taster liegt. Immerhin schliesst der Taster den C beim Drücken kurz > und es fliesst ein erklecklicher Strom. (Kostet auch Energie). > Kleine C wie 2,2nF - 10nF reichen auch, evtl. noch ein kleiner > Serienwiderstand Richtung MC. (100-470Ohm). Dass da ein wenig mehr Strom fliesst als nötig hat schon seinen Sinn. Wenn Tasten älter werden und nur immer extrem wenig Strom fliesst beim Betätigen schalten sie nicht mehr einwandfrei.
H. B. schrieb: > Wenn Tasten älter werden und nur immer extrem wenig Strom fliesst beim > Betätigen schalten sie nicht mehr einwandfrei. Das stimmt schon, aber 100nF sind einfach zu viel. Wers richtig gut meint, nimmt 22nF, aber auch 1nF oder 10nF sind sehr brauchbar.
Beitrag #6410551 wurde vom Autor gelöscht.
Beitrag #6410554 wurde vom Autor gelöscht.
Beitrag #6410565 wurde vom Autor gelöscht.
So nach dem 4. Mal... Ich hab die Schaltung der Buttons vereinfacht und angepasst. Ich möchte versuchen die Optimale Schaltung zu machen. Sorry hatte Probleme mit dem Bild hochladen.
Wenn du in Sachen ESD ganz sicher gehen willst, dann verbinde die zweite ESD Diode nicht mit GND sondern mit der Kathode der LED. Und setz noch eine ESD Schutzdiode an die 3,3V (reicht nur eine nahe der Tasten, brauchst nicht für jede Taste eine). Wenn die Tasten durch die Entprellung zu träge reagieren, dann kannst du den 100R und den 100nF noch entsprechend anpassen. Wenn der MOFET auch auf einer externen Leiterplatte bei den Tasten sitzt, dann noch einen Widerstand in die Gate Leitung und eine ESD Schutzdiode ans Gate.
H. B. schrieb: > Wenn du in Sachen ESD ganz sicher gehen willst, dann verbinde die zweite > ESD Diode nicht mit GND sondern mit der Kathode der LED. > Und setz noch eine ESD Schutzdiode an die 3,3V (reicht nur eine nahe der > Tasten, brauchst nicht für jede Taste eine). > Wenn die Tasten durch die Entprellung zu träge reagieren, dann kannst du > den 100R und den 100nF noch entsprechend anpassen. > Wenn der MOFET auch auf einer externen Leiterplatte bei den Tasten > sitzt, dann noch einen Widerstand in die Gate Leitung und eine ESD > Schutzdiode ans Gate. Meinst du so etwa?
Moot S. schrieb: > H. B. schrieb: >> Wenn du in Sachen ESD ganz sicher gehen willst, dann verbinde die zweite >> ESD Diode nicht mit GND sondern mit der Kathode der LED. >> Und setz noch eine ESD Schutzdiode an die 3,3V (reicht nur eine nahe der >> Tasten, brauchst nicht für jede Taste eine). >> Wenn die Tasten durch die Entprellung zu träge reagieren, dann kannst du >> den 100R und den 100nF noch entsprechend anpassen. >> Wenn der MOFET auch auf einer externen Leiterplatte bei den Tasten >> sitzt, dann noch einen Widerstand in die Gate Leitung und eine ESD >> Schutzdiode ans Gate. > > Meinst du so etwa? Perfekt, jetzt kann die ESD Pistole loslegen :)
Was haltet ihr von diesem Quarz: https://www.mouser.ch/ProductDetail/ECS/ECS-80-16-28AX-TR?qs=CkbNAJEAr%2FQZWdfdY2ppSQ%3D%3D Für mich wäre der lieber vom Footprint her. Kondensatoren habe ich wie oben beschreiben abgeleitet und würde diese nehmen: https://www.mouser.ch/ProductDetail/AVX/08055A220JAT2A?qs=owscpGBW86WTFbKrxpDmHA%3D%3D 22pF C0G 0805 5% Denke das sollte reichen oder?
Moot S. schrieb: > Was haltet ihr von diesem Quarz: > > https://www.mouser.ch/ProductDetail/ECS/ECS-80-16-28AX-TR?qs=CkbNAJEAr%2FQZWdfdY2ppSQ%3D%3D > > Für mich wäre der lieber vom Footprint her. > Kondensatoren habe ich wie oben beschreiben abgeleitet und würde diese > nehmen: > https://www.mouser.ch/ProductDetail/AVX/08055A220JAT2A?qs=owscpGBW86WTFbKrxpDmHA%3D%3D > > 22pF C0G 0805 5% > > Denke das sollte reichen oder? Jepp.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.