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, Srpanj
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 oblika prijenosnog RAM -a!

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ćuje pristup mnogo većoj količini IO pinova, dok u isto vrijeme možete izabrati točno koji hardver želite na ploči. Ugrađeni eMMC također uklanja potrebu za vanjskom micro SD karticom, što Compute Modul čini savršenim za projektiranje proizvoda na bazi Raspberry Pi.

Nažalost, iako vam Compute Module omogućuje sve ovo, čini se da još uvijek nema popularnosti u usporedbi s tradicionalnim Raspberry Pi modelima A i B. Zbog toga nema mnogo hardverskih projekata otvorenog koda koji se temelje na to. A za sve koji bi htjeli 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 raditi 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 temeljen na Compute Module, koji će imati sve osnovne značajke koje čine Raspberry Pi sjajnim. To uključuje priključak za kameru, USB host, audio izlaz, HDMI i naravno GPIO zaglavlje kompatibilno s običnim Raspberry Pi pločama.

Cilj ovog projekta je pružiti dizajn otvorenog koda za ploču temeljenu na Compute Module, koju će svatko moći koristiti kao polaznu točku za dizajniranje vlastite prilagođene ploče. Ploča je dizajnirana na KiCAD -u, softverskom paketu otvorenog koda i unakrsne platforme EDA, kako bi omogućilo što većem broju ljudi da to 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đeni 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 samo ploču s CM3 i ne mogu jamčiti da će raditi s prvom CM verzijom koja je objavljena 2014. godine.

Ažuriranje 29. 1. 2019: Čini se da je Zaklada 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 podatkovnom 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 trebao je poslužiti kao polazna točka za projektiranje vlastite prilagođene ploče na temelju nje, 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 prijeđete na prilagođenu ploču. Osim što vam daje pristup svakom pojedinačnom pinu CM-a i raznim priključcima, IO ploča je također potrebna za bljeskanje ugrađenog eMMC-a. To je nešto što ne možete učiniti s mojom pločom, osim ako prethodno ne napravite neke promjene u dizajnu.

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, za priključivanje kamere trebat će vam adapterski kabel dizajniran za Pi Zero ili adapterska ploča za kameru koja dolazi zajedno s kompletom za razvoj Compute Module. Koliko ja znam, kupnja 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. No budući da se čini da prvi radi sasvim u redu, ne vidim razloga da kasnije ne bi, jer bi trebao biti unatrag kompatibilan. 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 priključka 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 upotrijebiti 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 - punjač vašeg telefona vjerojatno bi 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 svoju prilagođenu ploču.

1 x USB Ethernet adapter - Ako planirate instalirati ili ažurirati gotovo bilo koji paket na svom sustavu, trebat će vam barem privremeni pristup Internetu. 2-u-1 Ethernet adapter i USB čvorište vjerojatno su dobra kombinacija jer imate na raspolaganju samo jedan USB priključak. Osobno koristim Edimax EU-4208 koji radi izvan 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ći popis s onima 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 priključak - Ovo je vjerojatno najvažnija komponenta cijele ploče i vjerojatno jedina koja se ne može lako zamijeniti. Kako 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 zapravo 1473005-4. Nemojte napraviti istu pogrešku kao ja i nabavite zrcaljenu verziju, ovi priključci nisu jeftini.

Za ostale dijelove koje odaberem uključiti na ploču možete pogledati BOM kako biste dobili više informacija, za većinu sam pokušao uključiti veze do podatkovnih tablica.

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 s lemljenjem SMD -a, mislili biste 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 vrlo je dobro napisana i vrlo detaljno opisuje cijeli proces i za Linux i za Windows. Iz tog razloga opisat ću samo korake koje morate poduzeti na Linuxu kako bi mogli poslužiti kao brza referenca.

Prije svega, morate provjeriti imate li IO ploču postavljenu na način programiranja i je li 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 svom sustavu kako biste ga mogli 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 sustavu. 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 distributer temeljen na Debianu, naziv paketa libusb-1.0.0-dev mogao bi biti drugačiji, pa provjerite kako se zove u vašem slučaju. Nakon što su instalirane ovisnosti o izgradnji, možete sastaviti rpiboot binarni datoteku jednostavnim pokretanjem, napraviti

Nakon dovršetka izrade pokrenite rpiboot kao root i počet će čekati vezu, sudo./rpiboot

Sada priključite IO ploču na računalo spajanjem 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 bajta/512 bajtova U/I veličina (minimalni/optimalni): 512 bajta/512 bajtova Tip diskabele: dos Identifikator diska: 0x8e3a9721

Veličina ID -a tipa Veličina sektora za početak pokretanja krajnjih sektora

/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 sustav, ali vaši će se definitivno razlikovati.

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

df -h

Ako ih otkrijete 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 što radite. Ako vam trebaju dodatne informacije, pogledajte dokumentaciju o tome.

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

Nakon što naredbe dd i sinkronizacija završe, trebali biste moći odspojiti IO ploču s računala. Na kraju, nemojte zaboraviti premjestiti J4 kratkospojnik natrag u položaj DIS i vaš računarski modul trebao bi biti spreman za prvo pokretanje.

Korak 3: Prvo podizanje sustava

Prije prvog pokretanja, priključite USB tipkovnicu 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.

Kad se od vas zatraži prijava, 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 spojiti s računala 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 ponovno pokrenuti sustav, 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 putem SSH -a. U svakom slučaju, držite HDMI monitor uključen barem za sada, kako biste bili sigurni da se postupak pokretanja završava prema očekivanjima.

Također, pred kraj bi vam također trebala biti prikazana IP adresa koju je vaš Pi dobio od DHCP poslužitelja. Pokušajte ovo upotrijebiti za spajanje na Pi putem SSH -a.

ssh pi@

Nakon uspješnog povezivanja na Pi preko SSH -a više vam nisu potrebni monitor i tipkovnica priključeni, pa ih slobodno isključite ako želite. U ovom trenutku također biste trebali imati pristup Internetu sa svog Pi -a. Možete pokušati pingati nešto poput google.com da biste to provjerili. Nakon što provjerite imate li pristup internetu, bilo bi dobro ažurirati sustav 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 u tome što u slučaju kasnijeg osim omogućavanja kamere pomoću raspi-config, potrebna vam je i prilagođena datoteka stabla uređaja.

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

U mom slučaju, prilikom projektiranja 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 zaglavlju GPIO.

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

Za sastavljanje datoteke stabla uređaja upotrijebite 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 vjerojatno će vam dati sljedeće upozorenje, mv: nije uspjelo sačuvati vlasništvo 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 nadjačava ugrađeno i omogućuje vam da konfigurirate funkciju njegovog pin -a onako kako ž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 ponovno pokrenuti sustav, odbijte. Sada isključite svoj Pi i isključite napajanje.

Nakon što je napajanje isključeno s IO ploče, pomoću 4 žice kratkospojnika ženski na ženski 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 čizmi, trebali biste moći koristiti kameru. Da biste pokušali snimiti sliku nakon povezivanja na svoj Pi putem SSH -a, raspistill -o test.jpg

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

sftp pi@

sftp> get test.jpg sftp> exit

Korak 5: 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
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 na temelju Compute Modula. Budući da će ovo biti vaš prvi projekt, toplo vas potičem 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 se radi o samostalnom projektu i ne trebate fizičko GPIO zaglavlje na ploči, lako ga se možete riješiti i uštedjeti malo prostora na gornjoj strani PCB -a. Zaglavlje GPIO također je 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 priključaka HDMI i kamere usmjeravaju kao parovi diferencijala od 100 Ohma. To znači da to 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 unutarnji 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 vjerojatno dosta 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čeni: