Projekt zur Überwachung und Steuerung von Strömen in Altium Designer

Mark Harris
|  Erstellt: Juni 3, 2020  |  Aktualisiert am: Dezember 12, 2020
Projekt zur Überwachung und Steuerung des Stroms in Altium Designer

In einem früheren Projekt habe ich Optionen für die Verwendung von Stromwandlern diskutiert und einen Ein-Kanal-Verstärker/Präzisionsgleichrichter dafür gebaut. In diesem Projekt heben wir diese Idee auf ein neues Level.

Das Haus, das ich miete, hat nur 240V/16A für die Garage. Das ist bedauerlich, denn als Maker habe ich einige ziemlich coole Spielzeuge in meiner Garage, wie zum Beispiel eine CNC-Fräse und einen Laserschneider. Ich habe einige Formen zu bearbeiten für ein bevorstehendes großes Projekt, bei dem ich einige Teile aus kohlenstofffaserverstärktem Kunststoff bauen werde. Mein alter Kompressor löst sofort den Schutzschalter für die Garage aus, wenn er eingeschaltet wird, also musste ich meine Optionen für den Betrieb der CNC-Fräse neu bewerten – sie benötigt mehr als die 16A, die mir bei voller Last zur Verfügung stehen. Deshalb habe ich einen relativ kleinen, geräuscharmen Kompressor gekauft, um den Stromverbrauch zu reduzieren, aber ich brauche eine Möglichkeit, sicherzustellen, dass er nicht angeht, wenn die CNC-Frässpindel unter hoher Last steht oder wenn der Kühler der Spindel läuft.

Meine Lösung besteht darin, einen Mehrkanal-Stromüberwachungsmonitor zu bauen, der es mir ermöglicht, den Stromverbrauch des Routers und der zugehörigen Ausrüstung zu überwachen. Dies sollte es mir ermöglichen zu bestimmen, wann es sicher ist, den kleinen Kompressor einzuschalten, abhängig von den anderen Systemlasten. Ich muss einen konstanten Luftstrom zum Werkzeugwechselspindel haben, da die Lager durchströmt werden müssen, um sie sauber zu halten, und der Kolben im Wechsler muss einen konstanten Druck auf das Werkzeug ausüben, um sicherzustellen, dass es nicht rutscht, daher ist der Luftdruck entscheidend.

Ich werde 6 Ausgangskanäle für das Steuerungsboard haben, um den 6 Strommesskanälen zu entsprechen. Ich benötige nicht so viele Kanäle für mein Projekt, aber als generisches Open-Source-Design möchten Sie vielleicht etwas anderes mit dem Board machen als ich. Ich plane auch, ein Display auf dem Board zu haben, um den aktuellen Strom in Echtzeit anzuzeigen.

Dieses Projekt ist kein Leistungsmesser. Es hat keine Fähigkeit, die Spannung zu überwachen. Daher kann es auch den Leistungsfaktor der Last nicht überwachen. Mein Anliegen ist lediglich sicherzustellen, dass ich meinen 16A-Schutzschalter nicht auslöse. Wenn Sie diese Funktionalität benötigen, könnte dieses Projekt ein guter Ausgangspunkt sein, da ich einen kleinen Transformator hinzufügen werde, um die Wechselspannung zu isolieren und auf ein handhabbareres Niveau zu reduzieren.

Wie üblich bei meinen Projekten, können Sie die Design-Dateien auf GitHub finden; sie stehen kostenlos unter der sehr permissiven MIT-Lizenz zur Verfügung. Dies erlaubt es Ihnen, das Projekt frei zu nutzen, wie Sie möchten. Wenn Sie nach den Komponenten suchen, die zum Bau dieses Projekts verwendet wurden, können Sie alle in meiner kostenlosen und Open-Source Altium Designer Library® finden.

Oberhalb befindet sich das PCB-Design, über das Sie im Altium 365 Viewer lesen werden; eine kostenlose Möglichkeit, sich mit Ihren Kollegen, Kunden und Freunden zu verbinden, mit der Fähigkeit, das Design anzusehen oder mit einem einzigen Klick herunterzuladen! Laden Sie Ihr Design in wenigen Sekunden hoch und haben Sie eine interaktive Möglichkeit, einen detaillierten Blick darauf zu werfen, ohne sperrige Software oder Computerleistung.

Stromüberwachungsschemata

Trotz der Anzahl der Komponenten auf der PCB für dieses Projekt sind die Schemata für diesen Strommonitor eher einfach.

Stromsensoren

Current sensor schematics for a current monitor
Stromsensorschaltplan


Die aktuellen Sensoren sind genau die gleichen wie die, die ich zuvor gebaut habe, unter Verwendung der Talema-Stromwandler. Ich habe fünf 10A-Sensoren mit einer 2:1-Verstärkung des Signals, was mit Gleichrichtung viermal die Signalamplitude des Wechselstromsignals ergibt. Der sechste Sensor ist ein 15A mit 1:1-Verstärkung, was die Überwachung der vollen Amplitude des 1800W Werkzeugwechselspindels ermöglichen sollte. Dies ist eine standardmäßige, grundlegende Präzisionsgleichrichterschaltung. Es gibt fortgeschrittenere Präzisionsgleichrichterschaltungen, die ein paar zusätzliche Komponenten hinzufügen (wie eine Diode parallel zum Rückkopplungswiderstand). Für die Zwecke dieses Projekts bietet die grundlegende Schaltung mehr, als ich für Genauigkeit und Toleranz benötige.

Microcontroller

Das Herz dieses Projekts ist der Mikrocontroller, der alle Messungen von den Sensoren aufnimmt und bestimmt, welche Ausgänge aktiv sein sollen. Ich hatte die neuen STM32G-Serie Mikrocontroller ernsthaft in Betracht gezogen, entschied mich aber letztendlich für einen NXP LPC11U35. Die Hauptattraktion des LPC für mich ist die USB-Bootloader-Funktionalität, die es mir ermöglicht, neue Firmware schnell auf das Board zu übertragen, sobald es im Schrank meines CNC-Routers installiert ist. Fast die gesamte LPC-Serie ermöglicht es dem Gerät, als USB-Massenspeichergerät mit dem onboard Bootloader-ROM zu booten, was es erlaubt, neue Firmware in das USB-Laufwerk zu kopieren, das an einem angeschlossenen Computer erscheint, ohne dass zusätzliche Hardware oder Software benötigt wird. Diese Funktionalität wird es mir ermöglichen, Firmware in meinem Büro zu entwickeln und sie einfach auf das installierte Board zu übertragen.

Der Hauptnachteil des LPC11U35 ist, dass er ein älterer ARM Cortex ist und nur über 10-Bit-ADCs verfügt. Ich muss überprüfen, ob der ADC mir für dieses Projekt ausreichende Auflösung bietet.

In dem vorherigen Artikel über Stromwandler habe ich vergessen, die RMS-Spannung des Signals aus dem Verstärker zu ermitteln und habe nur die RMS-Spannung des Signals aus dem Stromwandler erfasst.

DSC_0004_DxO_rs


Ich habe den Stromwandlerkreis auf einem Steckbrett neu aufgebaut, um einige neue Oszilloskop-Messwerte zu erhalten. Ich verwende ein Halbleiterrelais, das durch mein Tisch-Netzteil ausgelöst wird, um den 1,1kW Keramikheizer einzuschalten, der auf einem umgedrehten Backblech sitzt, um thermische Isolation von meiner Werkbank zu gewährleisten.

Scope capture for current monitor


Die blaue Spur (Kanal 2) ist der Ausgang des Präzisionsgleichrichters, und die gelbe Spur (Kanal 1) ist der Wechselstromausgang vom Stromsensor vor dem Operationsverstärker.

Mit dem nach diesem Projekt gebauten Stromsensorverstärker habe ich 1,299V RMS bei einem theoretischen Stromfluss von 4,429A durch ihn. Das ergibt eine Auflösung von etwa 293mV pro Ampere. Mit einem 10-Bit-ADC (1024 Werte) und einem Bereich von 3300mV (3,2mV Auflösung) ergibt das eine lesbare Auflösung von etwa 0,01A, was im Vergleich zu den 14- oder 16-Bit-ADCs in moderneren Mikrocontrollern nicht erstaunlich ist, aber für dieses Projekt und viele andere Anwendungen dennoch ausreichend ist.

mcu-sch


Auf diesem einen Schaltplan ist wirklich viel los! Es ist gleich zu Beginn erwähnenswert, dass der Pull-Up P-Kanal-MOSFET auf der USB-Leitung für die neuesten Siliziumrevisionen der LPC11U-Serie nicht erforderlich ist, aber ich werde ihn trotzdem drinlassen, da ich einige ältere MCUs zur Hand habe, die ich zum Bestücken dieses Boards verwenden könnte und ich möchte nicht riskieren, dass meine USB-Verbindung nicht funktioniert. Wenn Sie neue Bestände des LPC11U35 kaufen, können Sie alles, was mit IC3 zusammenhängt, weglassen.

Während wir gerade beim Thema USB sind, habe ich auch eine TVS-Diode, die dafür ausgelegt ist, USB-2.0-Leitungen vor ESD-Ereignissen zu schützen. USB-Anschlüsse sind ein hervorragender Ort für eine ESD-Entladung direkt in den Mikrocontroller, daher sind sie meine oberste Priorität beim Schutz.

supervisor schematic for a current monitor
Überwachungsschaltplan


Während wir die linke Seite des Schaltplans weiterverfolgen, habe ich einen Reset-Überwachungs-IC, um sicherzustellen, dass die 3,3V Versorgung stabil ist, bevor der MCU bootet, mit einem Knopf, um das Board manuell zurückzusetzen. Ich habe auch den Bootloader-Aktivierungsknopf dabei, da ich es mag, Dinge logisch zusammenzuhalten. Um das Board in den USB-Massenspeicher-Bootloader-Modus zu versetzen, genügt es, den Programmierknopf S2 gedrückt zu halten und dann den Reset-Knopf S1 zu drücken. Wenn man den Programmierknopf nach dem Booten für eine Sekunde oder so gedrückt hält, wird das Gerät als USB-Massenspeicher-Clientgerät gebootet, wenn das USB-Kabel angeschlossen ist.

swdio schematic current monitor


Im oberen rechten Bereich des Schaltplans habe ich auch einen standardmäßigen 10-poligen Single-Wire-Debug (SWD)-Anschluss, um das Board in einer IDE debuggen zu können.

MCU input filter schematic for a current monitor
MCU-Eingangsfilter


Schließlich die Eingangsfilterung für den Mikrocontroller. Wir werden uns in einem späteren Abschnitt des Artikels mit den IO-Steckverbindern befassen, also machen Sie sich keine Sorgen, dass ich die beiden Busse und deren Einrichtung übersprungen habe! Die Stromfilterung für diese Platine ist ziemlich kritisch, da sie in einer industriellen Maschine installiert und von dieser betrieben wird, die eine große Menge an elektrischem Rauschen erzeugt (sowohl geleitet als auch abgestrahlt). Es gibt über 2000W AC-DC Versorgung, ein 2200W Variables Frequenzlaufwerk, das eine Spindel betreibt, DC-Servos, einen industriellen Kühler und einen Staubabscheider, alle laufen von derselben AC-Versorgung. Aufgrund der Menge an Rauschen setze ich eine Ferritperle nahe jedem Strompin mit zwei Entkopplungskondensatoren ein – normalerweise würde ich in einem Mikrocontroller-Design nur die eine Ferritperle und vielleicht ein paar Bulk-Kondensatoren haben, aber für dieses Design möchte ich die kürzestmöglichen Leiterbahnen zwischen dem Mikrocontroller und dem Filter haben. Da die Stromversorgungspins des Mikrocontrollers auf gegenüberliegenden Seiten des Geräts liegen, habe ich mich entschieden, für jeden Pin einen Filter zu bauen, um die Leiterbahnen kurz zu halten.

Der Ferrit für jeden Stromanschluss wurde so gewählt, dass er bei 100MHz den möglichst höchsten Widerstand bei gleichzeitig möglichst niedrigem Gleichstromwiderstand aufweist. Grundsätzlich habe ich versucht zu bestimmen, mit wie viel Gleichstromwiderstand ich leben kann, und dann den Widerstand bei Frequenz für diesen Gleichstromwiderstand maximiert.

Stromversorgung

Mein CNC-Router verfügt bereits über mehrere Stromquellen, aus denen ich wählen kann, wobei die 5V-Schiene am saubersten und am wenigsten genutzt ist, daher macht es Sinn, die Platine aus dieser Quelle zu betreiben. Als Bonus ermöglicht es mir auch, die Platine über ein USB-Kabel auf meiner Werkbank zu betreiben. Da ich nur erwarte, dass eine dieser Quellen die Platine versorgt, habe ich jedem Eingang eine einfache Diode hinzugefügt, die als Schutz gegen Verpolung dient und einen grundlegenden Schutz bietet, falls beide Quellen gleichzeitig angeschlossen werden.

Power supply unit schematic for a current monitor


Die Schutzdiode wurde aufgrund eines niedrigen Durchlassspannungsabfalls ausgewählt, um sicherzustellen, dass ein sehr kostengünstiger Linearregler verwendet werden kann, ohne dass der kombinierte Spannungsabfall beider Bauteile die Ausgangsspannung unter die benötigten 3,3 Volt sinken lässt.

Zwischen dem Linearregler und der Schutzdiode habe ich ein Pi-Filter hinzugefügt. Ich weiß nicht genau, mit welchen Frequenzen ich am Eingang zu tun haben werde, daher habe ich auf die höchstmögliche Induktivität innerhalb der verfügbaren 4-5mm großen Induktoren gezielt. Ich verwende einen abgeschirmten Ferritkern-Drahtinduktor, um den niedrigsten Gleichstromwiderstand zu erreichen, da diese Platine potenziell bis zu 1 Ampere ziehen könnte, wenn alle LEDs und Optokoppler versorgt werden. Mit der bekannten Stromanforderung und Größe war es nur eine Frage der Suche nach einem Induktor mit hohem Induktivitätswert und niedrigem Gleichstromwiderstand, der auch die Größen- und Stromanforderungen erfüllte. Ich habe einen 10uF Kondensator auf jeder Seite des Induktors angebracht, um das Pi-Filter zu vervollständigen, wobei dies ein kostengünstiger Wert ist, der immer noch eine anständige Menge an Kapazität hat.

Stromüberwachungsausgänge

Ich muss wahrscheinlich nicht jeden Ausgang optisch isolieren, da die von mir verwendeten Solid-State-Relais bereits Optokoppler integriert haben, aber da es sich um ein Open-Source-Design handelt, weiß ich nicht, ob vielleicht jemand ein Relais oder den IO eines Industriecontrollers direkt an das Board anschließen wird. Als zusätzlichen Bonus gibt mir der Isolator ein Gefühl der Sicherheit. Der Strom für die LED im Isolator ist höher, als der ARM Cortex treiben kann, daher verwende ich einen sehr günstigen N-Kanal-MOSFET, um die LED im Optokoppler und eine externe zu treiben, die anzeigt, dass der Ausgang aktiviert ist.

Ich benötige für mein eigenes Vorhaben mit diesem Board-Design tatsächlich nur zwei Ausgänge, aber ich dachte, als Open-Source-Projekt ist es wahrscheinlich nett, dies als ein generischeres Design zu gestalten. Ich füge 6 Ausgangskanäle hinzu, um den 6 Stromsensorkanälen zu entsprechen, sodass, wenn dies in einer anderen industriellen Maschine verwendet werden würde, es dem Controller ermöglichen würde, jede Last, für die ein Stromsensor vorhanden ist, zu aktivieren oder zu deaktivieren.

output stage schematic for a current monitor


Ich habe auch eine TVS-Diode, die so nah wie möglich an 5V ist, um das Board vor ESD auf den Eingangssteckern zu schützen. Ich plane, einige vorkonfektionierte JST KH-Steckverbinder von DigiKey zu verwenden, um meine Halbleiterrelais mit diesem Board zu verbinden, die mit JST PH kompatibel sind. Ich habe auch einen 2,54mm Rastermaß Draht-zu-Platine-Klemmenblock zum Board hinzugefügt, um zusätzliche Flexibilität für andere Anwendungen zu bieten. Die vorkonfektionierten Drähte sind großartig für mich, da ich einen in der Mitte durchschneiden und mit zwei Kabeln enden kann, die bereit sind, mit dem Halbleiterrelais verwendet zu werden, was mich davor bewahrt, Längen von Draht zu schneiden und zwei Enden abzuisolieren – was mir potenziell Sekunden bei der Installation spart! Im Ernst, die gecrimpten Steckverbinder werden sicherer sein und weniger wahrscheinlich herauskommen oder bei einer Maschine, die viel ruckelt und vibriert, ermüden.

Display

LCD schematic for a current monitor


Der letzte Schaltplanblock dieses Projekts ist das LCD-Display. Ich habe mich entschieden, ein relativ preiswertes und robustes Newhaven-Grafikdisplay zu verwenden, da es eine einfache SPI-Schnittstelle hat. Ich hatte wirklich gehofft, ein Display mit 128x64 Pixeln verwenden zu können, aber das Board hatte einfach nicht genug Platz, also bin ich während des Board-Layouts zum Schaltplan zurückgekehrt und habe das Design geändert, um ein Display mit 128x32 Pixeln zu verwenden. Es benötigt viele Entkopplungskondensatoren, hat aber ansonsten sehr geringe Anforderungen an die Konnektivität.

Multikanal-Design mit Altium Designer

Ein Schlüsselaspekt dieses Projekts ist, dass ich fünf identische Stromsensorkanäle und sechs identische Ausgangskanäle habe, was ein Multikanal-Design für dieses Projekt ideal macht. Meiner Meinung nach ist dies etwas, worin Altium im Vergleich zu anderer ECAD-Software, die ich verwendet habe, wirklich hervorragend ist. Seine Funktionen ermöglichen das schnelle Routing und Layout des Boards und leicht verständliche Schaltpläne.

Anstatt Schaltplanblöcke auf Ihrem obersten Blatt zu duplizieren, wie unten gezeigt, kann ich den Schaltplan viel sauberer gestalten, indem ich einfach einen Schaltplanblock hinzufüge und darauf die REPEAT-Funktion verwende.

Duplicated schematic blocks in a current monitor


Dies nimmt all diese Schaltplansymbole und verwandelt sie in einen virtuellen Stapel von Komponenten. Für dieses Projekt ermöglicht es eine einzelne Verbindung vom Mikrocontroller zu allen Stromsensoren. Wenn ich die Ports am Schaltplansymbolblock ändern muss, werden die Änderungen auf alle Kanäle gleichzeitig angewendet, was Zeit spart, falls mein Projekt während der Entwurfsphase Änderungen benötigt.

repeated block in a current monitor schematic


Durch die Verwendung der Wiederholfunktion habe ich jetzt alle unsere Sensorkanäle zusammengefasst, was den Schaltplan leichter lesbar macht und das PCB-Layout erheblich vereinfacht, wenn ich an diesen Punkt des Projekts gelange.

Repeated schematic section current monitor


Lassen Sie uns durchgehen, wie man diese Funktion nutzen und in Ihrem Design verwenden kann.

Busse verwenden

Um die Multikanalwerkzeuge nutzen zu können, müssen Sie Busse verwenden, um Ihre Verbindungen für die Kanäle zusammenzuführen. In unserem Mikrocontroller-Schaltplan werden wir anstelle eines Ports für jede ADC-Verbindung einen einzigen Port für alle Verbindungen haben.

duplicated ports for a current monitor


Das macht Ihren Schaltplan übersichtlicher, da Sie nicht alle 6 Ports einzeln herausführen müssen.

Sie können im Hauptmenü über Platzieren -> Bus einen Bus anstelle eines Drahtes platzieren. Sie können sich einen Bus als Bündel von Drähten vorstellen. Damit der Bus funktioniert, müssen Sie Altium mitteilen, wie viele Verbindungen auf dem Bus laufen. Dies geschieht, indem Sie ein Netzlabel (Platzieren -> Netzlabel) auf den Bus setzen und ihm einen Namen wie ADC[0..5] geben. Das bedeutet, dass der Bus ADC0, ADC1, ADC2, ADC3, ADC4 und ADC5 führen wird, wobei die doppelten Punkte in eckigen Klammern „von 0 bis 5“ bedeuten.

MCU bus pins for a current monitor
Platzierung von Busverbindungen an den MCU-Pins


Wenn Sie die Wiederholfunktion verwenden, müssen Sie Ihre Netznummerierung bei 1 beginnen lassen, anstatt bei 0. Für die ADCs habe ich jedoch auch den 15A-Stromsensor, der nicht Teil des wiederholten Blocks ist, und deshalb beginne ich mit 0. ADC-Kanal 0 wird für den 15A-Sensor sein, mit 1 bis 5 für die 10A-Kanäle. Der OUT-Bus ist von 1 bis 6 nummeriert, da jeder davon ein wiederholter Block im Schaltplan und auf der Platine sein wird.

Nachdem Sie Ihren Bus benannt haben, müssen Sie auch jedem Draht, der zum Bus führt, eine Netzbeschriftung hinzufügen. Die Drähte sollten denselben Namen wie der Bus haben, mit der Anschlussnummer am Ende. Zum Beispiel sind OUT1 und OUT3 mit dem Bus OUT[1..6] verbunden. Diese Drähte verbinden sich mit dem Bus über einen Busanschluss (Place -> Bus Entry), was die 45-Grad-Winkelverbindung ist, die Sie sehen. Sie könnten auch bemerken, dass OUT4, OUT5 und OUT6 nicht tatsächlich grafisch mit dem Busdraht verbunden sind - der Name des Netzes reicht aus, damit Altium weiß, dass diese Drähte im Bus laufen werden. Dies ist sehr praktisch und verhindert, dass das Schaltbild unleserlich wird, wo alle Drähte sich kreuzen müssten.

Multikanal-Schaltplanblöcke

Jetzt, da das Mikrocontroller-Blatt mit den relevanten Ports eingerichtet ist, können wir es einem übergeordneten Schaltplanblatt hinzufügen. Der einfachere Weg, dies zu tun, ist nicht Place -> Sheet Symbol zu verwenden, sondern mit der rechten Maustaste auf Ihr Schaltbild zu klicken und zu Sheet Actions -> Create Sheet Symbol From Sheet zu gehen. Dies wird ein Symbol für das Schaltbild erstellen sowie alle Ports hinzufügen, die Sie im Schaltbild haben, was Zeit spart.

CreateSymbolFromSheet


Machen Sie dasselbe für Ihr Kanalblatt, sodass Sie nun beide Blattsymbole im Schaltplan haben. Das Ausgangskanalblatt muss nun umbenannt werden, das Format lautet:

REPEAT(name, start, end)

Standardmäßig wird jede Komponente im Kanal als ‘designator_sheetname’ benannt. Persönlich bevorzuge ich es, den Designator zuerst zu haben, um schnell die Stückliste lesen zu können und zu sehen, für welche Art von Komponente die Zeile steht – aber wenn Sie ein anderes Format bevorzugen, gibt es eine Reihe von Optionen, die im Projekt -> Optionen -> Multi-Channel-Fenster verfügbar sind. Wenn Sie immer noch nicht mit dem Format zufrieden sind, können Sie sogar Ihr eigenes Designator-Format mit den Variablen aus den Standardoptionen eingeben.

change component format dialog in Altium Designer


Es ist sehr wichtig, dass Sie auch Ihren Portnamen in REPEAT( ) einfügen, sonst wird der Draht nur den ersten Bus-Eintrag mit jedem Port verbinden, anstatt einen neuen Port für jeden Kanal zu generieren. Allgemein ist die Ausnahme hiervon bei Kommunikationsprotokollen, wo Sie möglicherweise denselben SPI Clock/MISO/MOSI oder I2C SCL/SDA zu jedem Blatt führen möchten. Dies gibt Ihnen eine große Flexibilität, wie die Multi-Channel-Blätter verwendet werden können.

output-channelsch


Nun ist es eine einfache Angelegenheit, einen benannten Bus zu haben, der vom Mikrocontroller-Busport kommt und dann direkt mit einem Draht verbunden wird, der denselben Namen wie der Bus hat. Es mag ein wenig seltsam aussehen, aber es signalisiert Altium, dass Sie den Bus auf jedes der Schaltplanschemata aufteilen möchten. Altium wird automatisch die Kanalnummer am Ende des Busnetznamens hinzufügen, während es jeden Kanal generiert. Der Busname muss nicht mit dem Portnamen oder dem Namen des Busses im Schaltplanschema, für das der Block bestimmt ist, übereinstimmen. Er kann gleich oder unterschiedlich sein – die einzige Benennung, die zählt, ist der Bus und der Draht.

toplevel-sch


Ich habe dieselbe Einrichtung auf die Stromsensoren angewendet, wie ich früher im Artikel erwähnt habe, ich habe den ADC-Bus von 0 bis 5 nummeriert, da ich ADC0 für den 15A-Sensor mit einem Bus-Eingang herausführe.

Stromüberwachung PCB-Layout

Jetzt, da das Mehrkanal-Schaltplanschema fertig ist, kann ich mit dem Layout der Platine beginnen. Es ist so einfach wie das Top-Level-Schema aussieht, da ich nur den ersten Kanal für jeden der wiederholten Kanäle verlegen muss.

Components in a PCB layout for a current monitor
Unverdrahtetes Layout nach Schaltplanerfassung


Sobald ich den Änderungsauftrag für die Technik ausgeführt habe, um alle Komponenten auf die PCB zu setzen, werden Sie alle obersten Blattblöcke in ihren Räumen sehen. Bemerkenswert ist hier, dass die mehrfachen unverdrahteten Netze, die vom Mikrocontroller zu den Kanälen führen, zeigen, dass meine Busbenennung gut funktioniert hat, da jeder Kanal korrekt verbunden ist. Hätte ich den REPEAT()-Befehl nicht zu den ADCs und Ausgangspotentiometern hinzugefügt, würden wir nur einen Draht nach oben sehen, der sich dann parallel verbindet. Genauso wie die Stromverbindungen.

Sie könnten auch bemerken, dass der Footprint für das Display ziemlich groß aussieht. Dies ist das 128x64 Pixel Display, von dem ich früher gesprochen habe und das ich zu verwenden hoffte. Nachdem ich die Platine verdrahtet hatte und es nicht auf die PCB passte, habe ich es durch das 128x32 Pixel Display ersetzt, das in den Schaltplänen zu sehen ist.

Ich beginne mit der Ausgangsverbindung. Ich werde den ersten Kanal in seinem Raum verdrahten, mit allem, was benötigt wird, außer den externen Verbindungen. Ich habe auch den Raum auf eine praktischere Größe für die angeordneten Komponenten reduziert.

Output block template for a current monitor
Vorlage für Ausgangsblock


Jetzt kann ich eine enorme Menge Zeit sparen, indem ich das Werkzeug zum Kopieren von Raumformaten verwende. Es gibt zwei Hauptwege, um zu diesem Werkzeug zu gelangen, erstens, wenn Sie die Utility-Symbolleiste aktiviert haben; es ist unter dem Raum-Icon zu finden.

copyroomformat


Sie können die Utility-Symbolleiste aktivieren, indem Sie irgendwo oben im Designer-Fenster mit der rechten Maustaste klicken und "Utilities" auswählen.

enableutilitiestoolbar

Der „lange“ Weg, um das Werkzeug zu erreichen, führt über das obere Menü, indem Sie zu Design -> Räume -> Raumformate kopieren gehen.

designroomscopy


Sobald das Werkzeug aktiv ist, genügt ein einfacher Klick auf den ersten Raum, den Sie bereits geroutet haben (Ihre Vorlage), und dann ein Klick auf den nächsten Raum, den Sie im gleichen Layout und Routing haben möchten.

Apply room format for a current monitor PCB layout


Sie können weiterhin auf zusätzliche Räume klicken, um die gleichen Einstellungen auch auf diese Räume anzuwenden. Das Werkzeug funktioniert nur für Räume, die im gleichen Multi-Channel-Set sind. Das bedeutet, ich kann das Format von einem Multi-Channel-ADC-Raum nicht auf den 15A ADC anwenden. Obwohl der 15A ADC fast dasselbe Schaltbild hat und sich nur durch einen Widerstandswert unterscheidet, ist er nicht kompatibel, da er nicht im selben Multi-Channel-Set wie die anderen war.

Output channels for a current monitor
Stromüberwachungslayout mit wiederholten Schaltungsblöcken


Nachdem ich die Raumformate für die Ausgangskanäle kopiert habe, habe ich 6 identisch verdrahtete Kanäle für den Ausgang. Die Schaltpläne und die Verdrahtung für jeden Kanal in diesem Design sind sehr einfach, aber ich bin sicher, Sie können sich vorstellen, wie viel Zeit dies bei einem komplexen Mehrkanal-Audio-Produkt oder einem fortgeschrittenen Mehrkanal-Sensor sparen wird.

Ich habe dieselbe Technik auf die ADC-Kanäle angewendet, was zur Folge hatte, dass der Großteil meiner Platinenverdrahtung bereits abgeschlossen war.

Ich plane, einen kostengünstigen chinesischen PCB-Lieferanten zu verwenden, da sie den besten Preis für eine 100mm x 100mm Platine bieten. Mit dieser Größenbeschränkung kann ich alle Kanäle anordnen. Es gelang mir, alle Ausgänge auf einer Seite der Platine unterzubringen, aber die Stromsensoren sind trotz ihrer kleinen Größe immer noch zu groß, und deshalb habe ich sie in einer U-Form um eine Seite der Platine platziert.

Ich habe meinen USB-Anschluss und den 5V-Eingang nah beieinander an einer Kante der Platine platziert, um die Stromführung ordentlich zu halten. Da es sich um eine zweilagige, 1,6 mm dicke PCB handelt, habe ich mich entschieden, keine impedanzangepassten Leiterbahnen für die USB-Leitungen zum Mikrocontroller zu verlegen. Angesichts der Datenrate, die beim USB-Bootloading oder seriellen Port verwendet wird, ist die Signalintegrität nicht übermäßig kritisch. Ich habe diesen Mikrocontroller mit Drähten, die an die Pins des Mikrocontrollers gelötet wurden, und dann direkt mit einem USB-Anschluss verbunden, also weiß ich, dass er diese Misshandlung gut überstehen wird. Für eine zweilagige, 1,6 mm dicke PCB müssten meine USB-Leiterbahnen etwa 1,5 mm breit sein, um impedanzangepasst zu sein, und das ist ein wenig umständlich für die Verlegung.

Schließlich habe ich den Bildschirm so montiert, dass hoffentlich nicht zu viele Kabel die Sicht auf das Angezeigte blockieren.

Top Design


Ich habe einige Montagelöcher sowie Fiducials zur Platine hinzugefügt. Die Montagelöcher sind für diese Platine von entscheidender Bedeutung, da sie vertikal an einem ungewöhnlichen Ort in meinem Steuerschrank montiert wird.

Mit ein wenig Spaß für etwas Kunstwerk sieht die Platine ziemlich gut aus. Die Schriftart „AlternateGothic2 BT“, die ich aus irgendeinem Grund auf meinem Computer habe, sieht wirklich großartig für die Beschriftung der Anschlüsse aus. Sie ist lesbar und sehr kompakt, was für die Klemmblöcke großartig ist.

BottomDesign


Auf der Unterseite der Platine habe ich einen ziemlich standardmäßigen Block hinzugefügt, den ich bei Designs, die ich für Kunden bearbeite, verwende, mit einem Barcode für das Tracking oder das Laden von Testprogrammen für eine generische Vorrichtung, dem Montagedatum, einem QA-Bereich und einem Bereich für eine Seriennummer. Mir gefällt, wie dieser Block die Unterseite einer Platine abschließt und sie ein wenig eleganter aussehen lässt.

Schließlich

Die Platine für diesen Strommonitor wurde als eine ziemlich generische Strommess- und Steuerplatine gebaut, trotz meiner eher spezifischen Anforderungen. Die Design-Dateien sind unter der MIT-Lizenz lizenziert, sodass Sie Ihre eigene erstellen oder einen Abschnitt Ihres eigenen Projekts auf dem Design basieren können, wenn Sie möchten. Wie immer finden Sie die Projekt-Design-Dateien auf GitHub.

Altium Designer auf Altium 365 bietet eine bisher in der Elektronikindustrie unerreichte Integration, die bislang der Welt der Softwareentwicklung vorbehalten war. Dies ermöglicht es Designern, von zu Hause aus zu arbeiten und nie dagewesene Effizienzniveaus zu erreichen.

Wir haben gerade erst die Oberfläche dessen angekratzt, was mit Altium Designer auf Altium 365 möglich ist. Sie können die Produktseite für eine detailliertere Beschreibung der Funktionen oder eines der On-Demand Webinare besuchen.

Über den Autor / über die Autorin

Über den Autor / über die Autorin

Mark Harris ist Ingenieur mit mehr als 12 Jahren vielfältiger Erfahrung in der Elektronikindustrie, die von Aufträgen für die Luft- und Raumfahrt und Verteidigung bis hin zu kleinen Produktanläufen, Hobbys und allem dazwischen reicht. Bevor er nach Großbritannien zog, war Mark Harris bei einer der größten Forschungsorganisationen Kanadas angestellt; jeder Tag brachte ein anderes Projekt oder eine andere Herausforderung mit sich, bei der es um Elektronik, Mechanik und Software ging. Er veröffentlicht außerdem die umfangreichste Open-Source-Datenbank-Bibliothek von Komponenten für Altium Designer, die so genannte Celestial Database Library. Mark hat eine Affinität zu Open-Source-Hardware und -Software und den innovativen Problemlösungen, die für die täglichen Herausforderungen dieser Projekte, erforderlich sind. Elektronik ist Leidenschaft; zu beobachten, wie ein Produkt von einer Idee zur Realität wird und mit der Welt interagiert, ist eine nie endende Quelle der Freude.

Sie können Mark direkt kontaktieren unter: mark@originalcircuit.com

Ähnliche Resourcen

Verwandte technische Dokumentation

Zur Startseite
Thank you, you are now subscribed to updates.