Kazalo:

Oblikujte svoj računalniški računalniški modul Raspberry Pi: 5 korakov (s slikami)
Oblikujte svoj računalniški računalniški modul Raspberry Pi: 5 korakov (s slikami)

Video: Oblikujte svoj računalniški računalniški modul Raspberry Pi: 5 korakov (s slikami)

Video: Oblikujte svoj računalniški računalniški modul Raspberry Pi: 5 korakov (s slikami)
Video: ComfyUI Tutorial - How to Install ComfyUI on Windows, RunPod & Google Colab | Stable Diffusion SDXL 2024, Junij
Anonim
Oblikujte svojo PCB računalniškega modula Raspberry Pi
Oblikujte svojo PCB računalniškega modula Raspberry Pi
Oblikujte svojo PCB računalniškega modula Raspberry Pi
Oblikujte svojo PCB računalniškega modula Raspberry Pi
Oblikujte svojo PCB računalniškega modula Raspberry Pi
Oblikujte svojo PCB računalniškega modula Raspberry Pi

Če še nikoli niste slišali za računalniški modul Raspberry Pi, je to v bistvu polnopravni računalnik Linux s faktorjem oblike prenosni pomnilnik RAM!

Z možnostjo oblikovanja lastnih plošč po meri, kjer je Raspberry Pi le še ena komponenta. To vam daje ogromno fleksibilnosti, saj vam omogoča dostop do veliko večje količine IO zatičev, hkrati pa lahko izberete točno tisto strojno opremo, ki jo želite na svoji plošči. Vgrajen eMMC odpravlja tudi potrebo po zunanji kartici micro SD, zaradi česar je Compute Module kot nalašč za oblikovanje izdelkov na osnovi Raspberry Pi.

Na žalost, čeprav vam računalniški modul omogoča vse to, se zdi, da še vedno primanjkuje v smislu priljubljenosti v primerjavi s tradicionalnimi Raspberry Pi modeloma A in B. Posledično ni veliko odprtokodnih strojnih projektov, ki temeljijo na to. Za vse, ki bi morda želeli začeti z oblikovanjem lastnih desk, je količina sredstev, ki jih imajo, precej omejena.

Ko sem pred nekaj meseci prvič začel z računalniškim modulom Raspberry Pi, sem imel prav to težavo. Zato sem se odločil, da bom nekaj naredil glede tega. Odločil sem se, da bom odprtokodno tiskano vezje oblikoval na podlagi računalniškega modula, ki bo imel vse osnovne funkcije, zaradi katerih je Raspberry Pi odličen. To vključuje priključek za kamero, gostitelja USB, avdio izhod, HDMI in seveda glavo GPIO, združljivo z običajnimi ploščami Raspberry Pi.

Cilj tega projekta je zagotoviti odprtokodno zasnovo za ploščo na osnovi računalniškega modula, ki jo bo vsak lahko uporabil kot izhodišče za oblikovanje lastne plošče po meri. Plošča je bila zasnovana na KiCAD -u, odprtokodnem in medplatformskem programskem paketu EDA, da bi jo lahko izkoristilo čim več ljudi.

Preprosto vzemite oblikovalske datoteke, jih prilagodite svojim potrebam in za svoj projekt zavrtite lastno ploščo po meri.

Korak: Deli in orodja

Deli in orodja
Deli in orodja
Deli in orodja
Deli in orodja
Deli in orodja
Deli in orodja
Deli in orodja
Deli in orodja

Če želite začeti z računalniškim modulom Raspberry Pi, boste potrebovali naslednje dele:

1 x Računalniški računalniški modul 3 Raspberry Pi - toplo priporočam nakup običajne različice, ki vključuje vgrajeno eMMC in ne različico Lite. Če želite v svojem projektu uporabiti različico Lite, boste morali nekaj spremeniti v zasnovi, kar vključuje dodajanje priključka za kartico mikro SD. Nazadnje sem preizkusil le ploščo s CM3 in ne morem zagotoviti, da bo delovala s prvo različico CM, ki je bila izdana leta 2014.

Posodobitev 29.1.2019: Zdi se, da je Fundacija pravkar izdala Compute Module 3+ in ne samo to, zdaj pa ima tudi možnost za eMMC z 8 GB, 16 GB ali 32 GB! Glede na podatkovni list se zdi, da je CM3+ električno enak CM3, kar pomeni, da je v bistvu padec nadomestka za CM3.

1 x IO plošča Compute Module IO - moja zasnova je služila kot izhodišče za oblikovanje lastne plošče po meri, ki temelji na njej, ne pa kot zamenjava za IO ploščo Compute Module. Torej, da vam olajšam življenje, toplo priporočam, da svoje roke položite na IO ploščo in jo uporabite za razvoj, preden se premaknete na ploščo po meri. Poleg dostopa do vsakega zatiča CM in različnih priključkov je IO plošča potrebna tudi za utripanje vgrajene eMMC. Kar z mojo ploščo ne morete storiti, razen če najprej spremenite obliko.

1 x kabel za fotoaparat Raspberry Pi Zero ali adapter za kamero računalniškega modula - po svoji zasnovi uporabljam zelo podoben priključek za kamero kot tisti, ki ga uporabljata plošča IO Compute Module in Raspberry Pi Zero. Torej, če želite priključiti kamero, boste potrebovali vmesniški kabel, zasnovan za Pi Zero, ali vmesniško ploščo kamere, ki je priložena kompletu za razvoj računalniškega modula. Kolikor vem, je nakup vmesniške plošče posebej drag. Torej, če ste mi všeč, sem se odločil, da bom vaš CM in IO Board kupil ločeno, da prihranim nekaj denarja, zato svetujem, da namesto tega vzamete kabel za adapter za fotoaparat, namenjen za Pi Zero.

1 x modul kamere Raspberry Pi - ploščo sem preizkusil samo z originalnim modulom kamere 5MP, ne pa tudi novejšo različico 8MP. Ker pa se zdi, da prvi deluje v redu, ne vidim razloga, da poznejši ne bi deloval, saj naj bi bil nazaj združljiv. Kakorkoli že, danes je na eBayu mogoče najti različico 5MP za manj kot 5 €, zato priporočam, da jo kupite.

4 x Ženske mostične žice - za konfiguracijo priključka kamere na IO plošči boste potrebovali vsaj 4, vendar boste verjetno želeli dobiti več. Za ploščo po meri niso potrebne, vendar so lahko koristne, če nameravate priključiti katero koli zunanjo strojno opremo prek glave GPIO.

1 x kabel HDMI - Odločil sem se, da bom na plošči uporabil priključek HDMI polne velikosti, da odpravim potrebo po adapterjih. Seveda, če raje uporabljate mini ali celo priključek micro HDMI, lahko obliko prilagodite svojim potrebam.

1 x 5V napajalnik za mikro USB - vaš polnilnik za telefon bi se v večini primerov verjetno dobro obnesel, če bi lahko zagotovil vsaj 1A. Ne pozabite, da je to le splošna vrednost, vaše dejanske potrebe po moči bodo odvisne od strojne opreme, ki jo odločite vključiti na svojo ploščo po meri.

1 x ethernetni vmesnik USB - če nameravate namestiti ali posodobiti skoraj kateri koli paket v sistemu, boste potrebovali vsaj začasen dostop do interneta. Ethernetni vmesnik 2 v 1 in zvezdišče USB sta verjetno dobra kombinacija, saj imate na voljo samo ena vrata USB. Osebno uporabljam Edimax EU-4208, ki deluje s škatlo Pi in ne potrebuje zunanjega napajanja, vendar nima vgrajenega zvezdišča USB. Če iščete nakup vmesnika USB Ethernet, lahko tukaj poiščite seznam tistih, ki so bili preizkušeni z Raspberry Pi.

Če želite dodati več vrat USB in celo Etherent neposredno na ploščo po meri, predlagam, da si ogledate LAN9512 podjetja Microchip. Gre za isti čip, ki ga uporablja originalni Raspberry Pi Model B, in vam bo dal 2 USB vhoda in 1 ethernetna vrata. Če pa potrebujete 4 vrata USB, razmislite o ogledu njegovega bratranca LAN9514.

1 x DDR2 SODIMM RAM priključek - To je verjetno najpomembnejša komponenta celotne plošče in verjetno edina, ki je ni mogoče enostavno zamenjati. Da bi vas rešili težav, bi morali dobiti del TE CONNECTIVITY 1473005-4. Na voljo je pri večini večjih dobaviteljev, vključno s TME, Mouser in Digikey, zato ne bi smeli imeti težav pri iskanju. Bodite zelo previdni, dvakrat preverite in se prepričajte, da je del, ki ga naročite, v resnici 1473005-4. Ne naredite iste napake, ki sem jo naredil jaz, in si priskrbite zrcaljeno različico, ti priključki niso poceni.

Za ostale dele, ki jih izberem za vključitev na tablo, si oglejte specifikacijo, da dobite več informacij, za večino sem poskušal vključiti povezave do podatkovnih listov.

Spajkalna oprema - Najmanjše komponente na plošči so kondenzatorji za ločevanje 0402, vendar sta lahko HDMI, kamera in priključki SODIMM tudi nekoliko zahtevni brez kakršne koli povečave. Če imate dobre izkušnje s spajkanjem SMD, to ne bi smelo biti velika težava. Kakorkoli, če imate dostop do mikroskopa, ga toplo priporočam.

2. korak: utripanje EMMC

Preden začnete uporabljati računalniški modul, morate najprej utripati najnovejšo sliko Raspbian Lite na eMMC. Uradna dokumentacija Raspberry Pi je zelo dobro napisana in zelo podrobno opisuje celoten proces tako za Linux kot za Windows. Zato bom le na kratko opisal korake, ki jih morate narediti pri Linuxu, da bodo lahko kratka referenca.

Najprej se morate prepričati, da je vaša IO plošča nastavljena na način programiranja in je računalniški modul vstavljen v priključek SODIMM. Če želite ploščo nastaviti v način programiranja, premaknite mostiček J4 v položaj EN.

Nato boste morali v sistemu zgraditi orodje rpiboot, da ga boste lahko uporabili za dostop do eMMC. Če želite to narediti, potrebujete kopijo skladišča usbboot, ki jo je mogoče zlahka dobiti z gitom na naslednji način:

git clone --depth = 1 https://github.com/raspberrypi/usbboot && cd usbboot

Zdaj, če želite zgraditi rpiboot, se prepričajte, da sta v vašem sistemu nameščena paketa libusb-1.0-0-dev in make. Torej, ob predpostavki, da uporabljate distribucijo, ki temelji na Debianu, kot je zagon Ubuntu, sudo apt update && sudo apt install libusb-1.0-0-dev make

Če ne uporabljate distribucijskega sistema, ki temelji na Debianu, je lahko ime paketa libusb-1.0.0-dev drugačno, zato poiščite, kako se v vašem primeru pokliče. Ko so odvisnosti gradnje nameščene, lahko binarno datoteko rpiboot sestavite tako, da preprosto zaženete, narediti

Ko je vgrajen končan, zaženite rpiboot kot root in začel bo čakati na povezavo, sudo./rpiboot

Zdaj priključite IO ploščo na računalnik tako, da kabel mikro USB priključite na vrata USB SLAVE in nato priključite napajanje na vrata POWER IN. Po nekaj sekundah bi moral rpiboot zaznati računalniški modul in vam omogočiti dostop do eMMC. Posledično bi se morala nova blokovna naprava prikazati pod /dev. S programom fdisk lahko poiščete ime naprave, sudo fdisk -l

Disk /dev /sdi: 3,7 GiB, 3909091328 bajtov, 7634944 sektorjev

Enote: sektorji 1 * 512 = 512 bajtov Velikost sektorja (logična/fizična): 512 bajtov/512 bajtov Velikost V/I (minimalno/optimalno): 512 bajtov/512 bajtov Vrsta oznake: dos Identifikator diska: 0x8e3a9721

Velikost ID -ja zagona zagona naprave

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

V mojem primeru je bil /dev /sdi, saj imam na svojem sistemu že priključenih kar nekaj pogonov, toda vaši se bodo zagotovo razlikovali.

Ko ste popolnoma prepričani, da ste našli pravilno ime naprave, lahko z dd zapišete sliko Raspbian Lite v eMMC. Preden to storite, se prepričajte, da v sistemu ni že nameščena nobena particija eMMC.

df -h

Če jih odklopite na naslednji način, sudo umount /dev /sdXY

Bodite izjemno previdni: uporaba napačnega imena naprave z dd lahko uniči vaš sistem in povzroči izgubo podatkov. Ne nadaljujte z naslednjim korakom, razen če ste popolnoma prepričani, da veste, kaj počnete. Če potrebujete dodatne informacije, si oglejte dokumentacijo v zvezi s tem.

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

Ko se ukaz dd in sinhronizacija končata, lahko izklopite ploščo IO iz računalnika. Na koncu ne pozabite premakniti mostička J4 nazaj v položaj DIS in vaš računalniški modul mora biti pripravljen za prvi zagon.

3. korak: Prvi zagon

Pred prvim zagonom na svojo IO ploščo priključite tipkovnico USB in monitor HDMI. Če gre vse po pričakovanjih in se vaš Pi konča z zagonom, vam bo njihova pritrditev omogočila interakcijo z njim.

