เครื่องคัดแยกขยะ CPE 133: 14 ขั้นตอน
เครื่องคัดแยกขยะ CPE 133: 14 ขั้นตอน

วีดีโอ: เครื่องคัดแยกขยะ CPE 133: 14 ขั้นตอน

วีดีโอ: เครื่องคัดแยกขยะ CPE 133: 14 ขั้นตอน
วีดีโอ: เครื่องพับผ้า CPE #18 CMU 2025, มกราคม
Anonim
เครื่องคัดแยกขยะ CPE 133
เครื่องคัดแยกขยะ CPE 133

สำหรับคลาส CPE 133 ของเราที่ Cal Poly เราได้รับคำสั่งให้สร้างโครงการ VHDL/Basys 3 ที่จะช่วยสิ่งแวดล้อมและเรียบง่ายเพียงพอที่เราจะนำไปใช้ด้วยความรู้ใหม่เกี่ยวกับการออกแบบดิจิทัล แนวคิดเบื้องหลังโครงการของเราที่โดยทั่วไปแล้ว ผู้คนไม่คิดว่าจะทิ้งขยะไว้ที่ใด เราตัดสินใจสร้างเครื่องจักรที่จะบังคับผู้คนให้นึกถึงที่ที่พวกเขาทิ้งขยะ เครื่องคัดแยกขยะของเราจะป้อนข้อมูลของผู้ใช้ผ่านสวิตช์สามตัว โดยแต่ละตัวจะแทนถังขยะ การรีไซเคิล หรือปุ๋ยหมัก เมื่อผู้ใช้เลือกแล้ว ให้ระบุประเภทของขยะที่ต้องการทิ้งโดยกดปุ่ม ปุ่มนี้จะทำให้ฝาภาชนะที่เกี่ยวข้องเปิดขึ้น เครื่องยังใช้จอแสดงผลบน Basy 3 เพื่อระบุว่ามีฝาใดเปิดอยู่หรือไม่ เมื่อปล่อยปุ่ม ฝาปิดจะปิดอีกครั้งเพื่อให้เครื่องพร้อมสำหรับผู้ใช้รายต่อไป

ขั้นตอนที่ 1: วัสดุ

วัสดุ
วัสดุ
วัสดุ
วัสดุ
วัสดุ
วัสดุ

วัสดุที่จำเป็นสำหรับโครงการนี้คือ:

บอร์ดพื้นฐาน 3 ตัว

คอมพิวเตอร์ที่ติดตั้ง Vivado

3x เซอร์โว*

ลวดทองแดง 3 ฟุต

เครื่องตัด/ปอกสายไฟ

หัวแร้งและหัวแร้ง

*เนื่องจากเซอร์โวมีราคาแพงและเราเป็นนักศึกษา เราจึงเปลี่ยนตัวต้านทาน 68 โอห์มและ LED สำหรับเซอร์โวแต่ละตัวเป็นต้นแบบ (โค้ดทำงานในลักษณะเดียวกัน)

ขั้นตอนที่ 2: เริ่มต้นการเข้ารหัส

เริ่มต้นการเข้ารหัส
เริ่มต้นการเข้ารหัส
เริ่มต้นการเข้ารหัส
เริ่มต้นการเข้ารหัส
เริ่มต้นการเข้ารหัส
เริ่มต้นการเข้ารหัส

มีโค้ดจำนวนมากที่ต้องเขียนสำหรับโครงการนี้ เราจะใช้โค้ด VHDL ที่เขียนด้วย Vivado ในการเริ่มต้นเราต้องการสร้างโครงการใหม่ ขั้นแรก คุณจะต้องตั้งชื่อโครงการและระบุประเภทโครงการ อย่าลืมเลือกการตั้งค่าเดียวกับภาพ เมื่อคุณไปที่หน้าจอต้นทางแล้ว คุณจะต้องเพิ่มแหล่งข้อมูล 6 แหล่งชื่อ "top", "flip_flop", "segments", "servo_top", "servo_sig" และ "clk_div" อย่าลืมเลือก VHDL เป็นภาษาของแต่ละไฟล์ ไม่ใช่ Verilog ในหน้าจอข้อจำกัด คุณควรสร้างไฟล์หนึ่งไฟล์สำหรับการกำหนดพิน ชื่อของไฟล์นี้ไม่สำคัญ จากนั้นคุณจะได้รับแจ้งให้เลือกบอร์ดที่คุณจะใช้ ตรวจสอบให้แน่ใจว่าคุณเลือกรายการที่ถูกต้อง รูปภาพอ้างอิงสำหรับการเลือกที่ถูกต้อง ขั้นตอนสุดท้ายจะขอให้คุณระบุอินพุตและเอาต์พุตของไฟล์ต้นฉบับแต่ละไฟล์ ขั้นตอนนี้สามารถเข้ารหัสได้ในภายหลังดังนั้นคลิกถัดไป

ขั้นตอนที่ 3: ไฟล์ข้อจำกัด

ไฟล์ข้อจำกัด
ไฟล์ข้อจำกัด
ไฟล์ข้อจำกัด
ไฟล์ข้อจำกัด

ในขั้นตอนนี้ เราจะเขียนไฟล์ข้อ จำกัด สิ่งนี้จะบอก Vivado ว่าพินใดจะส่ง/รับซึ่งสัญญาณจากวงจร เราต้องการนาฬิกา สวิตช์สามตัว จอแสดงผลเจ็ดส่วน (แคโทดเจ็ดตัวและแอโนดสี่ตัว) ปุ่มและพิน PMOD เอาต์พุตสามตัวที่เซอร์โว/LED จะใช้ รูปภาพอ้างอิงว่าโค้ดควรมีลักษณะอย่างไร

ขั้นตอนที่ 4: ไฟล์ Flip Flop

ไฟล์ปัดพลิก
ไฟล์ปัดพลิก

ไฟล์ต่อไปที่เราจะเขียนคือไฟล์ต้นฉบับ flip_flip นี่จะเป็นการใช้งาน VHDL ของ D flip flop กล่าวอีกนัยหนึ่งก็คือจะส่งผ่านอินพุตไปยังเอาต์พุตที่ขอบที่เพิ่มขึ้นของสัญญาณนาฬิกาและเมื่อกดปุ่มเท่านั้น จะใช้นาฬิกา D และปุ่มเป็นอินพุตและจะส่งออก Q. อ้างอิงรูปภาพสำหรับรหัส จุดประสงค์ของไฟล์นี้คือเพื่อให้ถังขยะเปิดได้เฉพาะเมื่อกดปุ่มเท่านั้น แทนที่จะเปิดโดยตรงในแต่ละครั้งที่สวิตช์ถูกพลิก และปิดเมื่อสวิตช์กลับด้านเท่านั้น

ขั้นตอนที่ 5: ไฟล์เซ็กเมนต์

ไฟล์ส่วน
ไฟล์ส่วน

ไฟล์ถัดไปที่จะเขียนคือไฟล์เซกเมนต์ การดำเนินการนี้จะใช้ปุ่มเช่นเดียวกับค่าอินพุตและเอาต์พุตสำหรับแคโทดทั้งเจ็ดและแอโนดสี่ตัวของจอแสดงผลเจ็ดเซกเมนต์ของ Basys 3 ไฟล์นี้ทำให้การแสดงเจ็ดเซ็กเมนต์แสดง "C" เมื่อปิดถังขยะและ "O" เมื่อเปิดถังขยะ รหัสดูรูปภาพที่แนบมา

ขั้นตอนที่ 6: ไฟล์ตัวแบ่งนาฬิกา

ไฟล์ตัวแบ่งนาฬิกา
ไฟล์ตัวแบ่งนาฬิกา

เซอร์โวทำงานโดยใช้สัญญาณ PWM ที่มีความถี่ 64k Hz ในขณะที่นาฬิกาติดตั้งอยู่ในฟังก์ชัน Basy 3 ที่ 50M Hz ไฟล์ตัวแบ่งนาฬิกาจะแปลงนาฬิกาเริ่มต้นเป็นความถี่ที่เป็นมิตรสำหรับเซอร์โว ไฟล์จะนำนาฬิกาและสัญญาณรีเซ็ตเป็นอินพุตและจะส่งสัญญาณนาฬิกาใหม่ ดูภาพที่แนบมาสำหรับรหัส

ขั้นตอนที่ 7: ไฟล์สัญญาณเซอร์โว

ไฟล์สัญญาณเซอร์โว
ไฟล์สัญญาณเซอร์โว

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

ขั้นตอนที่ 8: ไฟล์เซอร์โวบนสุด

ไฟล์เซอร์โวท็อป
ไฟล์เซอร์โวท็อป

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

ขั้นตอนที่ 9: ไฟล์ยอดนิยม

ไฟล์ยอดนิยม
ไฟล์ยอดนิยม
ไฟล์ยอดนิยม
ไฟล์ยอดนิยม
ไฟล์ยอดนิยม
ไฟล์ยอดนิยม
ไฟล์ยอดนิยม
ไฟล์ยอดนิยม

นี่เป็นไฟล์ที่สำคัญที่สุดของโครงการ เนื่องจากเป็นการรวมทุกสิ่งที่เราสร้างขึ้นมาไว้ด้วยกัน มันจะใช้ปุ่ม สวิตช์สามตัว และนาฬิกาเป็นอินพุต มันจะให้แคโทดเจ็ดตัว แอโนดสี่ตัว และสัญญาณเซอร์โว/ไฟ LED สามตัวเป็นเอาต์พุต จะใช้ไฟล์ flip flop, segment และ servo_top เป็นส่วนประกอบ และจะมีสวิตช์ภายในและสัญญาณเซอร์โวภายใน

ขั้นตอนที่ 10: การทดสอบใน Vivado

เรียกใช้การสังเคราะห์ ใช้งาน และเขียน bitsream ใน Vivado หากคุณพบข้อความแสดงข้อผิดพลาด ให้ค้นหาตำแหน่งข้อผิดพลาดแล้วเปรียบเทียบกับรหัสที่กำหนด แก้ไขข้อผิดพลาดใดๆ จนกว่าการรันทั้งหมดจะเสร็จสิ้น

ขั้นตอนที่ 11: การสร้างข้อมูลเบื้องต้นเกี่ยวกับฮาร์ดแวร์

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

ขั้นตอนที่ 12: เตรียม

ตัดลวดออกเป็นหกส่วนเท่า ๆ กัน ดึงปลายลวดแต่ละชิ้นออกให้เพียงพอเพื่อให้เกิดการบัดกรี แยก LED ตัวต้านทานและสายไฟออกเป็นสามกลุ่ม อุ่นหัวแร้ง

ขั้นตอนที่ 13: การบัดกรี

บัดกรี
บัดกรี
บัดกรี
บัดกรี

ประสานตัวต้านทาน 68 โอห์มแต่ละตัวกับด้านลบของ LED ที่สอดคล้องกัน บัดกรีลวดเข้ากับด้านบวกของ LED และลวดอีกเส้นที่ด้านข้างของตัวต้านทานที่ไม่ได้บัดกรีกับไฟ LED คุณควรมี LED contraptions สามตัวดังภาพด้านบน

ขั้นตอนที่ 14: ตอนจบ

ตอนจบ
ตอนจบ

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