Sadržaj:

Dizajnirajte vlastiti PCB računalnog modula Raspberry Pi: 5 koraka (sa slikama)
Dizajnirajte vlastiti PCB računalnog modula Raspberry Pi: 5 koraka (sa slikama)

Video: Dizajnirajte vlastiti PCB računalnog modula Raspberry Pi: 5 koraka (sa slikama)

Video: Dizajnirajte vlastiti PCB računalnog modula Raspberry Pi: 5 koraka (sa slikama)
Video: How to Make High Quality PCB at Home / Say Goodbye to Ironing 2024, Juli
Anonim
Dizajnirajte vlastitu PCB računalnog modula Raspberry Pi
Dizajnirajte vlastitu PCB računalnog modula Raspberry Pi
Dizajnirajte vlastitu PCB računalnog modula Raspberry Pi
Dizajnirajte vlastitu PCB računalnog modula Raspberry Pi
Dizajnirajte vlastitu PCB računalnog modula Raspberry Pi
Dizajnirajte vlastitu PCB računalnog modula Raspberry Pi

Ako nikada prije niste čuli za Raspberry Pi Compute Module, to je u osnovi punopravno Linux računalo s faktorom forme, RAM -om za prijenosno računalo!

Uz to postaje moguće dizajnirati vlastite prilagođene ploče gdje je Raspberry Pi samo još jedna komponenta. To vam daje ogromnu fleksibilnost jer vam omogućava pristup mnogo većoj količini IO pinova, dok u isto vrijeme možete izabrati tačno koji hardver želite na svojoj ploči. Ugrađeni eMMC također uklanja potrebu za vanjskom micro SD karticom, što Compute Modul čini savršenim za dizajniranje proizvoda na bazi Raspberry Pi.

Nažalost, iako vam Compute Module omogućava sve ovo, čini se da mu još uvijek nedostaje popularnost u odnosu na tradicionalne Raspberry Pi modele A i B. Zbog toga nema mnogo hardverskih projekata otvorenog koda koji se temelje na to. A za sve one koji bi željeli započeti s dizajniranjem vlastitih ploča količina resursa koja imaju prilično je ograničena.

Kad sam prije nekoliko mjeseci tek počeo s Raspberry Pi Compute modulom, upravo sam se s tim suočio. Pa sam odlučila učiniti nešto po tom pitanju. Odlučio sam dizajnirati PCB otvorenog koda baziran na Compute Module -u, koji će imati sve osnovne karakteristike koje čine Raspberry Pi sjajnim. To uključuje konektor za kameru, USB host, audio izlaz, HDMI i naravno GPIO zaglavlje kompatibilno s običnim Raspberry Pi pločama.

Cilj ovog projekta je omogućiti dizajn otvorenog koda za ploču zasnovanu na Compute Module -u, koju će svako moći koristiti kao polaznu tačku za dizajniranje vlastite prilagođene ploče. Ploča je dizajnirana na KiCAD -u, EDA softverskom paketu otvorenog koda i za više platformi, kako bi omogućilo što većem broju ljudi da je iskoriste.

Jednostavno zgrabite datoteke dizajna, prilagodite ih svojim potrebama i zavrtite vlastitu prilagođenu ploču za svoj projekt.

Korak 1: Dijelovi i alati

Dijelovi i alati
Dijelovi i alati
Dijelovi i alati
Dijelovi i alati
Dijelovi i alati
Dijelovi i alati
Dijelovi i alati
Dijelovi i alati

Za početak rada s Raspberry Pi Compute modulom trebat će vam sljedeći dijelovi:

1 x Raspberry Pi Compute Module 3 - toplo preporučujem nabavku obične verzije koja uključuje ugrađenu eMMC, a ne Lite verziju. Ako želite koristiti Lite verziju u svom projektu, morat ćete unijeti nekoliko promjena u dizajn, što uključuje dodavanje priključka za mikro SD karticu. Konačno, testirao sam ploču samo sa CM3 i ne mogu garantirati da će raditi s prvom CM verzijom koja je objavljena 2014. godine.

Ažuriranje 29. 1. 2019: Čini se da je Fondacija upravo objavila Compute Module 3+ i ne samo to, već sada dolazi i s opcijom za eMMC od 8 GB, 16 GB ili 32 GB! Prema tehničkom listu, čini se da je CM3+ električno identičan CM3, što znači da je u osnovi pad zamjene za CM3.

1 x IO ploča Compute Module - Moj dizajn je trebao služiti kao polazna osnova za dizajniranje vaše vlastite prilagođene ploče zasnovane na njoj, a ne kao zamjena za IO ploču Compute Module. Dakle, kako bih vam olakšao život, toplo preporučujem da svoje ruke postavite na IO ploču i upotrijebite je za razvoj prije nego pređete na prilagođenu ploču. Osim što vam daje pristup svakom pojedinačnom pinu CM-a i raznim konektorima, IO ploča je potrebna i za prebacivanje ugrađenog eMMC-a. To je nešto što ne možete učiniti s mojom pločom, osim ako prvo ne promijenite dizajn.

1 x Raspberry Pi Zero kabel za kameru ili adapter za kameru računarskog modula - Po svom dizajnu koristim vrlo sličan konektor za kameru kao onaj koji koriste IO ploča Compute Module i Raspberry Pi Zero. Dakle, da biste priključili kameru, ili će vam trebati adapterski kabel dizajniran za Pi Zero ili adapterska ploča za kameru koja dolazi zajedno s kompletom za razvoj računarskog modula. Koliko ja znam, kupovina adapterske ploče zasebno je prilično skupa. Stoga, ako vam se sviđam, odlučili ste kupiti CM i IO ploču odvojeno kako biste uštedjeli nešto novca, savjetujem vam da umjesto toga nabavite kabel adaptera za kameru dizajniran za Pi Zero.

1 x Raspberry Pi modul kamere - testirao sam ploču samo s originalnim modulom kamere od 5 MP, a ne i novijom verzijom od 8 MP. Ali budući da izgleda da prvi radi sasvim u redu, ne vidim razloga da kasnije ne bi radilo jer bi trebalo biti unatrag kompatibilno. U svakom slučaju, verzija od 5 MP danas se može pronaći za manje od 5 € na eBay -u, pa bih preporučio da je nabavite.

4 x kratkospojne žice za žene - trebat će vam najmanje 4 za konfiguriranje konektora kamere na IO ploči, no vjerojatno ćete htjeti dobiti više. Oni nisu potrebni za prilagođenu ploču, ali mogu biti korisni ako planirate priključiti vanjski hardver putem zaglavlja GPIO.

1 x HDMI kabel - Odlučio sam koristiti HDMI priključak pune veličine na svojoj ploči kako bih eliminirao potrebu za adapterima. Naravno, ako više volite koristiti mini ili čak mikro HDMI priključak, slobodno prilagodite dizajn svojim potrebama.

1 x 5V mikro USB napajanje - Vaš punjač za telefon bi vjerovatno trebao biti dobar u većini slučajeva sve dok može dati barem 1A. Imajte na umu da je ovo samo opća vrijednost, vaši stvarni zahtjevi za energijom ovisit će o hardveru koji odlučite uključiti na prilagođenu ploču.

1 x USB Ethernet adapter - Ako planirate instalirati ili ažurirati bilo koji paket na svom sistemu, trebat će vam barem privremeni pristup Internetu. 2-u-1 Ethernet adapter plus USB čvorište vjerovatno je dobra kombinacija jer imate na raspolaganju samo jedan USB priključak. Osobno koristim Edimax EU-4208 koji funkcionira bez kutije s Pi-om i ne zahtijeva vanjsko napajanje, ali nema ugrađeno USB čvorište. Ako ovdje kupujete USB Ethernet adapter, možete pronađite popis onih koji su testirani s Raspberry Pi.

Ako želite dodati više USB priključaka, pa čak i Etherent izravno na svoju prilagođenu ploču, predlažem da pogledate LAN9512 iz Microchip -a. To je isti čip koji koristi originalni Raspberry Pi model B i dat će vam 2 USB priključka i 1 Ethernet priključak. Alternativno, ako vam trebaju 4 USB priključka, razmislite o tome da pogledate njegovog rođaka LAN9514.

1 x DDR2 SODIMM RAM konektor - Ovo je vjerovatno najvažnija komponenta cijele ploče i vjerovatno jedina koja se ne može lako zamijeniti. Da biste se spasili od nevolja, dio koji trebate dobiti je TE CONNECTIVITY 1473005-4. Dostupan je od većine velikih dobavljača, uključujući TME, Mouser i Digikey, pa vam ne bi trebao biti problem pronaći ga. Budite ipak vrlo oprezni, provjerite još jednom i provjerite je li dio koji naručujete u stvari 1473005-4. Nemojte napraviti istu grešku kao ja i nabavite preslikanu verziju, ovi konektori nisu jeftini.

Za ostale dijelove koje izaberem uključiti na ploču možete pogledati specifikaciju kako biste dobili više informacija. Pokušao sam uključiti veze do tablica s podacima za većinu njih.

Oprema za lemljenje - Najmanje komponente na ploči su kondenzatori za razdvajanje 0402, ali HDMI, kao i kamera i SODIMM konektori također mogu biti izazovni bez ikakvog povećanja. Ako imate dobro iskustvo sa SMD lemljenjem, smatrajte da to ne bi trebao biti veliki problem. U svakom slučaju, ako slučajno imate pristup mikroskopu, toplo ga preporučujem.

Korak 2: Treptanje EMMC -a

Prvo što trebate učiniti prije nego počnete koristiti svoj Compute Module je bljeskanje najnovije Raspbian Lite slike na eMMC -u. Službena dokumentacija za Raspberry Pi je vrlo dobro napisana i vrlo detaljno opisuje cijeli proces i za Linux i za Windows. Iz tog razloga ću samo ukratko opisati korake koje morate poduzeti na Linuxu, tako da mogu poslužiti kao kratka referenca.

Prije svega, morate biti sigurni da je vaša IO ploča postavljena na način programiranja i da je Compute Module umetnut u SODIMM konektor. Za postavljanje ploče u način programiranja pomaknite J4 kratkospojnik u položaj EN.

Zatim ćete morati izgraditi rpiboot alat na vašem sistemu tako da ga možete koristiti za dobivanje pristupa eMMC -u. Da biste to učinili, potrebna vam je kopija spremišta usbboot do koje se lako može doći pomoću gita na sljedeći način, git clone --depth = 1 https://github.com/raspberrypi/usbboot && cd usbboot

Sada, da biste izgradili rpiboot, morate biti sigurni da su i libusb-1.0-0-dev i make paketi instalirani na vašem sistemu. Dakle, pod pretpostavkom da ste na distribuciji zasnovanoj na Debianu, poput Ubuntu -a, sudo apt update && sudo apt install libusb-1.0-0-dev make

Ako ne koristite distribuciju zasnovanu na Debianu, ime paketa libusb-1.0.0-dev može biti drugačije, pa provjerite kako se zove u vašem slučaju. Nakon što su instalirane zavisnosti izgradnje, možete izgraditi rpiboot binarni datoteku jednostavnim pokretanjem, napraviti

Nakon što je izgrađeno dovršeno, pokrenite rpiboot kao root i počet će čekati vezu, sudo./rpiboot

Sada priključite IO ploču na računalo povezivanjem mikro USB kabela na USB SLAVE priključak, a zatim priključite napajanje na ulaz POWER IN. Nakon nekoliko sekundi rpiboot bi trebao moći otkriti Compute Module i omogućiti vam pristup eMMC -u. To bi trebalo rezultirati pojavljivanjem novog blok uređaja pod /dev. Pomoću programa fdisk možete pronaći naziv uređaja, sudo fdisk -l

Disk /dev /sdi: 3,7 GiB, 3909091328 bajtova, 7634944 sektora

Jedinice: sektori od 1 * 512 = 512 bajtova Veličina sektora (logička/fizička): 512 bajtova/512 bajtova U/I veličina (minimalni/optimalni): 512 bajtova/512 bajtova Tip diskabele: dos Identifikator diska: 0x8e3a9721

Veličina ID ID -a Boot Start Device End Sectors Size

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

U mom slučaju to je bio /dev /sdi jer imam dosta diskova već priključenih na moj sistem, ali će vaši definitivno varirati.

Nakon što ste potpuno sigurni da ste pronašli ispravno ime uređaja, možete upotrijebiti dd za snimanje Raspbian Lite slike na eMMC. Prije nego to učinite, provjerite da na vašem sistemu nema već montirane particije eMMC -a.

df -h

Ako otkrijete da ih demontirate na sljedeći način, sudo umount /dev /sdXY

Budite vrlo oprezni jer upotreba pogrešnog naziva uređaja s dd -om može potencijalno uništiti vaš sustav i uzrokovati gubitak podataka. Nemojte nastaviti sa sljedećim korakom ako niste potpuno sigurni da znate šta radite. Ako vam trebaju dodatne informacije, pogledajte dokumentaciju o tome.

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

Kada se naredbe dd i sync završe, trebali biste moći isključiti IO ploču s računara. Na kraju, ne zaboravite premjestiti J4 kratkospojnik natrag u položaj DIS i vaš računarski modul trebao bi biti spreman za prvo pokretanje.

Korak 3: Prvo pokretanje

Prije prvog pokretanja, priključite USB tastaturu i HDMI monitor na svoju IO ploču. Ako sve ide kako se očekuje i vaš Pi završi s pokretanjem, njihovo pričvršćivanje omogućit će vam interakciju s njim.

Kada se od vas zatraži da se prijavite, upotrijebite "pi" za korisničko ime i "malina" za lozinku jer su to zadane vjerodajnice za prijavu. Sada možete pokrenuti neke naredbe kako biste bili sigurni da sve radi kako ste očekivali kao što biste inače radili na bilo kojoj Raspberry Pi, ali ne pokušavajte ništa instalirati jer još uvijek nemate internetsku vezu.

Važna stvar koju morate učiniti prije isključivanja Pi -a je omogućavanje SSH -a, tako da se na njega možete povezati s računara nakon sljedećeg pokretanja. To možete učiniti vrlo jednostavno pomoću naredbe raspi-config, sudo raspi-config

Da biste omogućili SSH, idite na Opcije sučelja, odaberite SSH, odaberite DA, U redu i Završi. U slučaju da budete upitani želite li ponovo pokrenuti sistem, odbijte. Nakon što završite, isključite svoj Pi i nakon što završi isključite napajanje.

sudo shutdown -h sada

Zatim morate uspostaviti internetsku vezu pomoću USB Ethernet adaptera koji ste već trebali imati. Ako vaš adapter ima i USB koncentrator, možete ga koristiti za uključivanje tipkovnice ako želite, u protivnom se jednostavno možete povezati sa svojim Pi -om preko SSH -a. U svakom slučaju, držite HDMI monitor uključen barem za sada, kako biste bili sigurni da se proces pokretanja završava prema očekivanjima.

Također, pred kraj bi vam trebala biti prikazana i IP adresa koju je vaš Pi dobio od DHCP servera. Pokušajte ovo koristiti za povezivanje na vaš Pi putem SSH -a.

ssh pi@

Nakon uspješnog povezivanja na vaš Pi preko SSH -a više vam nisu potrebni monitor i tastatura uključeni, pa ih slobodno isključite ako želite. U ovom trenutku trebali biste imati pristup Internetu i sa svog Pi -a, možete pokušati pingati nešto poput google.com da to provjerite. Nakon što provjerite imate li pristup internetu, bilo bi dobro ažurirati sistem pokretanjem, sudo apt ažuriranje && sudo apt nadogradnja

Korak 4: Konfiguriranje kamere

Konfiguriranje kamere
Konfiguriranje kamere

Najveća razlika između obične Raspberry Pi ploče i Compute Modula je ta što vam je u slučaju kasnije osim omogućavanja kamere pomoću raspi-config potrebna i prilagođena datoteka stabla uređaja.

Više informacija o konfiguraciji Compute Modula za upotrebu s kamerom možete pronaći u dokumentaciji. Ali općenito, konektor za kameru između ostalih također sadrži 4 kontrolne pinove, koje je potrebno spojiti na 4 GPIO pina na Compute Modulu, a na vama je da odlučite koje ćete dizajnirati svoju prilagođenu ploču.

U mom slučaju, prilikom dizajniranja ploče biram CD1_SDA za prelazak na GPIO28, CD1_SCL na GPIO29, CAM1_IO1 na GPIO30 i CAM1_IO0 na GPIO31. Odabrao sam ove GPIO pinove jer sam htio imati 40 -pinsko GPIO zaglavlje na svojoj ploči, koje također održava kompatibilnost s GPIO konektorom običnih Raspberry Pi ploča. Iz tog razloga morao sam se pobrinuti da se GPIO pinovi koje koristim za kameru ne pojavljuju i u GPIO zaglavlju.

Dakle, osim ako ne odlučite izmijeniti ožičenje priključka za kameru, potreban vam je /boot/dt-blob.bin koji govori vašem Pi-u da konfigurira GPIO28-31 kako je gore opisano. A da biste generirali dt-blob.bin, koji je binarna datoteka, za kompajliranje vam je potreban dt-blob.dts. Da olakšam stvari, pružit ću vam vlastiti dt-blob.dts na korištenje koji možete prilagoditi svojim potrebama ako morate.

Za kompajliranje datoteke stabla uređaja koristite kompajler stabla uređaja na sljedeći način, dtc -I dts -O dtb -o dt -blob.bin dt -blob.dts

Nisam siguran zašto, ali gore navedeno bi trebalo rezultirati s dosta upozorenja, ali sve dok je dt-blob.bin uspješno generiran, sve bi trebalo biti u redu. Sada premjestite dt-blob.bin koji ste upravo generirali u /boot izvršavanjem, sudo mv dt-blob.bin /boot/dt-blob.bin

Gore navedeno vjerovatno će vam dati sljedeće upozorenje, mv: nije uspjelo očuvanje vlasništva za '/boot/dt-blob.bin': Operacija nije dopuštena

Ovo se samo žali da ne može sačuvati vlasništvo nad datotekom jer je /boot FAT particija što se i očekivalo. Možda ste primijetili da /boot/dt-blob.bin ne postoji prema zadanim postavkama, to je zato što Pi umjesto toga koristi ugrađeno stablo uređaja. Dodavanje vlastitog unutar /boot -a ipak poništava ugrađeno i omogućuje vam da konfigurirate funkciju njegovog pina na način koji želite. Više o stablu uređaja možete pronaći u dokumentaciji.

Nakon toga morate omogućiti kameru, sudo raspi-config

Idite na Opcije sučelja, odaberite Kamera, odaberite DA, U redu i Završi. U slučaju da budete upitani želite li ponovo pokrenuti sistem, odbijte. Sada isključite svoj Pi i isključite napajanje.

Nakon što je napajanje isključeno sa IO ploče, pomoću 4 žice kratkospojnika za žene spojite pinove za GPIO28 na CD1_SDA, GPIO29 na CD1_SCL, GPIO30 na CAM1_IO1 i GPIO31 na CAM1_IO0. Na kraju, pričvrstite modul kamere na CAM1 konektor pomoću adapterske ploče za kameru ili kabela kamere dizajniranog za Raspberry Pi Zero i priključite napajanje.

Ako je sve radilo kako se očekivalo nakon Pi pokretanja, trebali biste moći koristiti kameru. Da biste pokušali snimiti sliku nakon povezivanja na vaš Pi putem SSH pokretanja, raspistill -o test.jpg

Ako se naredba završi bez grešaka i stvori test.jpg, to znači da je uspjela. Ako želite pogledati sliku koju ste upravo snimili, možete se povezati na svoj Pi putem SFTP -a i prenijeti je na računalo.

sftp pi@

sftp> get test.jpg sftp> exit

Korak 5: Prelazak sa IO ploče na prilagođenu PCB

Premještanje s IO ploče na prilagođenu PCB
Premještanje s IO ploče na prilagođenu PCB
Premještanje s IO ploče na prilagođenu PCB
Premještanje s IO ploče na prilagođenu PCB
Premještanje s IO ploče na prilagođenu PCB
Premještanje s IO ploče na prilagođenu PCB

Sada kada ste završili sa osnovnom konfiguracijom, možete prijeći na dizajniranje vlastite prilagođene ploče zasnovane na Compute Module. Budući da će ovo biti vaš prvi projekt, toplo vas ohrabrujem da uzmete moj dizajn i proširite ga na bilo koji dodatni hardver koji vam se sviđa.

Stražnja strana ploče ima dovoljno prostora za dodavanje vlastitih komponenti, a za relativno male projekte vjerojatno ne morate čak ni povećavati dimenzije ploče. Također, u slučaju da je ovo samostalan projekt i ne trebate fizičko GPIO zaglavlje na ploči, možete ga se lako riješiti i uštedjeti malo prostora na gornjoj strani PCB -a. Zaglavlje GPIO je također jedina komponenta koja se usmjerava kroz drugi unutarnji sloj i uklanjanjem ga potpuno oslobađa.

Trebao bih istaknuti da sam i sam uspješno sastavio i testirao jednu od ploča i provjerio da izgleda da sve uključujući kameru i HDMI izlaz radi kako se očekuje. Dakle, sve dok ne napravite velike promjene u načinu na koji sam preusmjerio sve, ne biste trebali imati problema.

U slučaju da ipak morate napraviti neke velike promjene izgleda, imajte na umu da se većina tragova koji idu do HDMI -a i konektora kamere usmjerava kao 100 Ohm diferencijalni par. To znači da ovo morate uzeti u obzir u slučaju da ih morate pomicati po ploči. Također, to znači da čak i ako ispustite GPIO zaglavlje iz svog dizajna, što znači da sada unutrašnji slojevi neće sadržavati nikakve tragove, i dalje vam je potrebna četveroslojna PCB kako biste postigli diferencijalnu impedanciju blizu 100 Ohma. Ako ipak nećete koristiti HDMI izlaz i kameru, trebali biste biti u mogućnosti koristiti dvoslojnu ploču tako što ćete ih se riješiti i malo smanjiti troškove ploča.

Samo za referencu, ploče su naručene od ALLPCB -a ukupne debljine 1,6 mm i nisam tražio kontrolu impedancije jer bi to vjerovatno prilično podiglo cijenu, a htio sam i vidjeti je li to važno. Također sam odabrao imerzijsku zlatnu završnu obradu kako bih olakšao ručno lemljenje konektora jer jamči da će svi jastučići biti lijepi i ravni.

Preporučuje se: