Sommario:

Progetta il tuo PCB del modulo di calcolo Raspberry Pi: 5 passaggi (con immagini)
Progetta il tuo PCB del modulo di calcolo Raspberry Pi: 5 passaggi (con immagini)

Video: Progetta il tuo PCB del modulo di calcolo Raspberry Pi: 5 passaggi (con immagini)

Video: Progetta il tuo PCB del modulo di calcolo Raspberry Pi: 5 passaggi (con immagini)
Video: Come progettare un circuito - EasyEDA tutorial 2024, Dicembre
Anonim
Progetta il tuo PCB del modulo di calcolo Raspberry Pi
Progetta il tuo PCB del modulo di calcolo Raspberry Pi
Progetta il tuo PCB del modulo di calcolo Raspberry Pi
Progetta il tuo PCB del modulo di calcolo Raspberry Pi
Progetta il tuo PCB del modulo di calcolo Raspberry Pi
Progetta il tuo PCB del modulo di calcolo Raspberry Pi

Se non hai mai sentito parlare del modulo di calcolo Raspberry Pi prima, è fondamentalmente un computer Linux a tutti gli effetti con il fattore di forma di una chiavetta RAM per laptop!

Con diventa possibile progettare le proprie schede personalizzate in cui il Raspberry Pi è solo un altro componente. Ciò ti dà un'enorme quantità di flessibilità in quanto ti consente di avere accesso a una quantità molto maggiore di pin IO, mentre allo stesso tempo puoi scegliere esattamente quale hardware desideri sulla tua scheda. L'eMMC integrato elimina anche la necessità di una scheda micro SD esterna, il che rende il modulo di calcolo perfetto per la progettazione di prodotti basati su Raspberry Pi.

Sfortunatamente, sebbene il modulo di calcolo ti permetta di fare tutto questo, sembra ancora mancare di popolarità rispetto ai tradizionali Raspberry Pi Model A e B. Di conseguenza, non ci sono molti progetti hardware open source là fuori basati su esso. E per chiunque voglia iniziare a progettare le proprie schede, la quantità di risorse di cui dispone è piuttosto limitata.

Quando ho iniziato a utilizzare il modulo di elaborazione Raspberry Pi alcuni mesi fa, era esattamente il problema che dovevo affrontare. Quindi, ho deciso di fare qualcosa al riguardo. Ho deciso di progettare un PCB open source basato sul Compute Module, che avrà tutte le funzionalità di base che rendono eccezionale il Raspberry Pi. Ciò include un connettore per fotocamera, host USB, uscita audio, HDMI e, naturalmente, un'intestazione GPIO compatibile con le normali schede Raspberry Pi.

L'obiettivo di questo progetto è fornire un design open source per una scheda basata su Compute Module, che chiunque sarà in grado di utilizzare come punto di partenza per progettare la propria scheda personalizzata. La scheda è stata progettata su KiCAD, un pacchetto software EDA open source e multipiattaforma, per consentire a quante più persone possibile di trarne vantaggio.

Basta prendere i file di progettazione, adattarli alle tue esigenze e far girare la tua scheda personalizzata per il tuo progetto.

Passaggio 1: parti e strumenti

Parti e strumenti
Parti e strumenti
Parti e strumenti
Parti e strumenti
Parti e strumenti
Parti e strumenti
Parti e strumenti
Parti e strumenti

Per iniziare con il modulo di calcolo Raspberry Pi avrai bisogno delle seguenti parti:

1 x Raspberry Pi Compute Module 3 - Consiglio vivamente di ottenere la versione normale che include l'eMMC a bordo e non la versione Lite. Se desideri utilizzare la versione Lite nel tuo progetto, dovrai apportare alcune modifiche al design, inclusa l'aggiunta di un connettore per scheda micro SD. Infine, ho testato la scheda solo con la CM3 e non posso garantire che funzionerà con la prima versione CM rilasciata nel 2014.

