Progettazione multi-scheda con le shield di Nucleo

Mark Harris
|  Creato: February 1, 2022  |  Aggiornato: June 25, 2023
Design multi-scheda di Nucleo Shield

In questo articolo creeremo una shield PCB per una scheda di sviluppo di STMicroelectronics Nucleo. Sebbene utilizzi solo le intestazioni compatibili con Arduino, è utilizzabile con qualsiasi scheda di sviluppo con intestazioni stile Arduino. Con la prototipazione su un kit di sviluppo, possiamo dimostrare il nostro progetto senza preoccuparci dell'implementazione del microcontrollore, dell'alimentazione o delle comunicazioni.

Questo ci consente anche di determinare i requisiti reali dei processori della nostra implementazione; utilizzando un fattore di forma standard possiamo passare da una vasta gamma di microcontrollori di vari produttori senza dover creare più schede. In questo modo possiamo approfondire i requisiti e determinare quale microcontrollore è ottimale per la nostra applicazione, permettendoci di prototipare rapidamente per valutare i microcontrollori con una vasta gamma di funzionalità in un'ampia fascia di prezzo.

Tuttavia, questo non è l'unico utilizzo per le schede secondarie nel settore dell'elettronica. La creazione di hardware con più schede è molto comune e può presentare delle problematiche tecniche agli ingegneri che se ne occupano. Le funzionalità multi-scheda di Altium aiutano ad alleviare queste problematiche fornendo agli ingegneri gli strumenti per abbinare l'hardware nell'ambiente di progettazione, verificando che i segnali elettrici e i connettori meccanici siano allineati e compatibili prima di impegnarsi con ordini di schede.

Progetto EnviroShield

Per questo articolo stiamo costruendo una stazione meteorologica relativamente semplice. Sarà caratterizzata da un sensore digitale ad alta precisione di umidità relativa/temperatura e da un sensore di pressione digitale ad alta precisione. Avremo anche un display LCD con la visualizzazione dei valori correnti. Questa shield è perfetta per monitorare accuratamente l'ambiente all'interno di una casa, di un laboratorio o di un ambiente industriale. Se questa scheda fosse posizionata su un kit di sviluppo dotato di connettività di rete (cablata o wireless), potrebbe facilmente archiviare i dati in un database o essere monitorata da remoto.

Enviro shield scheda completa

 

Come per gli altri miei progetti, troverai i file di progettazione sul mio GitHub. È open source e gratuito, ma non viene fornito con alcuna garanzia per difetti di conformità o garanzia commerciale ai sensi della licenza MIT. 

Perché più schede?

Come già detto, la suddivisione dell'hardware in più schede è una strategia comune per risolvere un'ampia gamma di problemi nei progetti. Gestire le complessità di più schede interconnesse potrebbe averti scoraggiato in passato, tuttavia, come vedrai in questo progetto, i progetti multi-scheda di Altium semplificano la vita.

Allora, perché dovresti considerare di dividere un progetto in più schede?

Prototipazione

Durante le prime fasi di un progetto, ridurre il rischi e concentrarsi sulle parti critiche può accelerare rapidamente il processo di progettazione. È possibile provare rapidamente componenti alternativi, verificare che le funzionalità dei componenti corrispondano ai propri requisiti e disporre rapidamente di un proof of concept come dimostrazione per le parti interessate.

Il progetto EnviroShield che realizziamo in questo articolo rientra in questa categoria: stiamo rapidamente creando un sensore ambientale senza doverci preoccupare del microcontrollore host o dell'implementazione di rete. Utilizzando un kit di sviluppo a basso costo e una scheda shield relativamente semplice, possiamo valutare rapidamente i componenti del sensore e testare il nostro codice, riducendo al contempo i rischi connessi alla progettazione della scheda.

Risparmio di spazio

Se il progetto ha un gran numero di componenti e troppo poco spazio, impilare le schede può offrire molti vantaggi. Come ingegneri elettronici, quando si tratta di progettazione in genere pensiamo allo spazio orizzontale e raramente consideriamo l'asse verticale. La maggior parte dei componenti che contiene un tipico circuito stampato è a basso profilo. Utilizzando connettori di accoppiamento a profilo ultrabasso e forme delle schede intelligenti per aggirare i componenti più grandi, come i condensatori o i connettori in alluminio, è possibile raddoppiare l'area delle schede con un aumento di volume minimo.

Isolamento