Ko ste pozvani, da se prijavite, uporabite »pi« za uporabniško ime in »malina« za geslo, saj sta to privzeti poverilnici za prijavo. Zdaj lahko zaženete nekaj ukazov, da se prepričate, ali vse deluje po pričakovanjih, kot bi to običajno počeli na vseh Raspberry Pi, vendar ne poskušajte še ničesar namestiti, saj še vedno nimate internetne povezave.

Pomembna stvar, ki jo morate storiti, preden zaprete Pi, je omogočiti SSH, tako da se lahko po naslednjem zagonu povežete z njim iz računalnika. To lahko storite zelo preprosto z ukazom raspi-config, sudo raspi-config

Če želite omogočiti SSH, pojdite na Možnosti vmesnika, izberite SSH, izberite DA, V redu in Končaj. V primeru, da vas vpraša, ali želite znova zagnati zavrnitev. Ko končate, izklopite Pi in ko konča, izklopite napajanje.

sudo shutdown -h zdaj

Nato morate vzpostaviti internetno povezavo z vmesnikom USB Ethernet, ki bi ga že morali imeti. Če ima vaš adapter tudi zvezdišče USB, ga lahko uporabite za priključitev tipkovnice, če želite, sicer se lahko preprosto povežete s Pi prek SSH. Kakorkoli, monitor HDMI vsaj zaenkrat priklopite, da se prepričate, da se bo zagonski postopek končal po pričakovanjih.

Prav tako naj vam ob koncu prikaže tudi naslov IP, ki ga je vaš Pi dobil od strežnika DHCP. Poskusite to uporabiti za povezavo s Pi prek SSH.

ssh pi@

Ko se uspešno povežete s Pi prek SSH, monitorja in tipkovnice ne potrebujete več priključenih, zato jih po želji odklopite. Na tej točki bi morali imeti tudi dostop do interneta s svojega Pi -ja. Poskusite pingati nekaj takega, kot je google.com, da to preverite. Ko se prepričate, da imate dostop do interneta, je dobro, da sistem posodobite tako, da zaženete, sudo apt update && sudo apt upgrade

4. korak: Konfigurirajte kamero

Konfiguriranje kamere
Konfiguriranje kamere

Največja razlika med običajno ploščo Raspberry Pi in računalniškim modulom je v tem, da v primeru poznejšega razen omogočanja kamere z uporabo raspi-config potrebujete tudi drevesno datoteko naprave po meri.

Več informacij o konfiguraciji računalniškega modula za uporabo s kamero najdete v dokumentaciji. Na splošno pa ima priključek za kamero med drugimi tudi 4 krmilne zatiče, ki jih je treba priključiti na 4 zatiče GPIO na računalniškem modulu, vi pa se odločite, kateri med oblikovanjem plošče po meri.

V mojem primeru pri načrtovanju plošče izberem CD1_SDA za prehod na GPIO28, CD1_SCL na GPIO29, CAM1_IO1 na GPIO30 in CAM1_IO0 na GPIO31. Izberem te posebne zatiče GPIO, saj sem na svoji plošči želel imeti 40 -polno glavo GPIO, ki ohranja tudi združljivost s priključkom GPIO običajnih plošč Raspberry Pi. Zato sem se moral prepričati, da se zatiči GPIO, ki jih uporabljam za kamero, ne prikažejo tudi v glavi GPIO.

Torej, razen če se odločite za spremembe ožičenja priključka za kamero, potrebujete /boot/dt-blob.bin, ki pove vašemu Pi, naj konfigurira GPIO28-31, kot je opisano zgoraj. Če želite ustvariti dt-blob.bin, ki je binarna datoteka, potrebujete dt-blob.dts za sestavljanje. Za lažje stvari vam bom zagotovil svoj dt-blob.dts, ki ga boste lahko uporabili in ga po potrebi prilagodili svojim potrebam.

Če želite sestaviti drevesno datoteko naprave, uporabite prevajalnik drevesnih naprav, kot sledi:

dtc -I dts -O dtb -o dt -blob.bin dt -blob.dts

Nisem prepričan, zakaj, vendar bi zgoraj navedeno moralo povzročiti kar nekaj opozoril, a dokler je dt-blob.bin uspešno ustvarjen, bi moralo biti vse v redu. Zdaj premaknite dt-blob.bin, ki ste ga pravkar ustvarili, v /boot z izvajanjem, sudo mv dt-blob.bin /boot/dt-blob.bin

Zgoraj vam bo verjetno dalo naslednje opozorilo, mv: ni uspelo ohraniti lastništva za '/boot/dt-blob.bin': Operacija ni dovoljena

To se samo pritožuje, da ne more ohraniti lastništva datoteke, saj je /boot particija FAT, kar je pričakovati. Morda ste opazili, da /boot/dt-blob.bin privzeto ne obstaja, ker Pi namesto tega uporablja vgrajeno drevo naprav. Dodajanje lastne notranjosti /zagona preglasi vgrajeno in vam omogoča, da konfigurirate funkcijo njenega zatiča tako, kot želite. Več o drevesu naprav najdete v dokumentaciji.

Po tem morate omogočiti kamero, sudo raspi-config

Pojdite na Možnosti vmesnika, izberite Kamera, izberite DA, V redu in Končaj. V primeru, da vas vpraša, ali želite znova zagnati zavrnitev. Zdaj izklopite Pi in odstranite napajanje.

Ko je napajanje izklopljeno z IO plošče, s štirimi žicami moških na ženski priključite priključke za GPIO28 na CD1_SDA, GPIO29 na CD1_SCL, GPIO30 na CAM1_IO1 in GPIO31 na CAM1_IO0. Nazadnje, pritrdite modul kamere na priključek CAM1 s pomočjo vmesniške plošče za fotoaparat ali kabla kamere, ki je zasnovan za Raspberry Pi Zero, in priključite napajanje.

Če bi po zagonu Pi delovalo vse po pričakovanjih, bi morali uporabiti kamero. Če želite poskusiti posneti sliko, potem ko se povežete s Pi prek zagona SSH, raspistill -o test.jpg

Če se ukaz konča brez napak in se ustvari test.jpg, to pomeni, da je deloval. Če si želite ogledati pravkar posneto sliko, se lahko povežete s telefonom Pi prek SFTP in jo prenesete v računalnik.

sftp pi@

sftp> get test.jpg sftp> exit

5. korak: Premik z IO plošče na tiskano vezje po meri

Premik z IO plošče na PCB po meri
Premik z IO plošče na PCB po meri
Premik z IO plošče na PCB po meri
Premik z IO plošče na PCB po meri
Premik z IO plošče na PCB po meri
Premik z IO plošče na PCB po meri

Zdaj, ko ste končali z osnovno konfiguracijo, lahko preidete na oblikovanje lastne plošče po meri, ki temelji na modulu Compute. Ker bo to vaš prvi projekt, vas toplo priporočam, da vzamete moj dizajn in ga razširite tako, da bo vključeval dodatno strojno opremo, ki vam je všeč.

Na zadnji strani plošče je dovolj prostora za dodajanje lastnih komponent, pri relativno majhnih projektih pa vam dimenzij plošče verjetno sploh ni treba povečati. Če je to samostojen projekt in ne potrebujete fizične glave GPIO na plošči, se ga lahko preprosto znebite in prihranite nekaj prostora na zgornji strani tiskanega vezja. Glava GPIO je tudi edina komponenta, ki se preusmeri skozi drugo notranjo plast in jo odstranitev popolnoma osvobodi.

Poudariti moram, da sem eno ploščo uspešno sestavil in preizkusil ter preveril, da vse, vključno s kamero in izhodom HDMI, deluje po pričakovanjih. Torej, dokler ne naredite velikih sprememb v načinu, kako sem preusmeril vse, ne bi smelo biti težav.

V primeru, da boste morali narediti velike spremembe postavitve, ne pozabite, da je večina sledi, ki gredo v priključke HDMI in fotoaparata, preusmerjena kot 100 ohmski diferenčni pari. To pomeni, da morate to upoštevati, če jih morate premikati po plošči. Pomeni tudi, da tudi če iz zasnove izpustite glavo GPIO, kar pomeni, da zdaj notranje plasti ne vsebujejo sledi, še vedno potrebujete 4 -plastno tiskano vezje, da dosežete diferencialno impedanco blizu 100 Ohmov. Če pa ne boste uporabljali izhoda HDMI in kamere, bi morali uporabiti dvoslojno ploščo, tako da se jih znebite in nekoliko znižate stroške plošč.

Samo za referenco, plošče so bile naročene pri ALLPCB s skupno debelino 1,6 mm in nisem zahteval nadzora impedance, saj bi to verjetno precej zvišalo stroške, prav tako pa sem želel preveriti, ali je to pomembno. Za lažje ročno spajkanje priključkov sem izbral tudi imerzijsko zlato barvo, saj zagotavlja, da bodo vse blazinice lepe in ravne.

Priporočena: