In diesem Artikel werden wir ein Schild für ein STMicroelectronics Nucleo-Development Board bauen. Da es jedoch nur die Arduino-kompatiblen Header verwendet, kann es auf jedem Development Board mit Headern im Arduino-Stil verwendet werden. Durch das Prototyping auf einem Entwicklungskit können wir unser Design erproben, ohne uns Gedanken über die Implementierung des Mikrocontrollers, der Stromversorgung oder der Kommunikation machen zu müssen.
Auf diese Weise können wir auch die realen Prozessoranforderungen unserer Implementierung ermitteln, indem wir einen Standard-Formfaktor verwenden, mit dem wir zwischen einer großen Bandbreite von Mikrocontrollern verschiedener Hersteller wechseln können, ohne dass wir mehrere Leiterplatten erstellen müssen. Auf diese Weise können wir die Anforderungen konkretisieren und bestimmen, welcher Mikrocontroller für unsere Anwendung optimal ist, sodass wir schnell Prototypen erstellen können, um Mikrocontroller mit einer Vielzahl von Fähigkeiten in einer breiten Preisspanne zu evaluieren.
Dies ist jedoch nicht die einzige Verwendung für Sub-Boards in der Elektronikindustrie. Die Entwicklung von Hardware mit mehreren Leiterplatten ist weit verbreitet und kann für Elektronikentwickler, die damit arbeiten, eine technische Herausforderung darstellen. Die Multiboard-Funktionen von Altium helfen Entwicklern beim Bewältigen dieser Herausforderungen, indem sie ihnen Tools an die Hand geben, mit denen sie ihre Hardware in der Designumgebung zusammenfügen und so sicherstellen können, dass die elektrischen Signale und mechanischen Anschlüsse aufeinander abgestimmt und kompatibel sind, bevor sie sich zur Bestellung von Boards verpflichten.
Für diesen Artikel bauen wir eine relativ einfache Wetterstation auf. Sie verfügt über einen hochpräzisen digitalen relativen Feuchtigkeits-/Temperatursensor und einen hochpräzisen digitalen Drucksensor. Wir haben auch ein LCD-Display, um die aktuellen Werte anzuzeigen. Dieses Schild eignet sich perfekt für die genaue Überwachung der Umgebung in einer Heim-, Labor- oder Industrieumgebung. Wenn diese Leiterplatte auf einem Entwicklungskit platziert wurde, das über eine Netzwerkverbindung (kabelgebunden oder drahtlos) verfügt, könnte sie problemlos Daten in einer Datenbank speichern oder aus der Ferne überwacht werden.
Wie bei meinen anderen Projekten finden Sie die Designdateien für dieses Projekt in meinem GitHub. Er ist Open Source und kann kostenlos verwendet werden. Es gibt jedoch keine Garantie oder Garantie im Rahmen der MIT-Lizenz.
Wie oben erwähnt, ist die Aufteilung der Hardware auf mehrere Leiterplatten eine gängige Strategie, um eine Vielzahl von Designherausforderungen zu lösen. Die Verwaltung der Komplexität mehrerer miteinander verbundener Leiterplatten hat Sie in der Vergangenheit vielleicht abgeschreckt, aber wie Sie bei diesem Projekt sehen werden, machen die Multi-Board-Projekte von Altium das Leben leicht.
Warum sollten Sie also ein Projekt in mehrere Boards aufteilen?
Prototyping
In den frühen Phasen eines Projekts kann die Reduzierung des technischen Risikos und die Konzentration auf die kritischen Teile eines Entwurfs den Designprozess rasch beschleunigen. Sie können schnell alternative Komponenten ausprobieren, überprüfen, ob die Funktionen der Bauteile Ihren Anforderungen entsprechen, und haben schnell einen Konzeptnachweis, den Sie den Stakeholdern vorlegen können.
Das EnviroShield-Projekt, das wir in diesem Artikel bauen, fällt in diese Kategorie. Wir bauen schnell einen Umweltsensor, ohne uns um den Host-Mikrocontroller oder die Netzwerkimplementierung kümmern zu müssen. Mit einem kostengünstigen Entwicklungskit und einem relativ einfachen Shield-Board können wir unsere Sensorkomponenten schnell evaluieren und unseren Code testen, während wir das technische Risiko der Leiterplatte reduzieren.
Platzsparend
Wenn Ihr Projekt eine große Anzahl von Komponenten und zu wenig Platz hat, kann das Aufstapeln von Leiterplatten viele Vorteile bieten. Als Elektronikentwickler denken wir normalerweise über den horizontalen Raum nach und berücksichtigen selten die vertikale Achse, wenn es ums Design geht. Die meisten Komponenten für eine typische Leiterplatte weisen ein niedriges Profil auf. Durch den Einsatz von extrem flachen Steckverbindern und intelligenten Leiterplattenformen zur Umgehung größerer Bauteile, wie beispielsweise Aluminiumkondensatoren oder Steckverbinder, können Sie die Fläche Ihrer Leiterplatten bei nur geringfügig größerem Volumen verdoppeln.
Isolierung
Bei Projekten kommt es oft vor, dass man zwei Blöcke von Bauteilen hat, die man nicht auf derselben Leiterplatte haben möchte. Ein Beispiel: Sie haben einige Präzisionssensoreingänge mit kleinen Signalen, die Sie verstärken, und gleichzeitig einen Hochstromtreiber oder ein leistungsstarkes Funkgerät im selben Design. Möglicherweise kommt auch Wechselspannung auf die Leiterplatte, die Sie nicht in der Nähe Ihrer anderen Komponenten haben möchten.
Durch die physische Trennung von Schaltplanblöcken, die nicht unbedingt gut zusammenpassen, können Sie das Risiko verringern, dass Ihr Entwurf nicht wie erwartet funktioniert.
Modularität
Dieses Projekt fällt zwar eher in die Kategorie Prototyping, aber es ist auch ein modulares Design. Wir könnten unseren Umweltsensor auf einem Host-Board mit Netzwerkfähigkeiten platzieren oder ein einfacheres Host-Board verwenden, das die Kosten niedrig hält. Unabhängig davon, ob Sie das Host-Board oder ein Sub-Board entwerfen, mithilfe einer standardisierten elektromechanischen Verbindung können Sie Ihren Kunden die zukünftige Erweiterung eines Geräts oder erweiterte Funktionen anbieten.
Sie finden diese Art von Plugin-Modularität sehr häufig in Netzteilen, Hardware zur Datenerfassung und Audio-/Video-Produktionsgeräten, um nur einige zu nennen.
Mehr?
Weitere Gründe, warum Sie oberflächenmontierte Sub-Boards erstellen sollten, werden wir in unserem nächsten Artikel über Multi-Boards erläutern. Wir werden uns weiter auf Modularität, Zertifizierung und Kriterien zur Kostensenkung konzentrieren, um Funktionen auf ein anderes Board zu übertragen.
Wenn Sie ein Produkt entwerfen, das aus mehreren Leiterplatten besteht, benötigen Sie eine Möglichkeit, diese miteinander zu verbinden. Sie können zwar eine Draht-/Kabelbaugruppe oder eine Flex verwenden, um die Leiterplatten zu verbinden, aber in diesem Artikel schauen wir uns Leiterplatten an, die eng montiert und direkt verbunden sind. Direktverbindungen sind vom Prototypen bis zur Großserie einfach herzustellen - während kundenspezifische Kabelbäume in der Regel eine Mindestmenge benötigen, um kosteneffektiv zu sein.
In diesem Beispielprojekt verwenden wir einfache rechteckige Header. Die Leiterplatte kann mit Breakaway-Pin Headern oder mit dem (für ein Arduino-Schild) typischen langen weiblichen Header bestückt werden. Rechteckige Header sind je nach Bedarf in einer Vielzahl von Abständen, Längen, Reihen- und Positionszahlen erhältlich. Normalerweise verarbeiten sie moderate Strommengen gut und haben Verbindungen mit niedrigem Widerstand, die gut zusammenhalten.
Rechteckige Header sind sowohl in Durchsteckmontage als auch in Oberflächenmontage-Varianten erhältlich.
Rechteckige Header werden oft als kostengünstige Verbindungsoption angesehen. Wenn Sie jedoch die Preise für rechteckige Header mit Mezzanin-Steckverbindern vergleichen, stellen Sie möglicherweise fest, dass Mezzanin-Steckverbinder pro Pin kostengünstiger sind und viel weniger Platz auf Ihrer Leiterplatte beanspruchen.
Mezzanin-Steckverbinder sind in der Regel oberflächenmontiert mit hohen Pin-Zahlen und können ein extrem niedriges Profil aufweisen. Mezzanin-Steckverbinder eignen sich perfekt für eine große Anzahl von Signalen in eng integrierter Hardware, bei der das zusammengebaute Volumen von entscheidender Bedeutung ist. Davon abgesehen sind Mezzanin-Steckverbinder mit 3 bis zu vielen hundert Positionen leicht verfügbar, mit einigen sehr kreativen Funktionskombinationen, die über die grundlegenden Pins hinausgehen. Einige Steckverbinder bieten dedizierte Pins für die Stromversorgung, die höhere Strom- oder Spannungswerte bieten. Andere Verbindungen können HF-Buchsen umfassen, die HF-Signale effizient von einer Leiterplatte auf eine andere übertragen können.
Mit Pin-Pitches von bis zu 0,3 mm und Steckhöhen von nur 0,6 mm und bis zu mehreren zehn Millimetern, die trotz der aktuellen Engpässe gut bestückt sind, wähle ich für die Verbindung von Leiterplatten typischerweise Mezzanin-Steckverbinder.
Wenn Sie Rack-basierte Module bauen, bieten DIN 41612-Backplane-Steckverbinder eine hohe Anzahl von Pins und Zuverlässigkeit in einem standardisierten Steckverbinder. Außerdem finden Sie Hard Metric (Hm) als alternativen Standard mit ähnlich hohen Pin-Zahlen. Schließlich gibt es die Backplane-Steckverbinder vom Typ ARINC. Diese robusten Steckverbinder sind jedoch stark auf die Luft- und Raumfahrt sowie Verteidigung ausgerichtet und haben einen entsprechenden Preis.
Quelle: Harting DIN 41612 Backplane Connector at Digi-Key
Backplane-Steckverbinder werden in der Regel für spezielle Anwendungen wie modulare Geräte oder Systeme in einer Art Gestell verwendet, in das die Leiterplatten hineingeschoben werden, und sind wahrscheinlich nicht Ihr bevorzugter Steckverbindertyp.
Wenn Sie möchten, dass Ihr Board wiederholt und zuverlässig an ein anderes angeschlossen wird, können Randsteckverbinder eine kostengünstige Option bieten. Sie kennen sich wahrscheinlich am besten mit PCI-E-Karten aus, wie zum Beispiel für eine Computergrafikkarte oder RAM-DIMMs auf einer Computer-Hauptplatine, und obwohl Sie diese Standards verwenden können, gibt es auch noch allgemeinere Optionen.
Winzige Einzelplatinen-Computer sind häufig im SO-DIMM- und MXM-Format verfügbar. Dadurch können Sie die technische Komplexität des Anwendungsprozessors und des RAM auf ein Sub-Board verlagern. Dies ist ein großartiges Beispiel für die Verwendung eines standardisierten Steckverbinders für etwas anderes als den beabsichtigten Zweck.
Quelle: Amphenol MXM3.0-Steckverbinder
Generische Steckverbinder wie die Standard-Edge-II-Serie von TE bieten Ihnen eine Option, die nicht leicht mit einem bekannten Standard verwechselt werden kann.
Quelle: TE Standard Edge II Connector auf Digi-Key
Ein großer Vorteil von Kartenkanten-Steckverbindern besteht darin, dass nur auf dem Host-Board ein Steckverbinder montiert werden muss. Das Tochter-Board hat an einer Kante der Leiterplatte Kontakte, die in den Steckverbinder des Host-Boards eingesteckt werden. Dies kann die Kosten senken und bietet gleichzeitig eine zuverlässige Verbindung, obwohl die Verwendung eines Randleistensteckers in der Regel keine platzsparende Option darstellt.
Wenn Sie die beiden Leiterplatten später nicht trennen müssen und Ihr primäres Ziel nicht die Verringerung des Volumens ist, dann ist das direkte Verlöten einer Leiterplatte mit einer anderen eine praktikable Option. Es ist nicht schwer, ein eigenes oberflächenmontiertes Modul zu erstellen, und ich werde die Vorgehensweise sowie die Vor- und Nachteile dieses Ansatzes in meinem nächsten Artikel über Multi-Board-Projekte beschreiben.
Ich verwende ein STMicroelectronics-Nucleo-64 als Host-Board. Dabei handelt es sich um kostengünstige Development Boards für das Prototyping mit leistungsstarken Prozessoren und einer breiten Palette an Peripheriegeräten. Wenn Sie mehr Konnektivität benötigen, als sie einfache Arduino-Header bieten können, ist die gesamte Palette der Pins am Gerät über die zusätzlichen Morpho-Steckverbinder verfügbar. Ich habe die Altium-Designdateien von ST heruntergeladen, um einen Ausgangspunkt für diese Multi-Board-Montage zu bilden.
Im Idealfall müsste ich nur einen einzigen Parameter zu jedem der Arduino-Steckverbinder hinzufügen, um anzuzeigen, dass sie für eine Multi-Board-Verbindung vorgesehen sind. Meine Bibliothek hat jedoch einen vollständigen Arduino-Header als einzelne Komponente, wodurch ich das Schmartboard Arduino-Header Pack als einzelne Stücklistenzeile zu meinem Board hinzufügen kann. Dadurch wird auch sichergestellt, dass alle Header sowohl mechanisch als auch elektrisch korrekt angeordnet sind. Das ST-Nucleo-Board hat separate Header für jeden Arduino-Steckverbinder, und eine Multi-Board-Verbindung funktioniert eins-zu-eins. Daher habe ich die Header im Nucleo-Board-Design durch meine eigene Bibliothekskomponente für die Arduino-Header ersetzt.
STMicroelectronics-Nucleo-64 Board mit ersetzten Arduino-Headern.
Ist das erledigt, muss nur noch der Parameter „System” mit dem Wert „Steckverbinder” hinzugefügt werden und das Nucleo-Board kann loslegen. Es ist völlig schmerzfrei und geht schnell, eine vorhandene Leiterplatte für eine Multi-Board-Montage vorzubereiten .
Für dieses Projekt möchte ich eine relativ einfache Wetterstation für den Innenbereich haben, die mir relative Luftfeuchtigkeit, Temperatur und Druck anzeigt. Indem ich es auf einem Entwicklungskit aufbaue, kann ich das Design und die Leistung testen, bevor ich im nächsten Projektartikel zu einem robusteren, voll integrierten Design übergehe.
Für die Sensoren habe ich die hervorragenden Sensoren der Serie HTU21D von TE ausgewählt, die seltsamerweise die Teilenummer HPP845E031 haben. Sie bieten eine hervorragende Auflösung und Präzision und sind, was für mich wichtig ist, auf bis zu 100 % Luftfeuchtigkeit ausgelegt. Viele Feuchtesensoren erreichen einen Maximalwert von unter 100 %, manche sogar nur bis 80 %.
Schaltplan eines Sensors für relative Luftfeuchtigkeit/Temperatur
Ich hatte ursprünglich vor, den Drucksensor MS5611 (früher Measurement Specialties) von TE zu verwenden, aber für meine Anwendung geht dessen Präzision/Auflösung über das hinaus, was ich brauche, und ich konnte den Preis nicht rechtfertigen. Stattdessen verwende ich den MS5607, der Pin-kompatibel ist, so dass ich auf die andere Option umsteigen kann, wenn ich es in Zukunft wirklich übertreiben möchte.
Schaltplan für Drucksensoren
Ich habe auch einen relativ kleinen Newhaven Displays-Grafik-LCD mit weißer Hintergrundbeleuchtung auf der Leiterplatte. Dadurch kann ich kreativer mit dem Display umgehen als mit einem typischen LCD. Ich habe eine Taste auf der Leiterplatte, mit der ich die Hintergrundbeleuchtung aktivieren kann, sodass diese nicht ständig eingeschaltet ist. Die Taste könnte auch zum Durchlaufen verschiedener Anzeigen verwendet werden, falls ich diese Funktion in Zukunft programmieren möchte.
Newhaven Display Schaltplan
Wie beim Host-Board müssen wir Altium Designer mitteilen, welche Steckverbinder für unsere Multi-Board-Verbindung verwendet werden. Noch einmal, dafür müssen Sie einfach nur das Arduino-Header-Schaltplansymbol auf unserem Schaltplanblatt auswählen und einen neuen Parameters im Properties Panel hinzufügen.
Parameter zu Steckverbinder-Eigenschaften hinzufügen
Fügen Sie die Eigenschaft „System” mit dem Wert „Steckverbinder” hinzu.
Systemeigenschaft hinzugefügt
Mit dieser einfachen Ergänzung ist alles für den Einsatz mit mehreren Leiterplatten vorbereitet.
Der einzige nicht-routinemäßige Teil dieser Leiterplatten sind die Überlegungen, die bezüglich der Temperatursensoren angestellt werden sollten. Wie ich in meiner Serie „Temperatursensor-Projekt” erwähnt habe, kann eine thermische Unterbrechung zwischen dem Sensor und dem Rest Ihrer Leiterplatte dazu beitragen, die Genauigkeit des Messwerts zu verbessern – vorausgesetzt, Sie möchten die Umgebungstemperatur und nicht die Temperatur der Leiterplatte messen.
Steckplätze für thermische Isolierung
Auf dieser Leiterplatte isoliere ich den Temperatursensor und platziere ihn an der Unterkante der Platine. Mein Plan ist es, dieses Board vertikal zu montieren, wobei das USB-Kabel für das Entwicklerboard vertikal hochsteht. Jegliche Wärmeabgabe von den Leiterplatten verursacht Konvektionsströme, die Luft mit Umgebungstemperatur über den Sensor bringen.
Wenn unser Host-Board und unser Schild fertig sind, können wir mit der Erstellung der Multi-Board-Baugruppe fortfahren.
Der erste Schritt besteht darin, ein neues Projekt zu erstellen. Anstatt jedoch auf dem Projekterstellungsbildschirm PCB auszuwählen, wählen wir Multi-Board.
Multi-Board-Projekt erstellen
Wir erstellen dann einen neuen Schaltplan für mehrere Leiterplatten.
Neuer Multi-Board-Schaltplan
Wenn das neue Schaltplanblatt gespeichert ist, fügen wir zwei Module hinzu - eines für jede Leiterplatte, und weisen ihnen dann die Leiterplatten aus dem Eigenschaftsfenster zu. Ich lege auch den Titel für jedes Modul fest, um leichter erkennen zu können, um welches Modul es sich handelt.
Schaltplanmodule für Multi-Boards
Sobald dies erledigt ist, können wir zu „Design” -> „Import aus untergeordneten Projekten” gehen, wo Ports für jeden steckverbinder hinzugefügt werden, dem wir den Parameter System=Connector hinzugefügt haben.
Aus untergeordneten Projekten importieren
Um die Steckrichtung visuell darzustellen, habe ich die Steckverbindung der Nucleo-Leiterplatte als weiblich und das Schild als männlich dargestellt.
Für dieses Board werden wir die Leiterplatten direkt mit ihren Steckverbindern verbinden, sodass wir eine direkte Verbindung zwischen den Steckverbindern hinzufügen können.
Hinzufügen einer direkten Verbindung
Damit ist der Multi-Board-Schaltplan fertig, da Altium automatisch alle Verbindungen zwischen den beiden Boards zugewiesen hat.
Vollständiger Multi-Board-Schaltplan
Jetzt können wir dem Projekt eine neue Multi-Board-Baugruppe hinzufügen. Sobald diese geöffnet ist, sollten Sie sie sofort speichern.
Mit der gespeicherten Multi-Board-Baugruppe können wir zu Design -> Update Montage gehen, was je nach den Spezifikationen Ihres Computers und der Komplexität Ihrer Projekte einige Zeit dauern kann.
Änderungsauftrag für die Montagetechnik aktualisieren
Sobald Sie fertig sind, haben Sie jedes Ihrer Boards im 3D-PCB-Arbeitsbereich. Wir können die Verbindungswerkzeuge verwenden, um die Steckverbinder miteinander zu verbinden.
Wählen Sie zunächst einen Pin auf dem Arduino-Stecker auf dem Schild aus. Achten Sie darauf, dass der Referenzpunkt in der Mitte des Pins und auf der Ebene liegt, auf der sich die Stecker treffen.
Mate auf EnviroShield auswählen
Wählen Sie dann das Loch auf dem Nucleo-Board aus und achten Sie darauf, dass sich der Bezugspunkt in der Mitte des Lochs befindet.
Partner auf dem Nucleo Board auswählen
Bei mir sind die Stifte zwar richtig angeschlossen, aber die Ausrichtung ist nicht ideal. Im Bedienfeld „Multi-Board-Montage” (auf den Sie über die Schaltfläche „Panels”in der unteren rechten Ecke von Altium Designer zugreifen können, falls es noch nicht geöffnet ist) können Sie die Verknüpfungen anzeigen.
Multi-Board-Baugruppe mit passender Ausrichtung
Ich musste lediglich die Ausrichtung des Partnersteckers um 180 Grad ändern, und schon war alles richtig angeschlossen.
Abgeschlossene Multi-Board-Montage
Ein Set an sehr interessanten und unerwarteten Daten, das meine Prototypen-Einheit gesammelt hat, kamen von der Schockwelle des sehr großen Ausbruchs des Hunga Tonga–Hunga Haʻapai Vulkans in Tonga am 14. Januar 2022. Trotz der Tatsache, dass meine Wetterstation über 15.500 km von Tonga entfernt ist, gibt es einen sichtbaren Impuls in meinen Druckdaten. Ich speichere nur alle 30 Minuten Durchschnittsdaten, obwohl ich häufiger Daten melde, aber der Spitzendruck der Schockfront und der Tiefdruck hinter der Schockwelle sind immer noch deutlich sichtbar. Der Spitzenimpuls ist viel niedriger als bei den von der Regierung betriebenen Sensoren in ganz Europa, allerdings befand sich der Sensor nicht im Freien, sondern in einem Gebäude mit meterdicken Steinwänden.
Es sind Daten wie diese, die meine Liebe zur Gebäudedatenerfassung und Sensorhardware wirklich festigen!
Durch den Aufbau einer Multi-Board-Baugruppe in Altium Designer konnte ich sicherstellen, dass alle meine Signale elektrisch und mechanisch zwischen den beiden Leiterplatten ausgerichtet sind. Ich kann auch überprüfen, ob die Leiterplatten richtig zusammenpassen, indem ich die Tools -> Kollisionsprüfung verwende, um sicherzustellen, dass ich keine unerwarteten Überraschungen erlebe, sobald ich die physische Hardware in meinen Händen habe. Die Arbeit mit Multi-Board-Projekten erscheint zwar komplex, aber die Tools von Altium machen es Ihnen leicht. Die Erstellung Ihrer Multi-Board-Baugruppen in Altium spart Ihnen Zeit, da Sie die Baugruppe in der digitalen Welt prüfen können und nicht erst bei der Montage von Prototypen feststellen müssen, dass Ihre Baugruppe in der realen Welt Probleme hat.
Können Sie mit Multi-Board-Baugruppen Zeit sparen und Ihre Produktivität steigern? Sprechen Sie jetzt mit einem Experten von Altium, um mehr zu erfahren.