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.
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.
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.
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?
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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%.
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
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.
Schema di visualizzazione di Newhaven
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à.
Aggiungi parametro alle proprietà del connettore
Aggiungi la proprietà “Sistema" con il valore “Connettore”.
Proprietà di sistema aggiunta
Con questa semplice aggiunta, tutto è pronto per l'uso su più schede.
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
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.
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.
Creazione di un progetto multi-scheda
Quindi creiamo un nuovo schema 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 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.
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.
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 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.
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.
Selezionare gli abbinamenti su EnviroShield
Quindi seleziona il foro sulla scheda Nucleo, accertandoti che il punto di riferimento sia al centro del foro.
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.
Orientamento dell'abbinamento di assieme multi-scheda
Ho dovuto semplicemente cambiare l'orientamento dell'abbinamento a 180 gradi e tutto è stato collegato correttamente.
Assieme multi-scheda completato
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.
Sono dati come questo che consolidano davvero il mio interesse per la raccolta di dati e l'hardware dei sensori!
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.