Aggiornamento 29/1/2019: sembra che la Fondazione abbia appena rilasciato il Modulo di calcolo 3+ e non solo, ma ora include anche l'opzione per un eMMC da 8 GB, 16 GB o 32 GB! Secondo la scheda tecnica, sembra che il CM3+ sia elettrico identico al CM3, il che significa che è fondamentalmente un calo in sostituzione del CM3.

1 x Scheda IO del modulo di calcolo - Il mio progetto doveva servire come punto di partenza per progettare la tua scheda personalizzata basata su di essa, non per sostituire la scheda IO del modulo di calcolo. Quindi, per semplificarti la vita, ti consiglio vivamente di mettere le mani su una scheda IO e usarla per lo sviluppo prima di passare a una scheda personalizzata. Oltre a darti accesso a ogni singolo pin del CM più una varietà di connettori, la scheda IO è necessaria anche per il flashing dell'eMMC di bordo. Che è qualcosa che non puoi fare con la mia tavola, a meno che tu non faccia prima alcune modifiche al design.

1 x cavo per fotocamera Raspberry Pi Zero o adattatore per fotocamera del modulo di calcolo - Sul mio progetto sto utilizzando un connettore per fotocamera molto simile a quello utilizzato dalla scheda IO del modulo di calcolo e dal Raspberry Pi Zero. Quindi, per collegare una fotocamera avrai bisogno di un cavo adattatore progettato per il Pi Zero o della scheda dell'adattatore della fotocamera che viene fornita insieme al kit di sviluppo del modulo di calcolo. Per quanto ne so, l'acquisto della scheda adattatore separatamente è piuttosto costoso. Quindi, se come me hai deciso di acquistare separatamente la tua scheda CM e IO per risparmiare, ti consiglio di prendere invece il cavo adattatore per fotocamera progettato per il Pi Zero.

1 x Modulo fotocamera Raspberry Pi - Ho testato la scheda solo con il modulo fotocamera originale da 5 MP e non con la versione più recente da 8 MP. Ma dal momento che il primo sembra funzionare bene, non vedo alcun motivo per cui il secondo non dovrebbe essere compatibile con le versioni precedenti. Ad ogni modo, la versione da 5 MP può essere trovata per meno di 5 € su eBay al giorno d'oggi, motivo per cui consiglierei di prenderne una.

4 x cavi jumper da femmina a femmina - Avrai bisogno di almeno 4 per configurare il connettore della fotocamera sulla scheda IO, ma probabilmente vorrai ottenerne di più. Non sono necessari per la scheda personalizzata, ma possono essere utili se prevedi di collegare qualsiasi hardware esterno tramite l'intestazione GPIO.

1 x cavo HDMI - Ho deciso di utilizzare un connettore HDMI a grandezza naturale sulla mia scheda per eliminare la necessità di adattatori. Naturalmente, se preferisci utilizzare un connettore mini o anche un micro HDMI, sentiti libero di adattare il design alle tue esigenze.

1 x alimentatore micro USB da 5 V - Il caricabatterie del telefono dovrebbe probabilmente funzionare bene nella maggior parte dei casi, purché possa fornire almeno 1 A. Tieni presente che questo è solo un valore generale, i tuoi effettivi requisiti di alimentazione dipenderanno dall'hardware che decidi di includere sulla tua scheda personalizzata.

1 x adattatore USB Ethernet: se prevedi di installare o aggiornare praticamente qualsiasi pacchetto sul tuo sistema, avrai bisogno di un accesso a Internet almeno temporaneo. Un adattatore Ethernet 2 in 1 più un hub USB è probabilmente una buona combinazione poiché hai solo una porta USB disponibile. Personalmente uso l'Edimax EU-4208 che funziona immediatamente con il Pi e non richiede alimentazione esterna, ma non ha un hub USB integrato. Se stai cercando di acquistare un adattatore Ethernet USB qui puoi trova un elenco con quelli che sono stati testati con il Raspberry Pi.