Si trovano spesso progetti in cui hai due blocchi di componenti che semplicemente non vuoi che coesistano sullo stesso circuito stampato. Ad esempio, potresti avere alcuni piccoli ingressi per sensori di precisione del segnale che stai amplificando, ma avere un driver ad alta corrente o una radio potente nello stesso design. Potresti anche avere una tensione CA in arrivo sulla scheda e non volerla accanto agli altri componenti.

Separando fisicamente i blocchi schematici che non necessariamente coesistono bene, è possibile ridurre il rischio che il progetto non funzioni come previsto.

Modularità

Sebbene questo progetto si rivolga maggiormente alla categoria della prototipazione, è anche un design modulare. Potremmo posizionare il nostro sensore ambientale su una scheda host con funzionalità di rete o utilizzare una scheda host più semplice che riduce i costi. Che tu stia progettando la scheda host o una scheda secondaria, utilizzando una connessione elettromeccanica standardizzata puoi offrire ai tuoi clienti un'espansione futura a un dispositivo o a funzionalità migliorate.

Troverai questo tipo di modularità dei plug-in molto comune negli alimentatori, nell'hardware di raccolta dati e nelle apparecchiature di produzione audio/video, solo per citarne alcuni.

Vuoi saperne di più?

Parleremo in modo più esteso dei motivi per cui potresti voler creare delle schede secondarie sulla superficie nel nostro prossimo articolo sulla multi-scheda. Ci concentreremo ulteriormente sui criteri di modularità, sulla certificazione e sulla riduzione dei costi per trasferire la funzionalità su un'altra scheda.

Connettori da scheda a scheda

Quando progetti un prodotto che avrà più circuiti stampati, avrai bisogno di un modo per collegarli l'uno all'altro. Sebbene sia possibile utilizzare un cablaggio/un assemblaggio di cavi o flessibili per collegare le schede, in questo articolo esamineremo da vicino le schede montate e collegate direttamente. Le connessioni dirette sono facili da produrre, a partire dai prototipi fino a grandi volumi di produzione, mentre i cablaggi personalizzati avranno in genere un requisito di volume minimo per essere convenienti.

Intestazione rettangolare

In questo progetto di esempio stiamo utilizzando semplici intestazioni rettangolari. La scheda può essere assemblata utilizzando le intestazioni pin breakaway o con la più tipica (per una shield Arduino) intestazione femmina a coda lunga. Le intestazioni rettangolari sono disponibili in un'ampia varietà di passi, lunghezze, righe e conteggi di posizione, a seconda delle tue esigenze. In genere gestiscono bene quantità moderate di corrente e hanno connessioni a bassa resistenza che si mantengono senza problemi.

Le intestazioni rettangolari sono prontamente disponibili sia nelle varianti a foro passante che a montaggio superficiale.

Le intestazioni rettangolari sono spesso considerate un'opzione di connessione economica, ma quando si confrontano i prezzi delle intestazioni rettangolari con i connettori mezzanini, è possibile che questi ultimi siano più convenienti per pin e occupino molto meno spazio sulla scheda.

Mezzanini

I connettori mezzanini sono in genere a montaggio in superficie con un numero elevato di pin e possono avere un profilo estremamente basso. I connettori mezzanini sono perfetti per un gran numero di segnali in un hardware strettamente integrato, in cui il volume assemblato è fondamentale.  Detto questo, i connettori mezzanini sono facilmente disponibili da 3 posizioni a molte centinaia, con alcune combinazioni molto creative di funzioni oltre ai pin di base. Alcuni connettori offrono pin dedicati per l'alimentazione che garantiscono valori nominali di corrente o tensione più elevati. Altre connessioni possono includere dei jack RF in grado di trasferire segnali RF in modo efficiente da una scheda all'altra.

Considerata l'abbondanza di disponibilità a magazzino di passi dei pin fino a 0,3 mm e altezze accoppiate fino a 0,6 mm, nonostante le attuali carenze, i connettori mezzanini sono la mia scelta tipica per le schede di interconnessione.

Backplane

Se stai costruendo moduli basati su rack, i connettori backplane DIN 41612 offrono un numero elevato di pin e affidabilità in un connettore standardizzato. Troverai anche Hard Metric (Hm) come standard alternativo che offre un numero di pin altrettanto elevato. Infine, ci sono i connettori backplane di tipo ARINC, anche se questi robusti connettori sono altamente mirati all'aerospaziale e alla difesa e hanno un prezzo adeguato alla destinazione.

Connettore backplane DIN 41612

