Forum: Mikrocontroller und Digitale Elektronik Universalplatine für STM32, grobe Fehler vor der Herstellung?


You were forwarded to this site from EmbDev.net. Back to EmbDev.net
von Malte _. (malte) Benutzerseite



Lesenswert?

Hallo,
ich habe mir eine Platine geroutet, die möglichst alles abdecken soll, 
was ich zum Experimentieren brauche.
Vielleicht findet jemand ja grobe Fehler, die ich übersehen habe.

Für die ersten drei gefundenen und nachvollziehbaren Fehler zahl ich 5€ 
an den ersten (daher bitte nicht per PN), der ihn meldet per Überweisung 
(hab kein Paypal). Oder stattdessen auf Wunsch eine der Leerplatinen (da 
gibt es aber maximal eine, also kann die auch nur an einen gehen).
Also in erster Linie falsch oder nicht angeschlossene Bauteile. 
Beispielsweise habe ich erst beim Beschriften der Buchsenleiste gemerkt, 
dass die Leitung zum Einschalten von LCD und Flash schlicht fehlte. Und 
bei einer anderen Platine habe ich Vin und Vout des Spannungsreglers 
vertauscht, so dass dieser statt 3.3V beim Anschließen nur ein 
Rauchwölkchen produzierte - sowas ist ärgerlich.
Was nicht zählt ist alles was sich per Software fixen lässt, oder wenn 
die Schaltung nicht bei >50°C funktioniert oder sich der Akku nur 
langsam laden lässt o.ä. Es muss nicht perfekt sein und bleibt ein 
Hobbyprojekt.

Dass ich die Taster verlängern muss um auf die gleiche Höhe wie das LCD 
zu kommen weiß ich, da gab es keine längeren. Ebenfalls muss ich den 
gelieferten RS232 Levelkonverter überprüfen, da mir nicht klar ist, 
welche SMD Bauform Reichelt da eigentlich verkauft (und hier hat es 
Reichelt jetzt geschafft von zwei bestellten, einen mit verbogenen Pins 
zu liefern).
Das ganze Projekt gibt es auch hier
https://github.com/Solartraveler/UniversalboxArm
falls sich jemand lieber Kicad Dateien statt jpgs und pdfs anschauen 
möchte.

Die Bauteile für ein Exemplar habe ich trotz Chipknappheit inzwischen da 
:) Eigentlich wollte ich einen STM32F412 oder STM32F13 einsetzen (da 
hatte ich auch ein Nucleo Board vorher gekauft), aber die waren schon im 
April ausverkauft und die STM32L die einzigen noch verfügbaren mit 
genügend RAM und passendem Gehäuse - inzwischen gibt es auch die erst 
wieder nächstes Jahr ;)

von Volker (_volker)


Lesenswert?

Hallo,

erster Fehler: Schaltplan unleserlich.
zweiter Fehler: Auf early-back-layout.jpg sind Masseinseln ohne Bezug.
Bekomme ich jetzt die 10€?
Brauchst Du meine Kontonummer?

 ;-)

: Bearbeitet durch User
von Malte _. (malte) Benutzerseite


Lesenswert?

Volker P. schrieb:
> erster Fehler: Schaltplan unleserlich.
Sorry, nur weil die Vorschau nicht lesbar ist, das zählt nicht.

> zweiter Fehler: Auf early-back-layout.jpg sind Masseinseln ohne Bezug.
Alle Masseinseln auf der Rückseite sind mit Vias auf der Frontseite mit 
Masse verbunden. Ich habe versucht das zwar zu vermeiden, aber das ging 
nicht komplett. Komplette Inseln zeigt Kicad auch als "Unverbunden" an. 
Wenn du natürlich hier eine findest, die Kicad durch einen Bug übersehen 
hat, wäre mir das 5€ wert.

von Erwin (Gast)


Lesenswert?

Ja der Schaltplan ist irgendwie etwas überkompliziert. Bist du sicher, 
dass du all die Schutzdioden benötigst? Gefühlt sind 50% der Komponenten 
nicht notwendig ...

Aber mal ehrlich: Zweiseitig bestückt und dann nur 2 Layer!? Vierlagig 
kostet ja inzwischen selbst in DE nicht mehr so viel mehr ...

von drm (Gast)


Lesenswert?

der Schaltplan ist undurchsichtig ( Funktionen sind nicht klar 
strukturiert, Funktionsziel nicht klar beschrieben )
Ich stimme zu, das geht einfacher

in der BOM fehlen Lieferant und Artikelnummer

in der 3D Ansicht fehlen 3D Modelle von Bauteilen

das Routing der PCB ist gruselig (ich stimme den 4 Lagen zu und 
einzseitige Bestückung)
keine ausreichende Menge an Testpunkten oder strukturierter Silkscreen
das Design musste wohl auf Teufel komm raus in ein Gehäuse passen und 
schnell fertig werden
Polung bei der Stromversorgung nicht im Silkscreen
Wärmefallen an Powerbuchse mit zu schmalen Stegen wenn darüber auch der 
Motor versorgt wird
mit der 3D Ansicht kann man gut Werbung machen, für ein Layout Review 
wäre eine 2D Ansicht passender
die Motor PWM wird dir so was von ins Board strahlen

die unterstützten Display Typen sind nicht ausreichend spezifiziert

Peripheriekomponenten wie z.B. Motoren für H-Brücke nicht definiert

das "Universal" erschliesst sich nicht, entweder man kann alles mit dem 
Desing machen (kann man nicht), oder die Platine wurde für einen 
definierten Zweck erstellt, der nicht ersichtlich ist.
Je nach verwendeter CPU schliessen sich Funktionen aus, also nicht 
universal.

Wofür die 2. CPU ? Nicht genug IOs an CPU1 ?

Investiere die Debug Prämie in Revision 2.0, mache mich stolz ...

von Michael F. (Firma: IAR Systems) (michael_iar)


Lesenswert?

Moin,

folgt der Debug-Stecker J60 einem Standard oder könnte eventuell so was 
wie MIPI-10 kleiner und gebräuchlicher sein?

Falls D60 für das Debugging über R62 / R63 abgetrennt wird, dann sind 
SWDIO / SWCLK floating, wenn der ST-Link nicht gesteckt ist.

App-Note AN2867 von ST würde Empfehlungen geben, wie Quarze am STM32 
angeschlossen werden können / sollen. Direkt und ohne Widerstände ist 
etwas "übersichtlich"...

Ist die Flussspannung von rot und grün für D60 und D61 nah genug 
beieinander, dass beide Farben sinnvoll mit 330R betrieben werden 
können?

Was ist mit "or I2C" bei PC0 gemeint und falls da wirklich I2C drüber 
laufen soll, wo sitzen die Pull-Ups?

Gruß,
Michael

: Bearbeitet durch User
von Flip B. (frickelfreak)


Lesenswert?

Der ESP01 kann mit dieser schaltung nicht aus dem sleep erwachen, da rst 
hart an vcc gebunden ist.

von MiWi (Gast)


Lesenswert?

Malte _. schrieb:
> Hallo,
> ich habe mir eine Platine geroutet, die möglichst alles abdecken soll,
> was ich zum Experimentieren brauche.
> Vielleicht findet jemand ja grobe Fehler, die ich übersehen habe.
>

Wenn Masseflächen dann wenigstens so das nicht 100er Stabantennen daraus 
werden.

Bei C60 scheint ein Via im Pad zu sitzen, nicht so lustig beim 
Reflowlöten wenn das Via das Lötzinn absaugt das C60 braucht.

Die Anbindng von C60 an den uC ird zwar funktionieren doch ordentlich 
im Sinn eines Entkoppel-Cs ist das nicht.

Das Lyout um Q24 ist auch alles andere als optimal, vor allem die beiden 
Cs brauchen möchten gerne eine kurze GNDVerbidung mit dem uC haben. C69 
ist Meilenweit davon entfernt.

J91, J110 und der IR-Empfänger blockieren einander wenn Du an J91 und 
J110 gleichzeitig Kabel anstecken willst.

eine 3-Loch-Befestigung in einem Gehäuse verursacht immer mech. 
Spannungen wenn man Kabel ansteckt. Kerkos mögen das nicht, ich würde 
daher einen anderen Platz für den Versorgungsstecker suchen und dort das 
4. Befestigungsloch setzen. Dann wackelt die Platine am Tisch auch nicht 
so herum wenn Du sie noch ohne Gehäuse betreibst.


Solch hingerotzten Schaltplän kommentiere ich nur um zu zeigen was 
hingerotzt ist. Eine Analyse oder gar Vorschäge wie man es anderes 
machen könnte (das Versorgungskonzept sieht reichlich 
Verbesserungswürdig aus) mache ich unter solchen Voraussetzungen nicht.


* alles sehr unübersichtlich auf eine Schaltplanseite gepappt,
* Verbindungen durch den Text überlagert
* Text in Bauteilen  (D65...)
* Spagetthiverbindungen rechts vom uC oder in der H-Brücke,
* chaotischen Refdes (R62, R65) usw usf
* unterschiedliche Netznamen für die gleichen Netze
* Die Motorbrücke und VDC wird Dir noch viel Ungemach verursachen wenn 
Motoren gebremst werden und so als Generator arbeiten... die Transzorb 
wird da nicht ausreichend sein.
*usw usf

von Mike (Gast)


Lesenswert?

Hallo

Ich kann nur über das Layout grob etwas sagen.
Über das Routing selbst kann ich nichts sagen.
Der Schaltplan ist unleserlich.
Im Schaltplan gibt man an bei:
R z.B.: 3.9K 1% 100ppm 1/16W
C: z.B.: 470nF 50V 10% X7R
IC: den exakten Herstellerbezeichner
In der BOM zusätzlich die package-Form(z.B. 0603, SO8, ect.)

Layout:
1. Fiducial-Marks fehlen
2. Layer-Stack fehlt z.B.: auf Top:1, auf Bot 2, oder bei 4-Layer: 
1,2,3,4
3. Besser 4 Layer: Top, Inner1(GND), Inner2(power-planer, signal), Bot
4. Besser einseitige Bestückung
5. Besser nur SMD-Bauteile verwenden
6. Bestückungsaufdruck: Pin1 bei ICs, Kathode-Strich(bzw. Punkt) 
sichtbar, sodass nach Bestückung auch sichtbar ist.
7. Bei Stiftleisten auf welche ein Flachbandkabel angesteckt wird
ist es sinnvoll den Pin 1 mit Bestückungsdruck zu kennzeichnen.(wegen 
dem Flachbandkabel mit seiner roten Leitung(geht zu Pin1) und dem 
richtigen anstecken)


Bitte kein Geld.
LG
Mike

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

Mike schrieb:
> Ich kann nur über das Layout grob etwas sagen.
> Über das Routing selbst kann ich nichts sagen.
Weil man nur die fertige Platine sieht, und nicht das mehrfarbige 
"Durchlichtbild", wie der Layouter es sieht.

> Der Schaltplan ist unleserlich.
Du musst das PDF öffnen. Aber trotzdem müssen im Schaltplan nicht die 
Pinnamen und Pinnummern z.B. eines GND-Symbols angezeigt werden. Es 
dürfte klar sein, dass ein GND-Symbol einen Pin mit der Nummer 1 hat, 
der GND heißt.

Malte _. schrieb:
> oder wenn die Schaltung nicht bei >50°C funktioniert
Man darf die Schaltung also nicht am Fenster in der Sonne liegen lassen? 
Dann hast du nämlich ratzfatz 50°C im Gehäuse.

Wo ich mir so die Feedbackleitung deines Schaltreglers ansehe, noch ein 
Tipp: sieh dir unbedingt das Datenblatt zum Schaltregler nochmal an. 
Dort besonders das Kapitel "5.11 PCB Layout Information" des kleinen 
MHz-Biests. Und vom Layoutvorschlag auf der Seite 21 solltest du nur 
abweichen, wenn du ganz genau weißt, was du tust.

Die Kondensatoren am Schaltregler werden überigens NICHT mit Thermals an 
GND angebunden, sondern liegen satt im Kupfer. Ich würde die 
Eingangskondensatoren auch etwas geräumiger wählen als nur 10µF. Denn 
der Schaltregler an sich braucht wegen der hohen Schaltfrequenz 
natürlich nur 10µF. Es kann aber sein, dass deine Schaltung mehr 
braucht, z.B. zur kurzzeitigen Pufferung der Eingangsspannung.

: Bearbeitet durch Moderator
von W.S. (Gast)


Lesenswert?

Du versuchst, dir eine Art eierlegende Universal-Woll-Milch-Sau zu 
kreieren. Das sehe ich als einen Fehler an, denn schon nach recht kurzer 
Zeit wirst du merken, daß deine Platine zu umfänglich geworden ist und 
du für das nächste Bastelprojekt die Hälfte der BE wieder ablöten und 
gegen einen Urwald von Hilfsdrähten eintauschen mußt.

Mein Rat: Weniger ist manchmal mehr, also reduziere die Größe deiner LP 
und deiner Schaltung. Was bleiben sollte, ist:
- der Controller selbst
- Stromversorgung
- Programmieranschluß
- Boot-Mode Beschaltung
sowie ferner (ggf.):
- EEPROM
- Tasten- und Drehgeber-Anschluß
- Display-Anschluß

Ob du nun analog zu diversen Minimal-Boards alle Contollerpins an den 
Rand der LP führst und dort den Draht-Verhau beginnen läßt oder 
alternativ dir eine Anzahl von Bandkabel-Anschlußbuchsen für diverse 
mögliche Peripherie-Anschlüsse einfallen läßt und sowohl Display als 
auch Tasten etc. fest auf der LP plazierst (so, daß die LP als 
Geräte-Frontplatte geeignet ist), ist deinem Gusto überlassen.

Und nein, ich benötige keine LP von dir.

W.S.

von Bauform B. (bauformb)


Lesenswert?

Malte _. schrieb:
> Dass ich die Taster verlängern muss um auf die gleiche Höhe wie das LCD
> zu kommen weiß ich, da gab es keine längeren.

Die Serie FSM von Alcoswitch gibt es in diversen Längen bis zu 17mm, 
z.B. bei Bürklin oder Mouser.
 * Ich finde den 100n am NRST-Pin nicht.
 * Rechne die Strommessung mit R21 bis R24 mal nach, inkl. Toleranzen. 
Es gibt kleine, pflegeleichte Current Sense Amplifier, z.B. MAX44284x.
 * PA4 und PA5 sind meistens nicht 5V-tolerant. Das erhöht über R28 den 
Standby-Verbrauch.
 * Kaum jemand möchte auf die SWD-Pins verzichten. Ich komme dank 
integriertem Bootloader ohne die aus. Aber der Bootloader schaltet bei 
vielen Pins Pull-Up oder -Down ein. Man muss bei jedem Pin aufpassen, 
dass dabei nicht ein Motor unkontrolliert los läuft. Oder dass man einen 
Pin "falsch" ansteuert und der Bootloader nicht funktioniert. Mit einer 
Universalplatine wird das eine echte Herausforderung, weil die benutzten 
Pins und Pulls bei jedem Chip anders sind.

von PittyJ (Gast)


Lesenswert?

Hätte man da nicht gleich ein fertige Platine kaufen können:
NUCLEO-H743ZI2

https://de.rs-online.com/web/p/entwicklungstools-microcontroller/1939787

Da kann man wunderbar alles anstöpseln (ich habe SPI und I2C Sensoren 
dran), ist universal, und funktioniert.

von W.S. (Gast)


Lesenswert?

PittyJ schrieb:
> Hätte man da nicht gleich ein fertige Platine kaufen können...

Na klar, man hätte das ganze Problem auch einem Ingenieurbüro in Auftrag 
geben können und sich in der Zwischenzeit auf dem Balkon sonnen.

W.S.

von Malte _. (malte) Benutzerseite


Angehängte Dateien:

Lesenswert?

Okay, da gab es ja recht viel Feedback von wenig hilfreich (3D Modelle 
fehlen, kein Einsatzzweck, unpassender Name) bis wirklich gut.

Schaltpläne werde ich zukünftig besser strukturieren, das fällt einem 
selbst einfach nicht beim Zusammenstellen auf, da man ja weiß wo was 
ist. Bisher waren alle meine Schaltungen deutlich einfacher. Die 
hierarchischen Schaltpläne in Kicad hätte ich mir vorher genauer 
anschauen sollen.

Der Konsens zu "besser 4-Lagig" ist recht eindeutig, das werde ich dann 
ändern.

Lothar M. schrieb:
> Wo ich mir so die Feedbackleitung deines Schaltreglers ansehe, noch ein
> Tipp: sieh dir unbedingt das Datenblatt zum Schaltregler nochmal an.
> Dort besonders das Kapitel "5.11 PCB Layout Information" des kleinen
> MHz-Biests. Und vom Layoutvorschlag auf der Seite 21 solltest du nur
> abweichen, wenn du ganz genau weißt, was du tust.
Ja, den Layoutvorschlag hatte ich versucht soweit wie möglich zu 
befolgen. Ich hab den Ausschnitt mal vergrößert und gedreht um ihn 
besser vergleichen zu können. Den 10Ohm Widerstand hatte ich 
weggelassen, da der laut Beschreibung nur fürs Nachmessen an dem 
Testpunkt notwendig ist. Warum die Verbindung zu Dr durch zwei Vias 
führt hat sich mir nicht erschlossen.

> Die Kondensatoren am Schaltregler werden überigens NICHT mit Thermals an
> GND angebunden, sondern liegen satt im Kupfer.
Ich denke das ist auch bei mir der Fall?

> Ich würde die
> Eingangskondensatoren auch etwas geräumiger wählen als nur 10µF. Denn
> der Schaltregler an sich braucht wegen der hohen Schaltfrequenz
> natürlich nur 10µF. Es kann aber sein, dass deine Schaltung mehr
> braucht, z.B. zur kurzzeitigen Pufferung der Eingangsspannung.
Okay, das ändere ich.

Bauform B. schrieb:
> Aber der Bootloader schaltet bei
> vielen Pins Pull-Up oder -Down ein. Man muss bei jedem Pin aufpassen,
> dass dabei nicht ein Motor unkontrolliert los läuft. Oder dass man einen
> Pin "falsch" ansteuert und der Bootloader nicht funktioniert.
Autsch, ja das hätte ich mindestens für den primär angedachten STM32L4 
überprüfen müssen... Zwei gleichzeitig gesetzte ChipSelects wären fatal. 
Wenn du möchtest überweise ich dir die 5€.

MiWi schrieb:
> eine 3-Loch-Befestigung in einem Gehäuse verursacht immer mech.
> Spannungen wenn man Kabel ansteckt. Kerkos mögen das nicht, ich würde
> daher einen anderen Platz für den Versorgungsstecker suchen und dort das
> 4. Befestigungsloch setzen.
Okay, daran hatte ich nicht gedacht. Ich versuche das mit 
unterzubringen, da sollte bei 4 Layer ja mehr Platz für Bauteile 
vorhanden sein. Was mir in dem Zusammenhang mehr Sorge bereitet, ist die 
mechanische Spannung durch den Batteriehalter. Der biegt sich, jetzt wo 
ich ihn hier habe, ohne PCB beachtlich und das wird eingelötet sicher 
nicht verschwinden.

> * Die Motorbrücke und VDC wird Dir noch viel Ungemach verursachen wenn
> Motoren gebremst werden und so als Generator arbeiten... die Transzorb
> wird da nicht ausreichend sein.
Hmm, was brauche ich da denn?

Michael F. schrieb:
> folgt der Debug-Stecker J60 einem Standard oder könnte eventuell so was
> wie MIPI-10 kleiner und gebräuchlicher sein?
Der Stecker erlaubt eine 1:1 Verbindung zu dem auf einem Nucleo 
verbauten Debugger. Das hatte ich mit einer deutlich einfacheren selbst 
entwickelten Platine auch erfolgreich getestet. MIPI-10 bringt mir 
nichts, da ich privat wohl nie einen passenden Debugger haben werde.

von Jakob L. (jakob)


Lesenswert?

Noch ein kleiner Verbesserungsvorschlag für das anstehende Redesign mit 
4 Layern: So ein riesiges THT-Quarz (Y60) ist nicht mehr wirklich 
zeitgemäß, ein SMD-Quarz (Bauform z.B. 5032) tut es auch.

Zu dem Batteriehalter und der Biegung: Bei den aktuellen Platinenpreisen 
z.B. bei jlcpcb kann man es sich auch mal leisten, nur zum Testen für 
ein potentiell problematisches Bauteil/Footprint eine Testplatine machen 
zu lassen. Am besten macht man so was früh in der Design-Phase so dass 
man keinen teuren Express-Versand braucht und noch eine Alternative 
finden kann falls es nicht passt.

Und noch eine ganz andere Frage: Gibt es einen Grund, warum noch die 
3.0er Version der CC-BY-SA Lizenz verwendet wird und nicht 4.0? Oder ist 
das einfach von früheren Projekten immer weiter kopiert worden?

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
Noch kein Account? Hier anmelden.