In diesem Artikel werden wir die tatsächliche Implementierung eines Treiber-ICs von der Erstellung des Schaltplans bis zum PCB-Layout durchgehen. Sie finden dieses Projekt auf GitHub, veröffentlicht unter einer Open-Source-Lizenz, falls Sie es einfach übernehmen und in Ihr eigenes Design einfügen möchten.
Ich habe zwei kleine, hochgeschwindigkeitsmotoren, die ich antreiben möchte, welche jeweils unter Last etwa 1 Ampere ziehen werden, und ich muss sie mit einer 30-Volt-Stromquelle in einer Industriemaschine betreiben. Die ursprüngliche Elektronik ist durchgebrannt und mittlerweile veraltet, daher muss eine neue Steuerplatine entwickelt werden. Fürs Erste werde ich nur den Motortreiber in diesem Projekt besprechen.
Angesichts der Anforderungen und des begrenzten Platzangebots auf der endgültigen Platine habe ich mich für den Allegro A4954 aufgrund seiner 2 Ampere / 40 Volt Bewertung und des TSSOP-16 Gehäuses mit einem Wärmepad entschieden. Er ist auch sehr erschwinglich, fast zum gleichen Preis wie ein einzelner Motortreiber, wie der Allegro A4953, und andere kostengünstige einzelne Motortreiber, die man verwenden könnte, wenn man nur einen Motor antreiben müsste.
Der größte Vorteil der Verwendung des einzelnen IC-Treibers für unsere Anwendung ist, dass er die Anzahl zusätzlicher Komponenten, die benötigt werden, um das Schaltbild zu vervollständigen, reduziert. Die einzigen zusätzlichen Komponenten, die wir benötigen, sind einige Widerstände, Kondensatoren und ein 3,3-V-Regler. Ich würde jedoch auch gerne eine Diode und einen Kondensator über jeden Motorterminal hinzufügen, um transiente Spitzen zu reduzieren, die den H-Brückentreiber beschädigen oder Probleme bei der Zertifizierung der elektromagnetischen Verträglichkeit verursachen könnten.
Normalerweise würde ich mit einer Datenbankbibliothek arbeiten, aber für die Zwecke dieses Artikels würde das keine sehr tragbare Lösung für Sie schaffen, von der aus Sie arbeiten könnten. Deshalb habe ich die relevanten pcblib- und schlib-Dateien zum Projekt hinzugefügt und die Footprints zu den Schaltplansymbolen hinzugefügt, um zu beginnen. Das bedeutet jedoch, dass wir generische Passive anstelle von Bibliotheksteilen platzieren, was mir nicht gefällt. Das Platzieren generischer Teile führt zu Fehlern, daher ist dies ein großartiger Ort, um Concord Pro zu verwenden, um die Bibliothek zu verwalten, aber ohne all meine Leser zu meinem Concord Pro-Team hinzuzufügen, könnte keiner von ihnen die Bibliothek nutzen, die ich erstellen würde. Deshalb werde ich, um Teile zu platzieren, von denen ich weiß, dass sie beschaffbar sind, jedes erforderliche Bauteil im Herstellerteilsuchfeld suchen und dann Lieferantenlink und Parameter zu jedem Schaltsymbol hinzufügen. Dies wird auch beim Erstellen einer Stückliste sowie beim Bestellen von Komponenten bei einem Lieferanten helfen.
Altium ermöglicht es Ihnen, Lieferantenlinks hinzuzufügen, was die Dinge später erleichtert.
Ich finde, dass das Verwalten von Komponenten, während man sie hinzufügt, entscheidend ist, um sicherzustellen, dass jedes Teil eine gültige, bestellbare Komponente ist. Es ist viel einfacher, die Gültigkeit jedes Teils zu gewährleisten, während man sie platziert, als am Ende einer Designphase festzustellen, dass eine Komponente nicht beschafft werden kann und das Design überarbeitet werden muss, um Platz für eine Ersatzkomponente zu machen.
Wir beginnen damit, alle unsere gültigen, beschaffbaren Komponenten und generischen Passivteile zum Schaltplan hinzuzufügen.
Ich beginne mein Design mit den Steckverbindern, dem Strommesswiderstand, der TVS-Diode und dem Haupt-IC, wie spezifiziert.
Ich habe auch die generischen Symbole für Kondensatoren, Widerstände und Potentiometer hinzugefügt, die ich bei Bedarf während des Designprozesses kopieren und einfügen werde, um sie dann zu spezifizieren, sobald sie am richtigen Platz im Schaltplan sind. Wenn ich einen Schaltplan mit generischen Teilen bei einfachen Designs schnell entwerfe, finde ich dies schneller, als jedes Mal zum Bibliothekspanel zurückkehren zu müssen, um eine weitere Kopie derselben Komponente zu holen. Man kann das Symbol mit Shift-Ziehen klonen, was ich als schnellsten Weg gefunden habe, eine weitere generische Komponente desselben Footprints zu platzieren.
Dann verbinden wir alle Teile, die wir gelegt haben, um einen vollständigen Schaltplan zu erstellen.
Das vollständig ausgefüllte Schaltbild ist ziemlich einfach – wie es bei einem vollständig integrierten Treiber-IC sein sollte. Ich habe einige 33-Ohm-Widerstände hinzugefügt, um den Mikrocontroller vor den Eingängen zum Treiber-IC zu schützen, was, falls dem Treiber etwas Schreckliches passieren sollte, den zum Mikrocontroller fließenden Strom auf tolerierbare Niveaus begrenzen sollte. Ich habe einen 100nF Kondensator und eine TVS-Diode zu den Motorausgängen hinzugefügt, die helfen werden, ESD und transiente Rückspannungen vom Motor zu mindern, wie zuvor erwähnt. Ich habe auch einen resistiven Spannungsteiler mit einem variablen Widerstand für das obere Bein hinzugefügt, um den Motorstrom nach Bedarf einstellen zu können. Der Spannungsteiler wird von einem einfachen linearen Spannungsregler versorgt, den ich normalerweise nicht mit einem 27V-Abfall verwenden würde. In diesem Fall wird jedoch der Stromverbrauch ausreichend niedrig sein, sodass der Regler nicht überhitzen wird.
Der Allegro A4954 IC und alle damit verbundenen passiven Bauteile vor der Beschriftung.
Schließlich, nachdem das Schaltbild vollständig erstellt wurde, habe ich das Schaltbild annotiert, um die Bezeichnernummern zu vervollständigen. Persönlich bevorzuge ich es, dies am Ende der Schaltplanerfassung zu tun, da ich festgestellt habe, dass dies mir in der Regel Bezeichnernummern liefert, die enger zusammengefasst sind, als wenn ich ständig direkt nach dem Hinzufügen neuer Komponenten annotiert hätte. Dies kann uns eine Vorstellung davon geben, wo sich eine Komponente im Schaltbild befinden könnte, basierend auf ihrem Bezeichner.
Beachten Sie, wie alle Teile, die sich um den Treiber gruppieren, mit eng beieinanderliegenden Bezeichnernummern annotiert werden.
Da ich jeder Komponente im Schaltbild echte Teile zugewiesen habe, habe ich jetzt ein ActiveBOM im Projekt, das sowohl zur Bewertung der Kosten des Schaltbilds als auch zur Überprüfung, ob alle Komponenten in der Serienproduktion verfügbar sind, verwendet werden kann. Das ActiveBOM macht es sehr einfach, schnell die Kosten pro Platine bei verschiedenen Produktionsmengen zu bewerten. Zum Zeitpunkt des Schreibens würden meine Komponentenkosten pro Platine für eine einzelne Platine 7,99 USD betragen, die bei 1000 Platinen auf nur 3,42 USD pro Platine sinken. Aus budgetärer Sicht kann dies mir ermöglichen zu bestimmen, ob ich vielleicht alternative Optionen für das Schaltbild in Betracht ziehen muss, um den Preis bei meinem erwarteten Produktionsvolumen zu senken. Dies kann meine Produktivität erheblich steigern, da ich diese Entscheidung treffen kann, bevor ich Zeit mit dem Verlegen einer PCB verbracht habe.
Wie bei jedem PCB-Projekt besteht unsere erste Aufgabe darin, die Komponenten mit einer Änderungsanweisung für die Konstruktion (ECO) in die PCB zu bekommen.
PCB-Layout, nachdem alle Komponenten hinzugefügt wurden.
Es gibt ein paar Dinge, die ich gerne mache, nachdem ich die Schaltplandaten auf die PCB übertragen habe. Zuerst lege ich alle Bezeichner auf eine mechanische Schicht, die ich Bezeichner genannt habe, damit sie keinen PCB-Platz beanspruchen. Im PCB-Filter-Panel verwende ich den Filter:
IsDesignator AND OnLayer('Top Overlay')
Dies wählt alle meine Bezeichner aus und ich kann sie schnell im Eigenschaftenfenster bearbeiten, um die Schicht zu ändern, und sie auch als TrueType setzen und automatisch in die Mitte der Komponente positionieren, was später, falls erforderlich, für schönere PCB-Zeichnungen sorgt.
Als Nächstes kann ich den Kreuzauswahlmodus aus dem Werkzeugmenü (oder Shift-Ctrl-X) aktivieren, um logische Gruppen von Komponenten im Schaltplan auszuwählen. Selbst bei einem kleinen, einfachen Schaltplan wie diesem, spare ich Zeit, indem ich Komponenten auf der Leiterplatte gruppiere.
Indem ich den Treiber-IC und seine unterstützenden Komponenten im Schaltplan auswähle und dann zurück zur PCB wechsle, habe ich diese Komponenten aus dem Wirrwarr der neu hinzugefügten Teile herausgepickt.
Komponenten aus dem Schaltplan auszuwählen, spart Zeit gegenüber dem Versuch, sie einzeln im PCB-Layout zu finden und auszuwählen.
Ich kann dann das Werkzeug -> Komponentenplatzierung -> Anordnen innerhalb eines Rechtecks verwenden (auch verfügbar in der alten Werkzeugleiste unter dem Symbol für Ausrichtungswerkzeuge) und ein Rechteck außerhalb der Platine zeichnen, um diese Teile zusammenzugruppen.
Dies gibt mir schöne kleine Blöcke von Komponenten, die ich für sich selbst auf die bestmögliche Weise anordnen kann. Bei größeren, komplexeren Projekten finde ich, dass ich durch das separate Anordnen jedes logischen Blocks in der Lage bin, sie alle auf einmal auf die Leiterplatte zu bringen, um eine optimale Drehung und Position für diesen Block zu finden und auch zu bestimmen, welche Opfer möglicherweise bei der Platzierung der Komponenten gemacht werden müssen, um die Nutzung des Platinenraums zu optimieren. Für mich spart das viel Zeit und gibt mir in der Regel ein besseres Layout, als einfach ein Komponentenlayout von einer Komponente aus aufzubauen.
Die Funktionen zur Komponentenplatzierung ermöglichen es, die Komponenten innerhalb von Clustern anzuordnen, die die logischen Blöcke im Schaltplan darstellen.
Innerhalb weniger Minuten verwandelt sich dies in eine Platine, die relativ kompakt ist und geroutet werden sollte.
Die endgültige Komponentenplatzierung ist routbar, logisch organisiert und kompakt.
Eine schnelle Überprüfung der 3D-Ansicht zeigt, dass die Platine auch leicht von Hand zu montieren sein wird, was für Teile in geringer Stückzahl eine großartige Überprüfung ist.
3D-Ansicht der Platine, bevor die Leiterbahnen hinzugefügt wurden.
Das Routing dieser Platine ist ziemlich einfach, da es sich um ein so einfaches Schaltbild handelt! Der einzige Punkt, der zu beachten ist, ist, dass das Datenblatt des Motortreibers vorschlägt, einen Erdungspfad von den Strommesswiderständen direkt zurück zum IC-Ground zu führen, mit Polygon-Aussparungen, um diese Stern-Erdung zu realisieren. Ich habe vollständige Erdungsflächen oben und unten hinzugefügt, um zu beginnen, und dann das Polygon-Aussparungswerkzeug (unter dem Menüpunkt Platzieren) verwendet, um die vorgeschlagenen Aussparungen hinzuzufügen.
Die Platine, nachdem sie geroutet wurde, Erdungsflächen hinzugefügt und Polygon-Aussparungen gemacht wurden.
Elektrisch sieht diese Platine nun vollständig aus, jedoch ist sie in der 3D-Ansicht nicht sehr ansprechend.
3D-Ansicht der Platine, nachdem die Leiterbahnen hinzugefügt wurden, wirkt immer noch ein wenig mangelhaft.
Ich mag es, wenn meine Platinen scharf aussehen, auch wenn sie nur für den persönlichen Gebrauch sind. Als Ingenieur betrachte ich alle Leiterplatten als Kunstwerke, in die genauso viel Gedanken und Sorgfalt gesteckt wurden wie in jedes Meisterwerk in einem Museum, also sollten sie auch so aussehen!
Mit einigen Bereichen auf der oberen Overlay-Schicht und etwas invertiertem Text habe ich etwas Stil und Beschriftungen hinzugefügt, um die Verwendung der Platine etwas einfacher zu machen.
Merkmale auf dem oberen Overlay machen die Platine einfacher zu verwenden und sehen besser aus.
Die Unterseite der Platine erhält eine ähnliche Behandlung, mit einem kleinen ESD-Logo, einem Barcode zur Identifizierung des Platinenmodells/-version/-revision und ein paar Bereichen, in die der Qualitätsprüfer seine Initialen eintragen kann, plus ein paar Felder zum Schreiben des Herstellungs- und Installationsdatums.
Die Unterseite der Platine.
Dies lässt die Platine schnell von einfach und schlicht zu schärfer, vollständiger und funktionaler aussehen.
Wenn Sie die Implementierung eines einzelnen IC-DC-Motortreibers in Betracht ziehen, könnte dieses Projekt ein guter Ausgangspunkt für Sie sein. Sie können das Projekt auf GitHub herunterladen und frei nach Belieben nutzen. Das Schema basiert auf einem in der Produktion erprobten Schema und Layout, jedoch sollten Sie dennoch sicherstellen, dass das Design Ihren Anforderungen entspricht und das Schema/die Pins korrekt sind.
Beim nächsten Mal werde ich mir dieses Board im PDN Analyser ansehen, um zu bestimmen, ob die Leiterbahnen für die Stromanforderungen des H-Brücken-ICs und der beiden Motoren angemessen dimensioniert sind. Wenn Sie PDN Analyser zuvor noch nicht verwendet haben, wird dies ein Einführungsprojekt sein, dem Sie folgen können, um zu lernen, wie Sie das Tool für die Analyse Ihrer Leiterplatte einrichten.
Möchten Sie mehr darüber erfahren, wie Altium Sie bei Ihrem nächsten PCB-Design unterstützen kann? Sprechen Sie mit einem Experten bei Altium oder erfahren Sie mehr über Altiums PDN-Analysator.