Fonte: connettore backplane Harting DIN 41612 presso Digi-Key

I connettori backplane sono in genere utilizzati per applicazioni specializzate, come apparecchiature modulari o sistemi in qualche forma di rack in cui scorrono le schede e probabilmente non sono il tipo di connettore preferito.

Bordo scheda/Edgeboard

Se hai bisogno che la tua scheda si colleghi a un'altra in modo ripetuto e affidabile, i connettori a bordo scheda possono rappresentare un'opzione a basso costo. Probabilmente hai più familiarità con le schede PCI-E, come quelle per una scheda grafica per computer, o DIMM RAM sulla scheda madre di un computer e, sebbene tu possa utilizzare questi standard, sono disponibili anche opzioni più generiche. 

I minuscoli computer a scheda singola sono comunemente disponibili nei formati SO-DIMM e MXM. Ciò consente di spostare la complessità ingegneristica del processore dell'applicazione e della RAM su una scheda secondaria. È un ottimo esempio di utilizzo di un connettore standardizzato per qualcosa di diverso dall'uso previsto.

Connettore Amphenol MXM3.0

Fonte: connettore Amphenol MXM3.0

I connettori generici come la serie Standard Edge II di TE offrono un'opzione che non sarà facilmente confusa con qualcosa che è uno standard ben noto.

Connettore TE Standard Edge II

Fonte: connettore TE Standard Edge II su Digi-Key

Uno dei principali vantaggi dei connettori sul bordo della scheda è che solo la scheda host deve avere un connettore montato su di essa. La scheda figlia avrà contatti su un bordo della scheda che si inseriscono nel connettore della scheda host. In questo modo è possibile ridurre i costi e garantire una connessione affidabile, anche se in genere l'utilizzo di un connettore edgeboard non si traduce in un risparmio di spazio.

Saldatura

Se non serve che le due schede siano separate in un secondo momento e il tuo obiettivo principale non è ridurre il volume, la saldatura diretta di una scheda a un'altra è un'opzione praticabile. Creare il proprio modulo a montaggio in superficie non è difficile e nel mio prossimo articolo sul progetto multi-scheda spiegherò come farlo, oltre a illustrare pro e contro di questo approccio.

Preparazione dei file di progettazione della scheda Nucleo

Sto utilizzando una STMicroelectronics Nucleo-64 come scheda host. Sono schede di sviluppo a basso costo per la prototipazione con potenti processori e un'ampia gamma di periferiche. Quando hai bisogno di più connettività rispetto alle semplici intestazioni Arduino, l'intera gamma di pin sul dispositivo è disponibile tramite i connettori Morpho ausiliari. Ho scaricato i file di progettazione Altium da ST per creare un punto di partenza per questo assemblaggio multi-board.

Idealmente, avrei solo bisogno di aggiungere un singolo parametro a ciascuno dei connettori Arduino per indicare che sono destinati a un'interconnessione multi-scheda. Tuttavia, la mia libreria ha un'intestazione Arduino completa come singolo componente, che mi consente di aggiungere il pacchetto di intestazione Schmartboard Arduino alla mia scheda come una singola linea della distinta base dei materiali. Ciò garantisce inoltre che tutte le testate siano disposte correttamente, dal punto di vista sia meccanico che elettrico. La scheda ST Nucleo ha intestazioni separate per ciascun connettore Arduino e una connessione multi-scheda diretta. Pertanto, ho sostituito le intestazioni nel progetto della scheda Nucleo con il mio componente della libreria per le intestazioni Arduino.

Nucleo arduino

Scheda STMicroelectronics Nucleo-64 con intestazioni Arduino sostituite.

Una volta fatto ciò, tutto ciò che è necessario è aggiungere il parametro "Sistema" con il valore "connettore" e la scheda Nucleo è pronta per l'uso. Preparare una scheda esistente per un assieme multi-scheda è un processo semplice e veloce.

Costruzione della shield del sensore ambientale

Per questo progetto, voglio avere una stazione meteorologica da interni relativamente semplice che mi fornisca umidità relativa, temperatura e pressione. Eseguendo la costruzione su un kit di sviluppo, posso provare il design e le prestazioni prima di passare a un design più robusto e completamente integrato nel prossimo articolo del progetto.

Per i sensori, ho selezionato gli eccellenti sensori della serie HTU21D di TE, che stranamente hanno il numero di parte HPP845E031. Offrono un'eccellente risoluzione e precisione e, un aspetto importante per me, sono classificati fino al 100% di umidità. Molti sensori di umidità non superano il 100%, alcuni arrivano appena all'80%.

Schematico del sensore di umidità

Schema del sensore di umidità/temperatura relativa

Inizialmente avevo intenzione di utilizzare il sensore di pressione MS5611 (precedentemente Measurement Specialties) di TE, ma per la mia applicazione la precisione/risoluzione supera la reale necessità e non potevo giustificare il prezzo. Al suo posto sto usando l'MS5607, che è compatibile con i pin, così posso passare all'altra opzione se voglio puntare al meglio in futuro.

schematico del sensore di pressione

Schematico del sensore di pressione

Ho anche un LCD grafico Newhaven Displays relativamente piccolo con retroilluminazione bianca sulla scheda. Questo mi consentirà di essere più creativo con il display rispetto a un LCD a caratteri. Ho un pulsante sulla scheda che posso premere per abilitare la retroilluminazione, che quindi non è sempre accesa. Il pulsante può anche essere usato per passare da un display all'altro, se volessi programmare quella funzione in futuro.

Schematico del display di Newhaven

Schema di visualizzazione di Newhaven

Preparazione del progetto per l'uso su più schede

Come per la scheda host, dobbiamo dire ad Altium Designer quali connettori verranno utilizzati per la nostra interconnessione multi-scheda. Ancora una volta, è semplice come selezionare il simbolo schematico dell'intestazione Arduino sul nostro foglio schematico e aggiungere un nuovo parametro nel pannello delle proprietà.

parametri 1

Aggiungi parametro alle proprietà del connettore

Aggiungi la proprietà “Sistema" con il valore “Connettore”.

parametri

Proprietà di sistema aggiunta

Con questa semplice aggiunta, tutto è pronto per l'uso su più schede.

Considerazioni sui sensori di temperatura

L'unica parte non ordinaria di questo circuito sono le considerazioni da fare sui i sensori di temperatura. Come ho detto nella mia serie “Temperature Sensor Project”, un'interruzione termica tra il sensore e il resto della scheda può contribuire a migliorare la precisione della lettura, supponendo che si desideri misurare la temperatura dell'ambiente anziché la temperatura della scheda.

Slot di isolamento termico

Slot di isolamento termico

Su questa scheda, sto isolando il sensore di temperatura e lo sto posizionando rispetto al bordo inferiore della scheda. Il mio piano è quello di montare questa scheda verticalmente, con il cavo USB per la scheda di sviluppo in posizione verticale. Qualsiasi uscita di calore dalle schede farà sì che le correnti di convezione portino l'aria a temperatura ambiente sopra il sensore.

Creazione dell'assieme multi-scheda

Con la nostra scheda host e lo scudo completati, possiamo passare alla creazione dell'assieme multi-scheda.

Il primo passo è creare un nuovo progetto, ma invece di selezionare PCB nella schermata di creazione del progetto, selezioniamo Multi-scheda.

crea progetto

Creazione di un progetto multi-scheda

Quindi creiamo un nuovo schema multi-scheda.

schematico multi-scheda

Nuovo schema multi-scheda

Con il nuovo foglio schematico salvato, aggiungiamo due moduli, uno per ciascuna scheda, quindi assegniamo le schede dalla finestra delle proprietà. Ho anche impostato il titolo per ogni modulo, in modo da rendere più facile l'identificazione dei moduli.

Moduli

Moduli schematici multi-scheda

Una volta fatto ciò, possiamo andare su Design (Progettazione) -> Import From Child Projects (Importa da progetti secondari), che aggiungerà le porte per ogni connettore a cui abbiamo aggiunto il parametro System=Connector.

Importa progetto figlio su Altium

Importare da progetti secondari

Per mostrare visivamente la direzione di associazione, ho impostato il connettore della scheda Nucleo su femmina e shield su maschio.

Per questa scheda, uniremo direttamente le schede insieme ai loro connettori, in modo da aggiungere una connessione diretta tra i connettori.

Creare collegamento diretto su Altium

Aggiunta di una connessione diretta

Questa azione completa lo schema multi-scheda, poiché Altium ha assegnato automaticamente tutte le connessioni tra le due schede.

Schematico completato su Altium

Schematico multi-scheda completato

Ora possiamo aggiungere un nuovo assieme multi-scheda al progetto: una volta aperto, assicurati di salvarlo immediatamente. 

