สารบัญ:

ออกแบบ PCB โมดูลคอมพิวเตอร์ Raspberry Pi ของคุณเอง: 5 ขั้นตอน (พร้อมรูปภาพ)
ออกแบบ PCB โมดูลคอมพิวเตอร์ Raspberry Pi ของคุณเอง: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ออกแบบ PCB โมดูลคอมพิวเตอร์ Raspberry Pi ของคุณเอง: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ออกแบบ PCB โมดูลคอมพิวเตอร์ Raspberry Pi ของคุณเอง: 5 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Raspberry pi 5 inch HDMI Screen Installation | #Shorts 2024, กรกฎาคม
Anonim
ออกแบบ PCB โมดูลคอมพิวเตอร์ Raspberry Pi ของคุณเอง
ออกแบบ PCB โมดูลคอมพิวเตอร์ Raspberry Pi ของคุณเอง
ออกแบบ PCB โมดูลคอมพิวเตอร์ Raspberry Pi ของคุณเอง
ออกแบบ PCB โมดูลคอมพิวเตอร์ Raspberry Pi ของคุณเอง
ออกแบบ PCB โมดูลคอมพิวเตอร์ Raspberry Pi ของคุณเอง
ออกแบบ PCB โมดูลคอมพิวเตอร์ Raspberry Pi ของคุณเอง

หากคุณไม่เคยได้ยินเกี่ยวกับ Raspberry Pi Compute Module มาก่อน มันคือคอมพิวเตอร์ลินุกซ์ที่มีคุณสมบัติครบถ้วนพร้อมฟอร์มแฟกเตอร์ RAM ของแล็ปท็อป!

ด้วยการออกแบบบอร์ดแบบกำหนดเองของคุณเองโดยที่ Raspberry Pi เป็นเพียงส่วนประกอบอื่น ซึ่งให้ความยืดหยุ่นจำนวนมหาศาลแก่คุณ เนื่องจากทำให้คุณสามารถเข้าถึงพิน IO จำนวนมากขึ้นได้ ในขณะเดียวกันคุณก็จะได้เลือกฮาร์ดแวร์ที่ต้องการบนบอร์ดของคุณ eMMC ออนบอร์ดยังช่วยลดความจำเป็นในการใช้การ์ด micro SD ภายนอก ซึ่งทำให้ Compute Module สมบูรณ์แบบสำหรับการออกแบบผลิตภัณฑ์ที่ใช้ Raspberry Pi

น่าเสียดายที่ในขณะที่ Compute Module ให้คุณทำทั้งหมดนี้ได้ แต่ดูเหมือนว่าจะยังขาดความนิยมเมื่อเทียบกับ Raspberry Pi รุ่น A และ B แบบดั้งเดิม ดังนั้นจึงไม่มีโครงการฮาร์ดแวร์โอเพ่นซอร์สจำนวนมากที่อิงตาม มัน. และสำหรับใครก็ตามที่อาจต้องการเริ่มต้นออกแบบบอร์ดของตัวเอง ทรัพยากรที่มีอยู่ค่อนข้างจำกัด

เมื่อฉันเริ่มต้นใช้งาน Raspberry Pi Compute Module เป็นครั้งแรกเมื่อไม่กี่เดือนที่ผ่านมา นั่นคือปัญหาที่ฉันต้องเผชิญ ดังนั้นฉันจึงตัดสินใจทำอะไรกับมัน ฉันตัดสินใจออกแบบ PCB แบบโอเพ่นซอร์สโดยใช้ Compute Module ซึ่งจะมีคุณสมบัติพื้นฐานทั้งหมดที่ทำให้ Raspberry Pi ยอดเยี่ยม ซึ่งรวมถึงขั้วต่อกล้อง โฮสต์ USB เอาต์พุตเสียง HDMI และส่วนหัว GPIO ที่เข้ากันได้กับบอร์ด Raspberry Pi ปกติ

เป้าหมายของโครงการนี้คือการออกแบบโอเพ่นซอร์สสำหรับบอร์ดที่ใช้ Compute Module ซึ่งทุกคนจะสามารถใช้เป็นจุดเริ่มต้นในการออกแบบบอร์ดที่กำหนดเองได้ บอร์ดนี้ได้รับการออกแบบบน KiCAD ซึ่งเป็นแพ็คเกจซอฟต์แวร์โอเพ่นซอร์สและข้ามแพลตฟอร์ม EDA เพื่อให้ผู้คนจำนวนมากสามารถใช้ประโยชน์จากมันได้

เพียงหยิบไฟล์การออกแบบ ปรับให้เข้ากับความต้องการของคุณ และหมุนบอร์ดแบบกำหนดเองของคุณเองสำหรับโครงการของคุณ

ขั้นตอนที่ 1: ชิ้นส่วนและเครื่องมือ

อะไหล่และเครื่องมือ
อะไหล่และเครื่องมือ
อะไหล่และเครื่องมือ
อะไหล่และเครื่องมือ
อะไหล่และเครื่องมือ
อะไหล่และเครื่องมือ
อะไหล่และเครื่องมือ
อะไหล่และเครื่องมือ

ในการเริ่มต้นใช้งาน Raspberry Pi Compute Module คุณจะต้องมีส่วนประกอบต่อไปนี้:

1 x Raspberry Pi Compute Module 3 - ฉันขอแนะนำให้ใช้เวอร์ชันปกติซึ่งรวมถึง eMMC ออนบอร์ดและไม่ใช่เวอร์ชัน Lite หากคุณต้องการใช้เวอร์ชัน Lite ในโครงการของคุณ คุณจะต้องทำการเปลี่ยนแปลงเล็กน้อยในการออกแบบ ซึ่งรวมถึงการเพิ่มตัวเชื่อมต่อการ์ด micro SD สุดท้ายนี้ ฉันได้ทดสอบบอร์ดกับ CM3 เท่านั้น และไม่สามารถรับประกันได้ว่าบอร์ดจะใช้งานได้กับ CM เวอร์ชันแรกที่เปิดตัวในปี 2014

Update 29/1/2019: ดูเหมือนว่า Foundation เพิ่งเปิดตัว Compute Module 3+ และไม่เพียงเท่านั้น แต่ตอนนี้ยังมาพร้อมกับตัวเลือกสำหรับ eMMC ขนาด 8GB, 16GB หรือ 32GB! ตามแผ่นข้อมูล ปรากฏว่า CM3+ เป็นแบบไฟฟ้าเหมือนกับ CM3 ซึ่งหมายความว่าโดยทั่วไปแล้วจะเป็นการแทนที่ CM3 แบบดรอป

1 x บอร์ด IO Compute Module - การออกแบบของฉันมีวัตถุประสงค์เพื่อใช้เป็นจุดเริ่มต้นสำหรับการออกแบบบอร์ดแบบกำหนดเองของคุณเองโดยอิงตามนั้น ไม่ใช่เพื่อทดแทนบอร์ด IO ของ Compute Module ดังนั้น เพื่อให้ชีวิตของคุณง่ายขึ้น เราขอแนะนำให้คุณใช้บอร์ด IO และใช้สิ่งนั้นเพื่อการพัฒนาก่อนที่จะย้ายไปใช้บอร์ดแบบกำหนดเอง นอกจากจะให้คุณเข้าถึงทุกพินของ CM บวกกับตัวเชื่อมต่อที่หลากหลายแล้ว บอร์ด IO ยังจำเป็นสำหรับการแฟลช eMMC ออนบอร์ดอีกด้วย ซึ่งเป็นสิ่งที่คุณไม่สามารถทำได้กับบอร์ดของฉัน เว้นแต่คุณจะทำการเปลี่ยนแปลงบางอย่างกับการออกแบบก่อน

1 x สายเคเบิลกล้อง Raspberry Pi Zero หรืออะแดปเตอร์กล้องโมดูล Compute - ในการออกแบบของฉัน ฉันใช้ตัวเชื่อมต่อกล้องที่คล้ายกันมากกับตัวเชื่อมต่อที่ใช้โดย Compute Module IO Board และ Raspberry Pi Zero ดังนั้น ในการต่อกล้อง คุณจะต้องใช้สายอะแดปเตอร์ที่ออกแบบมาสำหรับ Pi Zero หรือบอร์ดอะแดปเตอร์กล้องที่มาพร้อมกับ Compute Module Development Kit เท่าที่ฉันรู้ การซื้ออะแด็ปเตอร์บอร์ดแยกต่างหากนั้นค่อนข้างแพง ดังนั้น ถ้าคุณชอบฉันตัดสินใจซื้อ CM และ IO Board แยกต่างหากเพื่อประหยัดเงิน ฉันแนะนำให้คุณซื้อสายอะแดปเตอร์กล้องที่ออกแบบมาสำหรับ Pi Zero แทน

1 x โมดูลกล้อง Raspberry Pi - ฉันได้ทดสอบบอร์ดกับโมดูลกล้อง 5MP ดั้งเดิมเท่านั้นไม่ใช่เวอร์ชัน 8MP ที่ใหม่กว่า แต่เนื่องจากอดีตดูเหมือนว่าจะทำงานได้ดีฉันจึงไม่เห็นเหตุผลที่ในภายหลังจะไม่ทำงานเนื่องจากควรจะเข้ากันได้แบบย้อนหลัง ไม่ว่าจะด้วยวิธีใด เวอร์ชัน 5MP สามารถพบได้ใน eBay ในราคาไม่ถึง 5 ยูโรในปัจจุบัน นั่นเป็นเหตุผลที่ฉันแนะนำให้ซื้อ

สายจัมเปอร์ตัวเมียถึงตัวเมีย 4 เส้น - คุณจะต้องมีอย่างน้อย 4 เส้นสำหรับการกำหนดค่าคอนเน็กเตอร์กล้องบนบอร์ด IO แต่คุณอาจต้องการได้รับมากกว่านี้ ไม่จำเป็นสำหรับบอร์ดแบบกำหนดเอง แต่จะมีประโยชน์หากคุณวางแผนที่จะต่อฮาร์ดแวร์ภายนอกใดๆ ผ่านส่วนหัว GPIO

1 x สาย HDMI - ฉันตัดสินใจใช้ขั้วต่อ HDMI ขนาดเต็มบนบอร์ดของฉันเพื่อขจัดความจำเป็นในอะแดปเตอร์ แน่นอน หากคุณต้องการใช้ขั้วต่อขนาดเล็กหรือไมโคร HDMI คุณก็สามารถปรับการออกแบบให้เข้ากับความต้องการของคุณได้

1 x 5V Micro USB Power Supply - ที่ชาร์จโทรศัพท์ของคุณน่าจะใช้ได้ดีสำหรับกรณีส่วนใหญ่ ตราบใดที่สามารถจ่ายไฟได้อย่างน้อย 1A โปรดทราบว่านี่เป็นเพียงค่าทั่วไป ข้อกำหนดด้านพลังงานที่แท้จริงของคุณจะขึ้นอยู่กับฮาร์ดแวร์ที่คุณตัดสินใจที่จะรวมไว้ในบอร์ดแบบกำหนดเองของคุณ

1 x USB Ethernet Adapter - หากคุณวางแผนที่จะติดตั้งหรืออัปเดตแพ็คเกจใด ๆ ในระบบของคุณ คุณจะต้องใช้อินเทอร์เน็ตอย่างน้อยชั่วคราว อะแดปเตอร์อีเทอร์เน็ตแบบ 2-in-1 และฮับ USB น่าจะเป็นคำสั่งผสมที่ดี เนื่องจากคุณมีพอร์ต USB เพียงพอร์ตเดียวเท่านั้น โดยส่วนตัวแล้วฉันใช้ Edimax EU-4208 ซึ่งใช้งานได้ทันทีกับ Pi และไม่ต้องใช้พลังงานจากภายนอก แต่ไม่มีฮับ USB ในตัว หากคุณกำลังมองหาการซื้ออะแดปเตอร์อีเทอร์เน็ต USB ที่นี่ คุณสามารถทำได้ ค้นหารายชื่อที่ผ่านการทดสอบกับ Raspberry Pi

หากคุณต้องการเพิ่มพอร์ต USB และแม้แต่ Etherent บนบอร์ดแบบกำหนดเองของคุณโดยตรง เราขอแนะนำให้คุณดู LAN9512 จาก Microchip มันเป็นชิปตัวเดียวกับที่ใช้โดย Raspberry Pi รุ่น B ดั้งเดิมและจะให้พอร์ต USB 2 พอร์ตและพอร์ตอีเธอร์เน็ต 1 พอร์ต หรือหากคุณต้องการพอร์ต USB 4 พอร์ต ให้พิจารณาดู LAN9514 ลูกพี่ลูกน้องของมัน

1 x DDR2 SODIMM RAM Connector - นี่อาจเป็นส่วนประกอบที่สำคัญที่สุดของบอร์ดทั้งหมด และน่าจะเป็นส่วนประกอบเดียวที่ไม่สามารถแทนที่ได้อย่างง่ายดาย เพื่อช่วยคุณจากปัญหา ส่วนที่คุณควรได้รับคือ TE CONNECTIVITY 1473005-4 มีจำหน่ายจากซัพพลายเออร์รายใหญ่ส่วนใหญ่ เช่น TME, Mouser และ Digikey ดังนั้นคุณจึงไม่มีปัญหาในการค้นหา ระวังให้มาก ตรวจสอบอีกครั้งและตรวจสอบให้แน่ใจว่าชิ้นส่วนที่คุณสั่งซื้อนั้นเป็น 1473005-4 จริงๆ อย่าทำผิดพลาดเหมือนที่ฉันทำและรับเวอร์ชันมิเรอร์ ตัวเชื่อมต่อเหล่านี้ไม่ถูก

สำหรับส่วนที่เหลือของส่วนที่ฉันเลือกที่จะรวมไว้บนกระดาน คุณสามารถดู BOM เพื่อรับข้อมูลเพิ่มเติม ฉันพยายามรวมลิงก์ไปยังแผ่นข้อมูลสำหรับส่วนใหญ่

อุปกรณ์บัดกรี - ส่วนประกอบที่เล็กที่สุดบนบอร์ดคือตัวเก็บประจุแบบแยกส่วน 0402 แต่ HDMI เช่นเดียวกับกล้องและตัวเชื่อมต่อ SODIMM ก็สามารถท้าทายได้เล็กน้อยหากไม่มีกำลังขยายใดๆ หากคุณมีประสบการณ์ที่ดีกับการบัดกรีแบบ SMD คิดว่าไม่น่าจะเป็นปัญหาใหญ่ ไม่ว่าจะด้วยวิธีใด หากคุณเข้าถึงกล้องจุลทรรศน์ได้ ฉันขอแนะนำอย่างยิ่ง

ขั้นตอนที่ 2: กระพริบ EMMC

สิ่งแรกที่คุณต้องทำก่อนเริ่มใช้ Compute Module คือการแฟลชอิมเมจ Raspbian Lite ล่าสุดบน eMMC เอกสาร Raspberry Pi อย่างเป็นทางการนั้นเขียนได้ดีมากและอธิบายกระบวนการทั้งหมดอย่างละเอียดสำหรับทั้ง Linux และ Windows ด้วยเหตุผลดังกล่าว ฉันจึงจะอธิบายเฉพาะขั้นตอนที่คุณต้องดำเนินการสั้นๆ บน Linux เพื่อให้สามารถใช้เป็นข้อมูลอ้างอิงได้อย่างรวดเร็ว

ก่อนอื่น คุณต้องตรวจสอบให้แน่ใจว่าคุณได้ตั้งค่าบอร์ด IO ของคุณเป็นโหมดการเขียนโปรแกรม และเสียบโมดูล Compute เข้ากับขั้วต่อ SODIMM แล้ว ในการตั้งค่าบอร์ดเป็นโหมดการเขียนโปรแกรมให้ย้ายจัมเปอร์ J4 ไปที่ตำแหน่ง EN

ต่อไป คุณจะต้องสร้างเครื่องมือ rpiboot ในระบบของคุณ เพื่อให้คุณสามารถเข้าถึง eMMC ได้ ในการทำเช่นนั้น คุณต้องมีสำเนาของที่เก็บ usbboot ซึ่งสามารถรับได้อย่างง่ายดายโดยใช้ git ดังนี้

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

ตอนนี้ ในการสร้าง rpiboot คุณต้องตรวจสอบให้แน่ใจว่ามีการติดตั้งทั้ง libusb-1.0-0-dev และ make แพ็คเกจบนระบบของคุณ ดังนั้น สมมติว่าคุณใช้ distro แบบเดเบียน เช่น การรันของอูบุนตู

อัปเดต sudo apt && sudo apt ติดตั้ง libusb-1.0-0-dev make

หากคุณไม่ได้ใช้ distro แบบ Debian ชื่อของแพ็คเกจ libusb-1.0.0-dev อาจแตกต่างกัน ดังนั้นอย่าลืมค้นหาวิธีการเรียกในกรณีของคุณ เมื่อติดตั้งการพึ่งพาบิลด์แล้ว คุณสามารถสร้างไบนารี rpiboot ได้ง่ายๆ ด้วยการรัน

ทำ

หลังจากสร้างเสร็จแล้วให้รัน rpiboot ในฐานะรูทและจะเริ่มรอการเชื่อมต่อ

sudo./rpiboot

ตอนนี้เสียบบอร์ด IO เข้ากับคอมพิวเตอร์ของคุณโดยเชื่อมต่อสายไมโคร USB เข้ากับพอร์ต USB SLAVE จากนั้นจ่ายไฟให้กับพอร์ต POWER IN หลังจากผ่านไปสองสามวินาที rpiboot จะสามารถตรวจพบ Compute Module และอนุญาตให้คุณเข้าถึง eMMC ได้ นั่นควรส่งผลให้อุปกรณ์บล็อกใหม่ปรากฏภายใต้ /dev คุณสามารถใช้โปรแกรม fdisk เพื่อช่วยคุณค้นหาชื่ออุปกรณ์

sudo fdisk -l

ดิสก์ /dev/sdi: 3.7 GiB, 3909091328 ไบต์, 7634944 ภาค

หน่วย: เซ็กเตอร์ 1 * 512 = 512 ไบต์ ขนาดเซกเตอร์ (ตรรกะ/กายภาพ): 512 ไบต์ / 512 ไบต์ ขนาด I/O (ขั้นต่ำ/เหมาะสม): 512 ไบต์ / 512 ไบต์ ประเภทดิสก์ป้ายกำกับ: dos ตัวระบุดิสก์: 0x8e3a9721

เริ่มต้นอุปกรณ์ เริ่มต้น สิ้นสุด เซ็กเตอร์ ขนาด รหัส Type

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

ในกรณีของฉัน มันคือ /dev/sdi เนื่องจากฉันมีไดรฟ์บางตัวที่ติดอยู่ในระบบของฉันแล้ว แต่ไดรฟ์ของคุณจะแตกต่างกันออกไปอย่างแน่นอน

หลังจากที่คุณแน่ใจแล้วว่าคุณพบชื่ออุปกรณ์ที่ถูกต้องแล้ว คุณสามารถใช้ dd เพื่อเบิร์นอิมเมจ Raspbian Lite ไปยัง eMMC ก่อนดำเนินการดังกล่าว ตรวจสอบให้แน่ใจว่าไม่มีพาร์ติชันของ eMMC ติดตั้งอยู่ในระบบของคุณอยู่แล้ว

df -h

หากคุณพบ unmount ใด ๆ ดังต่อไปนี้

sudo umount /dev/sdXY

ตอนนี้โปรดใช้ความระมัดระวังอย่างยิ่ง การใช้ชื่ออุปกรณ์ที่ไม่ถูกต้องกับ dd อาจทำลายระบบของคุณและทำให้ข้อมูลสูญหายได้ อย่าดำเนินการในขั้นตอนต่อไปเว้นแต่คุณจะแน่ใจโดยสมบูรณ์ว่าคุณรู้ว่ากำลังทำอะไรอยู่ หากคุณต้องการข้อมูลเพิ่มเติม โปรดดูเอกสารเกี่ยวกับเรื่องนี้

sudo dd if=-raspbian-stretch-lite.img of=/dev/sdX bs=4M && ซิงค์

เมื่อคำสั่ง dd และ sync เสร็จสิ้น คุณควรจะสามารถถอดบอร์ด IO ออกจากคอมพิวเตอร์ของคุณได้ สุดท้าย อย่าลืมย้ายจัมเปอร์ J4 กลับไปที่ตำแหน่ง DIS และ Compute Module ของคุณควรพร้อมสำหรับการบู๊ตครั้งแรก

ขั้นตอนที่ 3: บูตครั้งแรก

ก่อนทำการบู๊ตในครั้งแรก ตรวจสอบให้แน่ใจว่าได้เสียบคีย์บอร์ด USB และจอภาพ HDMI เข้ากับบอร์ด IO ของคุณ หากทุกอย่างเป็นไปตามที่คาดไว้และ Pi ของคุณบูทเสร็จสิ้น การติดตั้งไว้จะช่วยให้คุณโต้ตอบกับมันได้

เมื่อคุณได้รับแจ้งให้เข้าสู่ระบบ ให้ใช้ "pi" สำหรับชื่อผู้ใช้และ "raspberry" สำหรับรหัสผ่าน เนื่องจากสิ่งเหล่านี้เป็นข้อมูลรับรองการเข้าสู่ระบบเริ่มต้น ตอนนี้คุณสามารถเรียกใช้คำสั่งบางอย่างเพื่อให้แน่ใจว่าทุกอย่างทำงานได้ตามที่คาดไว้ตามปกติใน Raspberry Pi ใดๆ แต่อย่าเพิ่งพยายามติดตั้งอะไรเลยเนื่องจากคุณยังไม่มีการเชื่อมต่ออินเทอร์เน็ต

สิ่งสำคัญที่คุณต้องทำก่อนปิด Pi คือการเปิดใช้ SSH เพื่อให้คุณสามารถเชื่อมต่อจากคอมพิวเตอร์ของคุณหลังจากการบู๊ตครั้งถัดไป คุณสามารถทำได้ง่ายมากโดยใช้คำสั่ง raspi-config

sudo raspi-config

หากต้องการเปิดใช้งาน SSH ให้ไปที่ตัวเลือกการเชื่อมต่อ เลือก SSH เลือกใช่ ตกลง และเสร็จสิ้น ในกรณีที่ระบบถามว่าคุณต้องการรีบูตหรือไม่ หลังจากที่คุณปิด Pi ของคุณเสร็จแล้วและเมื่อเสร็จแล้วให้ถอดไฟออก

sudo ปิด -h ตอนนี้

ถัดไป คุณต้องสร้างการเชื่อมต่ออินเทอร์เน็ตโดยใช้อะแดปเตอร์อีเทอร์เน็ต USB ที่คุณควรมีอยู่แล้ว หากอะแดปเตอร์ของคุณมีฮับ USB ด้วย คุณสามารถใช้ฮับดังกล่าวเพื่อเสียบแป้นพิมพ์ได้หากต้องการ มิฉะนั้น คุณสามารถเชื่อมต่อกับ Pi ผ่าน SSH ได้ ไม่ว่าจะด้วยวิธีใด ให้เสียบจอภาพ HDMI อย่างน้อยในตอนนี้ เพื่อให้แน่ใจว่ากระบวนการบู๊ตจะเสร็จสิ้นตามที่คาดไว้

นอกจากนี้ ในตอนท้ายควรแสดงที่อยู่ IP ที่ Pi ของคุณได้รับจากเซิร์ฟเวอร์ DHCP ด้วย ลองใช้สิ่งนี้เพื่อเชื่อมต่อกับ Pi ของคุณผ่าน SSH

ssh pi@

หลังจากเชื่อมต่อกับ Pi ผ่าน SSH สำเร็จแล้ว คุณไม่จำเป็นต้องต่อจอภาพและแป้นพิมพ์อีกต่อไป ดังนั้นโปรดถอดปลั๊กออกหากต้องการ ณ จุดนี้คุณควรเข้าถึงอินเทอร์เน็ตจาก Pi ของคุณได้ด้วย คุณสามารถลองส่ง Ping เช่น google.com เพื่อยืนยันได้ หลังจากตรวจสอบให้แน่ใจว่าคุณมีการเข้าถึงอินเทอร์เน็ตแล้ว ขอแนะนำให้อัปเดตระบบด้วยการเรียกใช้

sudo apt update && sudo apt upgrade

ขั้นตอนที่ 4: การกำหนดค่ากล้อง

การกำหนดค่ากล้อง
การกำหนดค่ากล้อง

ความแตกต่างที่ใหญ่ที่สุดระหว่างบอร์ด Raspberry Pi ปกติกับ Compute Module ก็คือ ในกรณีภายหลังนอกเหนือจากการเปิดใช้งานกล้องโดยใช้ raspi-config คุณจำเป็นต้องมีไฟล์แผนผังอุปกรณ์ที่กำหนดเองด้วย

คุณสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่าของ Compute Module สำหรับใช้กับกล้องได้ในเอกสารประกอบ แต่โดยทั่วไป คอนเน็กเตอร์ของกล้องยังมีพินควบคุม 4 พิน ซึ่งจำเป็นต้องเชื่อมต่อกับพิน GPIO 4 พินบน Compute Module และขึ้นอยู่กับคุณว่าจะเลือกอันไหนขณะออกแบบบอร์ดแบบกำหนดเองของคุณ

ในกรณีของฉัน ขณะออกแบบบอร์ด ฉันเลือก CD1_SDA เพื่อไปที่ GPIO28, CD1_SCL ถึง GPIO29, CAM1_IO1 ถึง GPIO30 และ CAM1_IO0 ถึง GPIO31 ฉันเลือกพิน GPIO เฉพาะเหล่านี้เนื่องจากฉันต้องการให้มีส่วนหัว GPIO 40 พินบนบอร์ดของฉัน ซึ่งยังคงรักษาความเข้ากันได้กับตัวเชื่อมต่อ GPIO ของบอร์ด Raspberry Pi ปกติ และด้วยเหตุนั้น ฉันจึงต้องตรวจสอบให้แน่ใจว่าหมุด GPIO ที่ฉันใช้สำหรับกล้องจะไม่ปรากฏในส่วนหัวของ GPIO ด้วย

ดังนั้น เว้นแต่คุณจะตัดสินใจเปลี่ยนแปลงการเดินสายของขั้วต่อกล้อง คุณต้องมี /boot/dt-blob.bin ที่บอกให้ Pi กำหนดค่า GPIO28-31 ตามที่อธิบายไว้ข้างต้น และในการสร้าง dt-blob.bin ซึ่งเป็นไฟล์ไบนารี คุณต้องมี dt-blob.dts เพื่อคอมไพล์ เพื่อทำให้สิ่งต่างๆ ง่ายขึ้น ฉันจะจัดเตรียม dt-blob.dts ของฉันเองให้คุณใช้ ซึ่งคุณสามารถปรับให้เข้ากับความต้องการของคุณได้หากต้องการ

ในการคอมไพล์ไฟล์ทรีอุปกรณ์ให้ใช้คอมไพเลอร์ทรีอุปกรณ์ดังนี้

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

ฉันไม่แน่ใจว่าทำไม แต่ข้างต้นควรส่งผลให้เกิดคำเตือนเล็กน้อย แต่ตราบใดที่ dt-blob.bin ถูกสร้างขึ้นสำเร็จทุกอย่างก็ควรจะเรียบร้อย ตอนนี้ ย้าย dt-blob.bin ที่คุณเพิ่งสร้างขึ้นไปที่ /boot โดยดำเนินการ

sudo mv dt-blob.bin /boot/dt-blob.bin

ข้างต้นอาจจะให้คำเตือนต่อไปนี้แก่คุณ

mv: ล้มเหลวในการรักษาความเป็นเจ้าของสำหรับ '/boot/dt-blob.bin': ไม่อนุญาตให้ดำเนินการ

นี่เป็นเพียง mv ที่บ่นว่าไม่สามารถรักษาความเป็นเจ้าของไฟล์ได้เนื่องจาก /boot เป็นพาร์ติชั่น FAT ที่คาดหวัง คุณอาจสังเกตเห็นว่า /boot/dt-blob.bin ไม่มีอยู่โดยค่าเริ่มต้น เนื่องจาก Pi ใช้โครงสร้างอุปกรณ์ในตัวแทน การเพิ่มของคุณเองภายใน /boot แม้ว่าจะแทนที่ตัวที่มีอยู่แล้วและช่วยให้คุณสามารถกำหนดค่าฟังก์ชันของพินได้ตามที่คุณต้องการ คุณสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับโครงสร้างอุปกรณ์ได้ในเอกสารประกอบ

หลังจากนั้นคุณต้องเปิดใช้งานกล้อง

sudo raspi-config

ไปที่ ตัวเลือกการเชื่อมต่อ เลือก กล้อง เลือก ใช่ ตกลง และ เสร็จสิ้น ในกรณีที่ระบบถามว่าคุณต้องการรีบูตหรือไม่ ตอนนี้ปิด Pi ของคุณและถอดสายไฟออก

หลังจากถอดไฟออกจากบอร์ด IO แล้ว ใช้สายจัมเปอร์ตัวเมีย 4 เส้นต่อพินสำหรับ GPIO28 ถึง CD1_SDA, GPIO29 ถึง CD1_SCL, GPIO30 ถึง CAM1_IO1 และ GPIO31 ถึง CAM1_IO0 สุดท้าย แนบโมดูลกล้องของคุณเข้ากับขั้วต่อ CAM1 โดยใช้บอร์ดอะแดปเตอร์กล้องหรือสายกล้องที่ออกแบบมาสำหรับ Raspberry Pi Zero และใช้พลังงาน

หากทุกอย่างทำงานตามที่คาดไว้หลังจากบูท Pi คุณควรจะสามารถใช้กล้องได้ ในการลองถ่ายภาพหลังจากเชื่อมต่อกับ Pi ของคุณผ่านการรัน SSH

raspistill -o test.jpg

หากคำสั่งเสร็จสิ้นโดยไม่มีข้อผิดพลาดและมีการสร้าง test-j.webp

sftp pi@

sftp> รับ test.jpg sftp> exit

ขั้นตอนที่ 5: การย้ายจากบอร์ด IO ไปยัง PCB แบบกำหนดเอง

การย้ายจากบอร์ด IO ไปยัง PCB แบบกำหนดเอง
การย้ายจากบอร์ด IO ไปยัง PCB แบบกำหนดเอง
การย้ายจากบอร์ด IO ไปยัง PCB แบบกำหนดเอง
การย้ายจากบอร์ด IO ไปยัง PCB แบบกำหนดเอง
การย้ายจากบอร์ด IO ไปยัง PCB แบบกำหนดเอง
การย้ายจากบอร์ด IO ไปยัง PCB แบบกำหนดเอง

เมื่อคุณเสร็จสิ้นการกำหนดค่าพื้นฐานทั้งหมดแล้ว คุณสามารถย้ายไปออกแบบบอร์ดแบบกำหนดเองตามโมดูลการคำนวณได้ เนื่องจากนี่จะเป็นโครงการแรกของคุณ ฉันจึงสนับสนุนให้คุณคว้าการออกแบบของฉันและขยายมันเพื่อรวมฮาร์ดแวร์เพิ่มเติมที่คุณต้องการ

ด้านหลังของบอร์ดมีพื้นที่มากมายสำหรับใส่ส่วนประกอบของคุณเอง และสำหรับโปรเจ็กต์ที่ค่อนข้างเล็ก คุณไม่จำเป็นต้องเพิ่มขนาดของบอร์ดด้วยซ้ำ นอกจากนี้ ในกรณีที่เป็นโครงการแบบสแตนด์อโลน และคุณไม่จำเป็นต้องมีส่วนหัว GPIO จริงบนบอร์ดของคุณ คุณสามารถกำจัดมันได้อย่างง่ายดายและประหยัดพื้นที่บางส่วนที่ด้านบนของ PCB ส่วนหัว GPIO ยังเป็นส่วนประกอบเดียวที่ส่งผ่านเลเยอร์ภายในที่สองและลบออกจะทำให้ว่างทั้งหมด

ฉันควรชี้ให้เห็นว่าฉันได้ประกอบและทดสอบบอร์ดตัวใดตัวหนึ่งสำเร็จแล้ว และฉันได้ตรวจสอบแล้วว่าทุกอย่างรวมถึงกล้องและเอาต์พุต HDMI นั้นทำงานได้ตามที่คาดไว้ ตราบใดที่คุณไม่ได้ทำการเปลี่ยนแปลงครั้งใหญ่กับวิธีที่ฉันได้กำหนดเส้นทางทุกอย่างที่คุณไม่ควรมีปัญหาใดๆ

ในกรณีที่คุณต้องทำการเปลี่ยนแปลงเลย์เอาต์ครั้งใหญ่ โปรดจำไว้ว่าร่องรอยส่วนใหญ่ที่ไปยังตัวเชื่อมต่อ HDMI และกล้องนั้นถูกกำหนดเส้นทางเป็นคู่ค่า 100 โอห์ม ซึ่งหมายความว่าคุณต้องคำนึงถึงสิ่งนี้ในกรณีที่คุณต้องย้ายไปรอบ ๆ กระดาน นอกจากนี้ หมายความว่าแม้ว่าคุณจะปล่อยส่วนหัว GPIO ออกจากการออกแบบของคุณ ซึ่งหมายความว่าตอนนี้เลเยอร์ภายในจะไม่มีร่องรอยใดๆ คุณยังคงต้องใช้ PCB 4 ชั้นเพื่อให้ได้อิมพีแดนซ์ส่วนต่างใกล้ 100 โอห์ม หากคุณไม่ต้องการใช้เอาต์พุต HDMI และกล้อง คุณควรใช้บอร์ด 2 ชั้นโดยกำจัดพวกมันและลดต้นทุนของบอร์ดลงเล็กน้อย

สำหรับการอ้างอิงเท่านั้น บอร์ดได้รับคำสั่งจาก ALLPCB ที่มีความหนารวม 1.6 มม. และฉันไม่ได้ขอการควบคุมอิมพีแดนซ์ เพราะมันน่าจะเพิ่มราคาได้ไม่น้อย และฉันก็อยากจะดูว่ามันจะสำคัญหรือไม่ ฉันยังเลือกการเคลือบสีทองแบบจุ่มเพื่อทำให้การบัดกรีด้วยมือของตัวเชื่อมต่อทำได้ง่ายขึ้นเพราะรับประกันว่าแผ่นอิเล็กโทรดทั้งหมดจะดีและแบน

แนะนำ: