Sie erhalten Ihre Leiterplatte vom Hersteller zurück. Es ist ein neues Design, Sie haben natürlich alle wichtigen Teile mit Brot bestückt, aber Sie wissen, dass es Probleme geben wird. Es gibt einfach zu viele Dinge, die Probleme verursachen können, zB:
- Fehler im Schaltplan
- Fehler im Layout, vom ERC / DRC nicht gefunden
- Versetzte Teile beim Löten
- Shorts und ähnliches beim Löten
- eine beliebige Kombination der oben genannten
Ich hatte in letzter Zeit zwei relativ komplexe Platinen, bei denen ich nach dem Zusammenbau im Grunde genommen die gesamten Platinen entvölkern musste, um den Fehler zu lokalisieren. Ich habe die Fehler gefunden, aber die Bretter waren Schrott.
Ich habe versucht, mit dem Nötigsten an Teilen und den Teilen zu beginnen, die nicht von Hand gelötet werden können (ich verwende Paste, Schablone und Toaster). In der Regel sind dies die MCU, der JTAG-Anschluss und einige Kondensatoren. Dann bevölkere ich nach und nach andere Gebiete und überprüfe sie auf Probleme.
Dieser Ansatz funktioniert, ist aber sehr langsam. Ich muss auch jeden Code auskommentieren / kommentieren, der das Vorhandensein einer bestimmten Hardware voraussetzt.
Hat jemand Tipps / Vorschläge, wie man sich neu gestalteten Leiterplatten nähert?
EDIT: Ich denke hauptsächlich an die Art von Problemen, die Ihr Board tot lassen, wie versteckte Power-Rail-Shorts oder alles, was die MCU kaputt macht.
quelle
Antworten:
Ich habe entschieden, dass das vorzeitige Breadboarden Zeitverschwendung ist, es sei denn, es gibt Aspekte der Leistung eines Teils, die Sie selbst messen müssen.
Ich denke sogar, dass es Zeitverschwendung ist, das Board in Stücke zu bauen. Das erste Hardwaredebug dauert nur ein oder zwei Tage. Alle subtilen Probleme werden ohnehin erst bei der Software-Integration angezeigt. Ich würde lieber eine Schaltung (die komplette) debuggen als mehrere Ad-hoc-Reduzierungen der Schaltung.
Bauen Sie einfach das Ding! Bauen Sie die gesamte Platine zusammen und schalten Sie sie ein. Schauen Sie sich die Versorgungsspannung an. Wie viele mA zieht es? Welcher Teil brennt heiß? Welcher Teil ist warm? Versuchen Sie dann, die Firmware auf einen beliebigen Mikrocontroller auf der Platine zu brennen. Beginnen Sie dann mit dem Schreiben der Firmware. Bring die Uhr zum Laufen und schalte eine Stecknadel um. Holen Sie sich serielle (oder was auch immer) Kommunikation auf. Schreiben Sie nun Testprogramme für jedes Peripheriegerät. Bauen Sie dann die Produktionstestvorrichtung und schreiben Sie die "echte" Firmware.
Bearbeiten:
Auf der Suche nach stecken gebliebenen Schienen
Wenn eine Versorgungsschiene an Masse klebt (misst 0 Ohm mit einem Ohmmeter), schalten Sie sie an einer Tischversorgung ein. Stellen Sie die Spannung normal und die Strombegrenzung auf einige hundert mA ein. Drucken Sie das PCB-Design auf Papier aus und suchen Sie ein DMM, das Mikrovolt misst. Messen Sie die Mikrovolt beginnend an den Versorgungsanschlüssen und notieren Sie die Spannungsabfälle auf dem PCB-Ausdruck. Durch Betrachten der Mikrovolt-Unterschiede können Sie genau verfolgen, wohin der Strom fließt, ohne die Leiterplatte zu entvölkern oder zu zerlegen. Diese Technik ist besser als die Verwendung eines Ohmmeters, da Sie viel Strom durch den Stromkreis pumpen können, mehr als jedes normale Ohmmeter liefern kann.
Eine ähnliche Technik funktioniert zum Auffinden von Kurzschlussspuren auf einer ansonsten bestückten Platine. Führen Sie die Karte aus, und verwenden Sie ein Oszilloskop, um "digitale" Spuren zu finden, die sich in einem Spannungszwischenbereich befinden.
quelle
Dazu bevölkere ich die Platine zunächst mit dem Nötigsten, versorge zuerst die Stromversorgung und dann die MCU, füge dann die verschiedenen Subsysteme nacheinander hinzu und teste sie, bevor ich fortfahre. Ich finde den Prozess überhaupt nicht langsam.
Ich habe Boards jeglicher Komplexität blank-board getestet. Es kostet extra, aber es lohnt sich.
quelle
Ich habe nur sehr kleine Schaltkreise Steckbrett. Dann löte ich die kleinen Schaltkreise auf Protoboards. Wenn Sie mit SMD-Chips arbeiten, ist es hilfreich, die SMD-> Thru-Hole-Adapter zu erwerben.
Dies gibt Ihnen im Grunde "Bausteine". Ich löte diese Schaltungsblöcke dann auf ein Entwicklungskit oder eine alte Platine mit der MCU, die ich verwenden möchte. Es sieht grausam aus, mit vier oder fünf verschiedenen kleinen Leiterplatten, die von einer größeren abhängen, aber es funktioniert.
Sobald ich die Bausteine auf einer Entwicklungsplatine habe, gehe ich zu einer Leiterplatte. Wenn die schematischen Änderungen an alle , während die PCB zu machen, gehe ich zurück und die Bausteine überarbeite und sie wieder auf dem dev Bord testen.
Anstatt Code zu kommentieren, sollten Sie die Verwendung der Präprozessor-Direktiven #define und #ifdef in Betracht ziehen. Es erleichtert das Hinzufügen und Entfernen von Funktionscodes in einer MCU erheblich.
quelle
Bei Boards jeglicher Komplexität ist es fast genauso wichtig, einen Testplan zu entwickeln, wie das Board selbst zu entwickeln. Selbst zu Beginn des Board-Designs ist es eine gute Idee zu wissen, was Sie testen werden, obwohl die Implementierung noch nicht existiert. "Design for Test", wie sie sagen. Stellen Sie sicher, dass die Tastensignale an den Testpunkt-Pads anliegen. Versuchen Sie, das Design so zu partitionieren, dass einzelne Subsysteme unabhängig voneinander oder so weit wie möglich unabhängig voneinander aufgerufen werden können.
quelle
Ich nehme an, eine Schlüsselfrage lautet: Was ist die Checkliste vor dem Flug, bevor Sie ein Board für die Produktion freigeben? Meine Vorflugliste ist:
Diese Antwort wurde Wiki-Community.
quelle
Was die anderen Jungs gesagt haben, ist alles gültig, aber ich möchte meine 2 Cent Wert hinzufügen.
Das absolut Beste, was zu tun ist, ist, die Fehler nicht an erster Stelle zu machen. Es scheint albern, das zu erwähnen, aber allzu oft wird das übersehen. Führen Sie eine Überprüfung des Schaltplans und des PCB-Designs durch. Lassen Sie Ihr Design von mehreren Personen betrachten - auch von Anfängern. Verwenden Sie die Entwurfsregelprüfungen in Ihrer Software. Verwenden Sie alle verfügbaren Ressourcen, um sicherzustellen, dass Ihr Design gut ist. Verfügen Sie über gute technische Methoden, um die Wahrscheinlichkeit zu erhöhen, dass Sie einen Fehler bemerken.
In den letzten 20 Jahren hatte ich nach dem Design von Dutzenden von Leiterplatten (einige mit 14 Schichten und 2.000 Bauteilen) nur ZWEI Leiterplatten, die in der ersten Runde der Prototypen unbrauchbar waren. Natürlich hatte ich Bugs, aber nur zwei Boards waren "gemauert".
In jedem Fall waren die Prototypen voll besetzt, bevor ich mit dem Debuggen begann. Ich würde die Stromschienen ausschalten, um sicherzustellen, dass es keine Shorts gibt. Führen Sie dann eine Sichtprüfung mit einem Mikroskop durch. Schalten Sie es dann ein. Danach beginne ich eine methodische Test- und Debugsitzung - und arbeite an kleinen Abschnitten der Schaltung, bis alles getestet ist und funktioniert. In den meisten Fällen würde ich einige Änderungen vornehmen und mit der nächsten Überarbeitung der Leiterplatte in die Serienproduktion gehen.
All dies wäre nicht möglich gewesen, ohne große Anstrengungen, um die Fehler im Vorfeld zu reduzieren.
quelle
Bei einem völlig neuen Design gehe ich im Allgemeinen von einem Divide-and-Conquer-Ansatz aus.
Ich versuche, wichtige Architekturblöcke zu isolieren und jeden Abschnitt unabhängig voneinander mit Schaltern / Gleichstromversorgungen / Potentiometern usw. einzuschalten, um die Abhängigkeiten zu simulieren, die für den Betrieb der Schaltung erforderlich sind.
Dieser Ansatz ist im Allgemeinen nicht schwierig, wenn Sie es mit Netzteilen zu tun haben - die meisten Konverter benötigen nur einen Eingang und möglicherweise ein paar logische Signale, um mit dem Umschalten zu beginnen (und hoffentlich den magischen Rauch des Ausfalls nicht loszulassen).
Boards, bei denen es sich um Second / Third-Spins (Aufräumaktionen) handelt, benötigen normalerweise keine solche Sorgfalt. Ich darf nur Teile des Stromkreises, die geändert wurden, isolieren, sie unabhängig testen und den Rest der Schaltung für das all-in Einschalten testen.
Vergessen Sie nicht Ihre persönliche Schutzausrüstung. Es ist mir sehr unangenehm, irgendetwas mit freiliegenden Bauteilen ohne meine Schutzbrille (und manchmal Ohrenstöpsel ...) zu betreiben.
quelle
Nun, einer der ersten Schritte, um das Auftreten von Kurzschlussnetzen zu verhindern, besteht darin, die Entwurfsregelprüfungen in Ihrer Board-Software gut zu nutzen. Beides auf schematischer Ebene, um sicherzustellen, dass die Netze nicht versehentlich zusammengebunden werden, wenn dies nicht der Fall sein sollte. und auf der PCB-Ebene, um ausreichende Abstände zwischen den Netzen sicherzustellen.
Wenn es Designelemente gibt, die ungetestet sind, anstatt ein ganz neues Design auf einer Platine in Angriff zu nehmen, versuche ich, Proof-of-Concept- und Proof-of-Performance-Testplatinen auf billigen Proto-Leiterplatten (wie dem BareBonesPCB-Service von Advanced Circuit - zwei) zu bauen Schichten, keine Lötmaske, ca. $ 80 für eine 24-Stunden-Drehung).
Selbst wenn ich ein komplettes Board mache, setze ich bei den Boards der ersten Generation gerne viele Breakout-Header ein. In einigen Fällen können Sie zwei identische Leiterplatten bestücken, eine mit dem "stabilen" Teil, wobei die Stiftleisten nach oben weisen. und ein anderes mit dem "Test" -Teil, mit unteren Eingangsstiftaufnahmen. Wenn alles in Ordnung ist, können Sie beide Platinen fertig bestücken. Oder Sie können neue Versionen der "Test" -Schaltung drehen, die Sie austauschen können.
quelle