Se vuoi aggiungere più porte USB e persino Etherent direttamente sulla tua scheda personalizzata, ti suggerisco di dare un'occhiata al LAN9512 di Microchip. È lo stesso chip utilizzato dall'originale Raspberry Pi Model B e ti fornirà 2 porte USB e 1 porta Ethernet. In alternativa, se hai bisogno di 4 porte USB, considera di dare un'occhiata a suo cugino LAN9514.

1 x DDR2 SODIMM RAM Connector - Questo è probabilmente il componente più importante dell'intera scheda e probabilmente l'unico che non può essere facilmente sostituito. Per salvarti dai problemi la parte che dovresti ottenere è la TE CONNECTIVITY 1473005-4. È disponibile dalla maggior parte dei principali fornitori tra cui TME, Mouser e Digikey, quindi non dovresti avere problemi a trovarlo. Fai molta attenzione, ricontrolla e assicurati che la parte che stai ordinando sia effettivamente la 1473005-4. Non commettere lo stesso errore che ho fatto e ottenere la versione speculare, questi connettori non sono economici.

Per il resto delle parti che scelgo di includere nella scheda puoi dare un'occhiata alla distinta base per avere maggiori informazioni, ho cercato di includere collegamenti alle schede tecniche per la maggior parte di esse.

Attrezzatura di saldatura - I componenti più piccoli sulla scheda sono i condensatori di disaccoppiamento 0402, ma anche l'HDMI, la fotocamera e i connettori SODIMM possono essere un po' impegnativi senza alcun tipo di ingrandimento. Se hai una buona esperienza con la saldatura SMD, pensa che non dovrebbe essere un grosso problema. Ad ogni modo, se ti capita di avere accesso a un microscopio, te lo consiglio vivamente.

Passaggio 2: lampeggiare l'EMMC

La prima cosa che devi fare prima di iniziare a utilizzare il tuo modulo di calcolo è eseguire il flashing dell'ultima immagine Raspbian Lite su eMMC. La documentazione ufficiale di Raspberry Pi è scritta molto bene e descrive l'intero processo in modo molto dettagliato sia per Linux che per Windows. Per questo motivo descriverò solo i passaggi che devi eseguire molto brevemente su Linux, in modo che possano servire come riferimento rapido.

Prima di tutto, devi assicurarti che la tua scheda IO sia impostata sulla modalità di programmazione e che il modulo di calcolo sia inserito nel connettore SODIMM. Per impostare la scheda in modalità programmazione spostare il jumper J4 in posizione EN.

Successivamente, dovrai creare lo strumento rpiboot sul tuo sistema in modo da poterlo utilizzare per ottenere l'accesso a eMMC. Per fare ciò, hai bisogno di una copia del repository usbboot che può essere ottenuto facilmente usando git come segue, git clone --depth=1 https://github.com/raspberrypi/usbboot && cd usbboot

Ora, per compilare rpiboot devi assicurarti che entrambi i pacchetti libusb-1.0-0-dev e make siano installati sul tuo sistema. Quindi, supponendo che tu sia su una distribuzione basata su Debian come Ubuntu Run, sudo apt update && sudo apt install libusb-1.0-0-dev make

Se non usi una distribuzione basata su Debian, il nome del pacchetto libusb-1.0.0-dev potrebbe essere diverso, quindi assicurati di trovare come viene chiamato nel tuo caso. Una volta installate le dipendenze di compilazione, puoi creare il binario rpiboot semplicemente eseguendo, fare

Dopo che il build è completo, esegui rpiboot come root e inizierà ad attendere una connessione, sudo./rpiboot

Ora collega la scheda IO al tuo computer collegando un cavo micro USB alla sua porta USB SLAVE e quindi applica l'alimentazione alla porta POWER IN. Dopo alcuni secondi rpiboot dovrebbe essere in grado di rilevare il modulo di calcolo e consentire l'accesso all'eMMC. Ciò dovrebbe risultare in un nuovo dispositivo a blocchi che appare in /dev. Puoi usare il programma fdisk per aiutarti a trovare il nome del dispositivo, sudo fdisk -l

Disco /dev/sdi: 3,7 GiB, 3909091328 byte, 7634944 settori

Unità: settori di 1 * 512 = 512 byte Dimensione settore (logico/fisico): 512 byte / 512 byte Dimensione I/O (minima/ottimale): 512 byte / 512 byte Tipo etichetta disco: dos Identificatore disco: 0x8e3a9721

Tipo di ID dimensione settore avvio avvio dispositivo

/dev/sdi1 8192 137215 129024 63M c W95 FAT32 (LBA) /dev/sdi2 137216 7634943 7497728 3.6G 83 Linux

Nel mio caso era /dev/sdi poiché ho già alcune unità collegate al mio sistema, ma le tue saranno sicuramente diverse.

Dopo essere stato assolutamente sicuro di aver trovato il nome del dispositivo corretto, è possibile utilizzare dd per masterizzare l'immagine Raspbian Lite su eMMC. Prima di farlo, assicurati che non ci siano partizioni di eMMC già montate sul tuo sistema.

df -h

Se ne trovi, smontali come segue, sudo umount /dev/sdXY

Ora fai molta attenzione, l'uso del nome del dispositivo sbagliato con dd può potenzialmente distruggere il tuo sistema e causare la perdita di dati. Non procedere con il passaggio successivo a meno che tu non sia completamente sicuro di sapere cosa stai facendo. Se hai bisogno di ulteriori informazioni, dai un'occhiata alla documentazione in merito.

sudo dd if=-raspbian-stretch-lite.img of=/dev/sdX bs=4M && sync

Una volta terminati i comandi dd e sync, dovresti essere in grado di scollegare la scheda IO dal tuo computer. Infine, non dimenticare di riportare il jumper J4 nella posizione DIS e il tuo modulo di calcolo dovrebbe essere pronto per il suo primo avvio.

Passaggio 3: primo avvio

Prima di avviare per la prima volta, assicurati di collegare una tastiera USB e un monitor HDMI alla scheda IO. Se tutto va come previsto e il tuo Pi termina l'avvio, averli collegati ti consentirà di interagire con esso.

Quando ti viene richiesto di accedere, usa "pi" per il nome utente e "raspberry" per la password poiché queste sono le credenziali di accesso predefinite. Ora puoi eseguire alcuni comandi per assicurarti che tutto funzioni come previsto come faresti normalmente su qualsiasi Raspberry Pi, ma non tentare ancora di installare nulla poiché non disponi ancora di una connessione Internet.

Una cosa importante che devi fare prima di spegnere il tuo Pi è abilitare SSH, in modo da poterti connettere ad esso dal tuo computer dopo il prossimo avvio. Puoi farlo molto facilmente usando il comando raspi-config, sudo raspi-config

Per abilitare SSH vai su Opzioni interfaccia, seleziona SSH, scegli S, OK e Fine. Nel caso in cui ti venga chiesto se desideri riavviare, rifiuta. Dopo aver terminato, spegni il tuo Pi e una volta terminato rimuovi l'alimentazione.

sudo shutdown -h ora

Successivamente, devi stabilire una connessione Internet utilizzando l'adattatore Ethernet USB che dovresti già avere. Se il tuo adattatore dispone anche di un hub USB, puoi usarlo per collegare la tastiera, se lo desideri, altrimenti puoi semplicemente connetterti al tuo Pi tramite SSH. Ad ogni modo, tieni il monitor HDMI collegato almeno per ora, per assicurarti che il processo di avvio termini come previsto.

Inoltre, verso la fine dovrebbe anche mostrarti l'indirizzo IP che il tuo Pi ha ottenuto dal server DHCP. Prova a usarlo per connetterti al tuo Pi tramite SSH.

ssh pi@

Dopo esserti connesso con successo al tuo Pi su SSH, non hai più bisogno del monitor e della tastiera collegati, quindi sentiti libero di scollegarli se lo desideri. A questo punto dovresti avere accesso a Internet anche dal tuo Pi, puoi provare a eseguire il ping di qualcosa come google.com per verificarlo. Dopo essersi assicurati di avere accesso a Internet, è una buona idea aggiornare il sistema eseguendo, sudo apt update && sudo apt upgrade

Passaggio 4: configurazione della fotocamera

Configurazione della fotocamera
Configurazione della fotocamera

La più grande differenza tra una normale scheda Raspberry Pi e il modulo di calcolo è che nel caso di quest'ultimo, oltre ad abilitare semplicemente la fotocamera utilizzando raspi-config, è necessario anche un file dell'albero del dispositivo personalizzato.

È possibile trovare ulteriori informazioni sulla configurazione del Modulo di calcolo per l'utilizzo con una telecamera nella documentazione. Ma in generale, il connettore della fotocamera, tra gli altri, dispone anche di 4 pin di controllo, che devono essere collegati a 4 pin GPIO sul modulo di calcolo, e sta a te decidere quali durante la progettazione della tua scheda personalizzata.

Nel mio caso, durante la progettazione della scheda scelgo CD1_SDA per andare su GPIO28, CD1_SCL su GPIO29, CAM1_IO1 su GPIO30 e CAM1_IO0 su GPIO31. Ho scelto questi particolari pin GPIO perché volevo avere un'intestazione GPIO a 40 pin sulla mia scheda, che mantenga anche la compatibilità con il connettore GPIO delle normali schede Raspberry Pi. E per questo motivo ho dovuto assicurarmi che i pin GPIO che sto utilizzando per la fotocamera non appaiano anche nell'intestazione GPIO.

Quindi, a meno che tu non decida di apportare modifiche al cablaggio del connettore della fotocamera, hai bisogno di un /boot/dt-blob.bin che dica al tuo Pi di configurare GPIO28-31 come descritto sopra. E per generare un dt-blob.bin, che è un file binario, è necessario un dt-blob.dts da compilare. Per semplificare le cose, fornirò il mio dt-blob.dts da usare che potrai adattare alle tue esigenze se necessario.

Per compilare il file della struttura dei dispositivi utilizzare il compilatore della struttura dei dispositivi come segue, dtc -I dts -O dtb -o dt-blob.bin dt-blob.dts

Non sono sicuro del perché, ma quanto sopra dovrebbe portare a parecchi avvertimenti, ma finché il dt-blob.bin è stato generato con successo, tutto dovrebbe andare bene. Ora sposta il dt-blob.bin che hai appena generato in /boot eseguendo, sudo mv dt-blob.bin /boot/dt-blob.bin

Quanto sopra probabilmente ti darà il seguente avviso, mv: impossibile preservare la proprietà per '/boot/dt-blob.bin': Operazione non consentita

Questo è solo mv che si lamenta del fatto che non può preservare la proprietà del file poiché / boot è una partizione FAT che è prevedibile. Potresti aver notato che /boot/dt-blob.bin non esiste per impostazione predefinita, questo perché il Pi utilizza invece un albero dei dispositivi integrato. L'aggiunta del tuo interno /boot, tuttavia, sovrascrive quello integrato e ti consente di configurare la funzione del suo pin nel modo che preferisci. Puoi trovare ulteriori informazioni sulla struttura dei dispositivi nella documentazione.

Fatto ciò, è necessario abilitare la fotocamera, sudo raspi-config

Vai su Opzioni interfaccia, seleziona Fotocamera, scegli S, OK e Fine. Nel caso in cui ti venga chiesto se desideri riavviare, rifiuta. Ora, spegni il tuo Pi e rimuovi l'alimentazione.

Dopo che l'alimentazione è stata rimossa dalla scheda IO, utilizzando 4 cavi jumper da femmina a femmina, collegare i pin per GPIO28 a CD1_SDA, GPIO29 a CD1_SCL, GPIO30 a CAM1_IO1 e GPIO31 a CAM1_IO0. Infine, collega il modulo della fotocamera al connettore CAM1 utilizzando la scheda dell'adattatore della fotocamera o un cavo della fotocamera progettato per Raspberry Pi Zero e applica l'alimentazione.

Se tutto ha funzionato come previsto dopo l'avvio del Pi, dovresti essere in grado di utilizzare la fotocamera. Per provare a scattare una foto dopo esserti connesso al tuo Pi tramite SSH, raspistill -o test.jpg

Se il comando termina senza errori e viene creato un test-j.webp

sftp pi@

sftp> get test.jpg sftp> esci

Passaggio 5: passaggio dalla scheda IO a un PCB personalizzato

Passaggio dalla scheda IO a un PCB personalizzato
Passaggio dalla scheda IO a un PCB personalizzato
Passaggio dalla scheda IO a un PCB personalizzato
Passaggio dalla scheda IO a un PCB personalizzato
Passaggio dalla scheda IO a un PCB personalizzato
Passaggio dalla scheda IO a un PCB personalizzato

Ora che hai finito con tutta la configurazione di base puoi passare alla progettazione della tua scheda personalizzata basata sul modulo di calcolo. Poiché questo sarà il tuo primo progetto, ti incoraggio vivamente a prendere il mio progetto ed estenderlo per includere qualsiasi hardware aggiuntivo che ti piace.

Il retro della scheda ha molto spazio per aggiungere i tuoi componenti e per progetti relativamente piccoli probabilmente non dovrai nemmeno aumentare le dimensioni della scheda. Inoltre, nel caso in cui si tratti di un progetto autonomo e non sia necessaria un'intestazione GPIO fisica sulla scheda, è possibile eliminarla facilmente e risparmiare spazio sul lato superiore del PCB. L'intestazione GPIO è anche l'unico componente che viene instradato attraverso il secondo strato interno e rimuovendolo lo si libera completamente.

Devo sottolineare che ho assemblato e testato con successo una delle schede da solo e ho verificato che tutto, inclusa la fotocamera e l'uscita HDMI, sembra funzionare come previsto. Quindi, fintanto che non apporti enormi modifiche al modo in cui ho instradato tutto, non dovresti avere problemi.

Tuttavia, nel caso in cui dovessi apportare modifiche importanti al layout, tieni presente che la maggior parte delle tracce che vanno ai connettori HDMI e della fotocamera vengono instradate come coppie differenziali da 100 Ohm. Ciò significa che devi tenerne conto nel caso in cui dovessi spostarli sul tabellone. Inoltre, significa che anche se rimuovi l'intestazione GPIO dal tuo progetto, il che significa che ora gli strati interni non conterranno alcuna traccia, avrai comunque bisogno di un PCB a 4 strati per ottenere un'impedenza differenziale vicina a 100 Ohm. Se non hai intenzione di utilizzare l'uscita HDMI e la fotocamera, dovresti essere in grado di utilizzare una scheda a 2 strati eliminandole e riducendo un po' il costo delle schede.

Solo per riferimento, le schede sono state ordinate da ALLPCB con uno spessore totale di 1,6 mm e non ho chiesto il controllo dell'impedenza, poiché probabilmente avrebbe aumentato un po' il costo e volevo anche vedere se sarebbe stato importante. Ho anche selezionato la finitura in oro per immersione per facilitare la saldatura a mano dei connettori in quanto garantisce che tutti i pad saranno belli e piatti.

Consigliato: