- ส่วนประกอบที่จำเป็นสำหรับ Raspberry Pi Motor Driver HAT
- L293D IC ขับมอเตอร์
- แผนภาพวงจรสำหรับ Raspberry Pi Motor Driver HAT
- ผลิต PCB สำหรับ Raspberry Pi Motor Driver HAT
- สั่งซื้อ PCB จาก PCBWay
- การประกอบไฟล์
- การตั้งค่า Raspberry Pi
- คำอธิบายรหัสไดรเวอร์ Raspberry Pi Motor
- การทดสอบ Raspberry Pi Motor Driver HAT
Raspberry Pi HAT เป็นส่วนเสริมสำหรับ Raspberry Pi ที่มีขนาดเท่ากับ Pi สามารถใส่ได้โดยตรงที่ด้านบนของ Raspberry Pi และไม่ต้องการการเชื่อมต่อเพิ่มเติม มี Raspberry Pi HAT มากมายในตลาด ในบทช่วยสอนนี้เราจะสร้างRaspberry Pi Motor Driver HATเพื่อขับเคลื่อนมอเตอร์ DC และ Stepper Motor Driver HAT ประกอบด้วย IC ไดรเวอร์มอเตอร์ L293D, โมดูลจอแสดงผล LCD 16 * 2, ปุ่มกดสี่ปุ่มและพินเสริมสำหรับโมดูล SIM800 พร้อมตัวควบคุม 3.3V Raspberry Pi HAT นี้จะมีประโยชน์ในขณะที่สร้างโครงการหุ่นยนต์
ที่นี่เราได้ใช้ PCBWay เพื่อจัดหาบอร์ด PCB สำหรับโครงการนี้ ในส่วนต่อไปนี้ของบทความเราได้กล่าวถึงขั้นตอนทั้งหมดในการออกแบบสั่งซื้อและประกอบบอร์ด PCB สำหรับ Raspberry pi Motor Driver HAT เรายังได้สร้าง Raspberry Pi Hat สำหรับ LCD 16x2 และ Raspberry Pi LoRa HAT ในโครงการก่อนหน้านี้
ส่วนประกอบที่จำเป็นสำหรับ Raspberry Pi Motor Driver HAT
- ราสเบอร์รี่ Pi
- L293D IC
- ปุ่มกด 4 ×
- ตัวต้านทาน SMD (1 × 10K, 12 × 1K)
- โพเทนชิออมิเตอร์ 1 × 10K
- 4 ×ไฟ LED SMD
- LM317 ตัวควบคุมแรงดันไฟฟ้า
- 2 ×ขั้วต่อสกรู
- โมดูล LCD 16 * 2
L293D IC ขับมอเตอร์
L293D เป็น IC ขับมอเตอร์ 16 พินยอดนิยม ตามชื่อที่แนะนำมันถูกใช้เพื่อควบคุม unipolar, bipolar stepper motor, DC motor หรือแม้แต่เซอร์โวมอเตอร์ L293D IC ตัวเดียวสามารถขับเคลื่อนมอเตอร์กระแสตรงสองตัวในเวลาเดียวกัน นอกจากนี้ยังสามารถควบคุมความเร็วและทิศทางของมอเตอร์ทั้งสองตัวนี้ได้อย่างอิสระ IC นี้มาพร้อมกับพินอินพุตไฟสองตัวคือ 'Vcc1' และ 'Vcc2' Vcc1 ใช้สำหรับเปิดวงจรลอจิกภายในซึ่งควรเป็น 5V และขา Vcc2 ใช้สำหรับเปิดเครื่องมอเตอร์ซึ่งอาจมีขนาด 4.5V ถึง 36V
L293D ข้อมูลจำเพาะ:
- แรงดันมอเตอร์ Vcc2 (Vs): 4.5V ถึง 36V
- กระแสมอเตอร์สูงสุดสูงสุด: 1.2A
- กระแสมอเตอร์ต่อเนื่องสูงสุด: 600mA
- จ่ายแรงดันให้กับ Vcc1 (VSS): 4.5V ถึง 7V
- เวลาในการเปลี่ยน: 300ns (ที่ 5V และ 24V)
- มีการปิดระบบระบายความร้อนอัตโนมัติ
แผนภาพวงจรสำหรับ Raspberry Pi Motor Driver HAT
แผนผังที่สมบูรณ์สำหรับL293D Motor Driver พร้อม Raspberry Piแสดงในภาพด้านล่าง แผนผังถูกวาดโดยใช้ EasyEDA
หมวกนี้ประกอบด้วย IC ไดรเวอร์มอเตอร์ L293D, โมดูลจอแสดงผล LCD 16 * 2 และปุ่มกดสี่ปุ่ม นอกจากนี้เรายังได้จัดเตรียมพินสำหรับโมดูล SIM800 พร้อมตัวควบคุม 3.3V ที่ออกแบบโดยใช้ตัวควบคุมตัวแปร LM317 สำหรับโครงการในอนาคต หมวกไดรเวอร์ Raspberry Pi Motor จะนั่งอยู่ด้านบนของ Raspberry Pi โดยตรงทำให้ง่ายต่อการควบคุมหุ่นยนต์โดยใช้ Raspberry Pi
ผลิต PCB สำหรับ Raspberry Pi Motor Driver HAT
เมื่อแผนผังเสร็จสิ้นเราสามารถดำเนินการจัดวาง PCB ได้ คุณสามารถออกแบบ PCB โดยใช้ซอฟต์แวร์ PCB ที่คุณเลือกได้ เราได้ใช้ EasyEDA เพื่อสร้าง PCB สำหรับโครงการนี้ คุณสามารถดู Layer (ด้านบน, ด้านล่าง, Topsilk, Bottomsilk และอื่น ๆ) ของ PCB ได้โดยเลือกเลเยอร์จากหน้าต่าง "เลเยอร์" นอกจากนี้ยังมีมุมมองโมเดล 3 มิติของ PCB เกี่ยวกับลักษณะที่จะปรากฏหลังจากการประดิษฐ์ ด้านล่างนี้คือมุมมองโมเดล 3 มิติของเลเยอร์บนสุดและชั้นล่างสุดของ Pi Motor Driver HAT PCB
เค้าโครง PCB สำหรับวงจรด้านบนสามารถดาวน์โหลดได้ในชื่อ Gerber จากลิงค์ด้านล่าง:
- ไฟล์ Gerber สำหรับ Raspberry Pi Motor Driver HAT
สั่งซื้อ PCB จาก PCBWay
หลังจากเสร็จสิ้นการออกแบบคุณสามารถดำเนินการสั่งซื้อ PCB ได้:
ขั้นตอนที่ 1: เข้าสู่ https://www.pcbway.com/ ลงทะเบียนหากนี่เป็นครั้งแรกของคุณ จากนั้นในแท็บ PCB Prototype ให้ป้อนขนาดของ PCB จำนวนเลเยอร์และจำนวน PCB ที่คุณต้องการ
ขั้นตอนที่ 2: ดำเนินการต่อโดยคลิกที่ปุ่ม 'อ้างสิทธิ์ทันที' คุณจะเข้าสู่หน้าที่ตั้งค่าพารามิเตอร์เพิ่มเติมบางอย่างเช่นประเภทบอร์ดเลเยอร์วัสดุสำหรับ PCB ความหนาและอื่น ๆ ส่วนใหญ่จะถูกเลือกโดยค่าเริ่มต้น แต่ถ้าคุณเลือกใช้พารามิเตอร์ใด ๆ คุณสามารถเลือกได้ที่นี่
ขั้นตอนที่ 3: ขั้นตอนสุดท้ายคือการอัปโหลดไฟล์ Gerber และดำเนินการชำระเงิน เพื่อให้แน่ใจว่ากระบวนการนี้ราบรื่น PCBWAY จะตรวจสอบว่าไฟล์ Gerber ของคุณถูกต้องหรือไม่ก่อนดำเนินการชำระเงิน ด้วยวิธีนี้คุณจะมั่นใจได้ว่า PCB ของคุณเป็นมิตรต่อการผลิตและจะไปถึงคุณอย่างมุ่งมั่น
การประกอบไฟล์
หลังจากนั้นไม่กี่วันเราได้รับ PCB ของเราในแพ็คเกจที่เรียบร้อยและคุณภาพของ PCB ก็ดีเช่นเคย ชั้นบนสุดและชั้นล่างสุดของกระดานแสดงอยู่ด้านล่าง:
หลังจากตรวจสอบให้แน่ใจว่าแทร็กและรอยเท้าถูกต้อง ฉันดำเนินการประกอบ PCB ภาพที่นี่แสดงให้เห็นว่าบอร์ดบัดกรีมีลักษณะอย่างไร
การตั้งค่า Raspberry Pi
ก่อนที่จะเขียนโปรแกรม Raspberry Pi เราต้องติดตั้งไลบรารีที่จำเป็น ก่อนอื่นให้อัปเดต Raspberry Pi OS โดยใช้คำสั่งด้านล่าง:
Sudo apt-get update Sudo apt-get upgrade
ตอนนี้ติดตั้งไลบรารี Adafruit_CharLCDสำหรับโมดูล LCD ไลบรารีนี้มีไว้สำหรับบอร์ด LCD ของ Adafruit แต่ยังใช้งานได้กับบอร์ด LCD ยี่ห้ออื่น ๆ ด้วย
sudo pip3 ติดตั้ง Adafruit-CharLCD
คำอธิบายรหัสไดรเวอร์ Raspberry Pi Motor
ในโครงการนี้เรากำลังเขียนโปรแกรม Raspberry Pi ให้ขับเคลื่อนมอเตอร์กระแสตรงสองตัวในทิศทางไปข้างหน้าย้อนกลับซ้ายและขวาพร้อมกันในช่วงเวลาสองวินาที ทิศทางของมอเตอร์จะแสดงบนจอ LCD รหัสที่สมบูรณ์จะได้รับในตอนท้ายของเอกสาร เรากำลังอธิบายส่วนสำคัญบางส่วนของโค้ด
ตามปกติเริ่มต้นรหัสโดยการนำเข้าไลบรารีที่จำเป็นทั้งหมด โมดูล RPi.GPIO ใช้เพื่อเข้าถึงพิน GPIO โดยใช้ Python เวลาโมดูลใช้เพื่อหยุดโปรแกรมชั่วคราวตามเวลาที่กำหนดไว้ล่วงหน้า
นำเข้า RPi.GPIO เป็นบอร์ดนำเข้าเวลานำเข้า GPIO Adafruit_CharLCD เป็น LCD
หลังจากนั้นกำหนดพิน GPIO สำหรับ IC ไดรเวอร์มอเตอร์ L293D และจอ LCD
lcd_rs = 0 lcd_en = 5 lcd_d4 = 6 Motor1A = 4 Motor1B = 17 Motor1E = 12
ตอนนี้ตั้งหมุดมอเตอร์ 6 ตัวเป็นขาออก สี่ตัวถัดไปคือพินเอาต์พุตซึ่งสองตัวแรกใช้เพื่อควบคุมมอเตอร์ด้านขวาและอีกสองตัวถัดไปสำหรับมอเตอร์ด้านซ้าย หมุดสองตัวถัดไปคือพินเปิดใช้งานสำหรับมอเตอร์ด้านขวาและด้านซ้าย
GPIO.setup (Motor1A, GPIO.OUT) GPIO.setup (Motor1B, GPIO.OUT) GPIO.setup (Motor1E, GPIO.OUT) GPIO.setup (Motor2A, GPIO.OUT) GPIO.setup (Motor2B, GPIO.OUT) GPIO.setup (Motor2E, GPIO.OUT)
ภายในลูป while ให้เลื่อนมอเตอร์กระแสตรงสองตัวในทิศทางไปข้างหน้าย้อนกลับซ้ายและขวาพร้อมกันในช่วงเวลาสองวินาที
GPIO.output (Motor1A, 0) GPIO.output (Motor1B, 0) GPIO.output (Motor2A, 1) GPIO.output (Motor2B, 0) lcd.message ('ซ้าย') พิมพ์ ("ซ้าย") สลีป (2) #Forward GPIO.output (Motor1A, 1) GPIO.output (Motor1B, 0) GPIO.output (Motor2A, 1) GPIO.output (Motor2B, 0) lcd.message ('Forward') พิมพ์ ("Forward") …… ………………………………
การทดสอบ Raspberry Pi Motor Driver HAT
เมื่อคุณประกอบ PCB เสร็จแล้วให้ติดตั้งไดรเวอร์มอเตอร์ HAT บน Raspberry Pi แล้วเปิดรหัส หากทุกอย่างเป็นไปด้วยดี DC Motors ที่เชื่อมต่อกับ Raspberry Pi จะเคลื่อนที่ไปในทิศทางซ้ายไปข้างหน้าขวาและย้อนกลับพร้อมกันทุกๆสองวินาทีและทิศทางของมอเตอร์จะแสดงบนจอ LCD
นี่คือวิธีที่คุณสามารถสร้างL293D Raspberry Pi Motor Driver HAT ของคุณเองได้ รหัสที่สมบูรณ์และวิดีโอการทำงานของโครงการมีให้ด้านล่าง หวังว่าคุณจะสนุกกับโครงการและพบว่ามันน่าสนใจที่จะสร้างของคุณเอง หากคุณมีคำถามใด ๆ โปรดทิ้งไว้ในส่วนความคิดเห็นด้านล่าง