Una volta salvato l'assieme multi-scheda, possiamo passare a Design (Progettazione) -> Update Assembly (Aggiorna assemblaggio), che potrebbe richiedere del tempo a seconda delle specifiche del computer e della complessità dei progetti.

Cambiare ordine di assemblaggio su Altium

Aggiornamento dell'ordine di modifica dell'assemblaggio

Una volta completate, avrai ciascuna delle tue schede nell'area di lavoro del PCB 3D. Possiamo utilizzare gli strumenti di abbinamento per unire i connettori.

Innanzitutto, seleziona un pin sul connettore Arduino sullo shield, assicurandoti che il punto di riferimento sia al centro del pin e sul piano in cui i connettori si incontreranno.

abbinamento shield

Selezionare gli abbinamenti su EnviroShield

Quindi seleziona il foro sulla scheda Nucleo, accertandoti che il punto di riferimento sia al centro del foro.

Selezionare abbinamento nucleo su Altium

Selezionare gli abbinamenti sulla scheda Nucleo

Per me, i pin sono collegati correttamente, ma l'orientamento non è ideale. Nel pannello Multi-board Assembly (Assieme multi-scheda) (accessibile dal pulsante Panels nell'angolo in basso a destra di Altium Designer, se non è già aperto), puoi visualizzare gli abbinamenti. 

impostazioni

Orientamento dell'abbinamento di assieme multi-scheda

Ho dovuto semplicemente cambiare l'orientamento dell'abbinamento a 180 gradi e tutto è stato collegato correttamente.

scheda completa

Assieme multi-scheda completato

Raccolta di dati interessanti

Un dato inaspettato molto interessante raccolto dalla mia unità prototipo è stato l'onda d'urto della grande eruzione del vulcano Hunga Tonga-Hunga Haʻapai, avvenuta a Tonga il 14 gennaio 2022. Nonostante il fatto che la mia stazione meteorologica sia a oltre 15.500 km da Tonga, ho riscontrato un impulso visibile nei miei dati di pressione. Sto memorizzando i dati medi solo ogni 30 minuti, nonostante i dati siano riportati più frequentemente, eppure il picco di pressione del fronte d'urto e la bassa pressione dietro l'onda d'urto sono ancora chiaramente visibili. L'impulso di picco è molto inferiore a quello dei sensori gestiti dal governo in tutta Europa, ma il sensore si trovava all'interno di un edificio con pareti in pietra spesse un metro, anziché all'esterno.

dati del barometro

 

Sono dati come questo che consolidano davvero il mio interesse per la raccolta di dati e l'hardware dei sensori!

Risultato

Costruendo un assieme multi-scheda all'interno di Altium Designer, sono riuscito a garantire che tutti i miei segnali fossero allineati tra le due schede, dal punto di vista elettrico e meccanico. Posso anche controllare che le schede si adattino correttamente utilizzando Tools (Strumenti) -> Check Collisions (Controlla collisioni) per evitare sorprese inaspettate una volta che avrò in mano l'hardware fisico. I progetti con più schede sembrano complessi da utilizzare, ma gli strumenti di Altium semplificano il lavoro. La creazione di assiemi multi-scheda in Altium consente di risparmiare tempo consentendo la verifica nel mondo digitale, anziché scoprire che l'assemblaggio presenta problemi nel mondo reale durante l'assemblaggio dei prototipi.

Gli assemblaggi multischeda possono farti risparmiare tempo e aumentare la produttività? Parla subito con un esperto di Altium per scoprire come.

Sull'Autore

Sull'Autore

Mark Harris è un ingegnere eccezionale con oltre 12 anni di esperienza diversificata nel settore dell'elettronica, che va dai contratti aerospaziali e di difesa ai prodotti start-up, passatempi, ecc. Prima di trasferirsi nel Regno Unito, Mark ha lavorato per uno dei più grandi istituti di ricerca del Canada. Ogni giorno portava con sé un progetto o una sfida diversa che coinvolgeva l'elettronica, la meccanica e il software. È responsabile della pubblicazione della “Celestial Database Library”, la più grande libreria di componenti di database open source per Altium Designer. Mark è attratto dall'hardware e dal software open source, nonché a trovare soluzioni innovative per le sfide quotidiane di questi progetti. L'elettronica è pura passione: seguire la trasformazione di un'idea in realtà e interagire con il mondo è fonte di infinito piacere.
Puoi contattare Mark direttamente a: mark@originalcircuit.com

Risorse correlate

Documentazione Tecnica Correlata

Tornare alla Pagina Iniziale
Thank you, you are now subscribed to updates.