สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: การเตรียมมอเตอร์กระแสตรง
- ขั้นตอนที่ 2: การใช้โมดูลไดรเวอร์มอเตอร์ L298N
- ขั้นตอนที่ 3: การเพิ่ม PWM ลงในโมดูลไดรเวอร์ L298N
- ขั้นตอนที่ 4: การใช้ Line Tracker Sensor
- ขั้นตอนที่ 5: นำทุกอย่างมารวมกัน
วีดีโอ: หุ่นยนต์ Line Follower ด้วย PICO: 5 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
ก่อนที่คุณจะสามารถสร้างหุ่นยนต์ที่สามารถยุติอารยธรรมอย่างที่เรารู้ ๆ กันและสามารถยุติเผ่าพันธุ์มนุษย์ได้ ก่อนอื่นคุณต้องสามารถสร้างหุ่นยนต์ง่ายๆ หุ่นยนต์ที่สามารถทำตามเส้นที่ลากบนพื้นได้ และนี่คือที่ที่คุณจะก้าวไปสู่จุดจบของพวกเราทุกคน >.<
อย่างแรกเลย หุ่นยนต์เดินตามเส้นคือหุ่นยนต์ที่สามารถตามเส้นบนพื้นได้ และเส้นนี้มักจะเป็นเส้นสีดำที่ลากบนพื้นหลังสีขาวหรือในทางกลับกัน และนั่นเป็นเพราะมันง่ายกว่าสำหรับหุ่นยนต์ที่จะบอกความแตกต่างระหว่างสีที่ตัดกันสูง เช่น สีดำและสีขาว ตำแหน่งที่หุ่นยนต์เปลี่ยนมุมขึ้นอยู่กับสีที่อ่าน
เสบียง
- ปิโก
-
แชสซีหุ่นยนต์ขับเคลื่อนสองล้อซึ่งมีดังต่อไปนี้:
- แชสซีอะคริลิค
- มอเตอร์ DC 2 ตัวพร้อมล้อเลื่อนและตัวเข้ารหัส
- ล้อเลื่อนพร้อมขาตั้งโลหะ
- ที่ใส่แบตเตอรี่ 4 ช่อง
- สกรูและน็อตบางตัว
- สวิตซ์เปิด/ปิด
- โมดูลไดรเวอร์มอเตอร์ L298N
- เซ็นเซอร์ติดตามสาย 2 ตัว
- แบตเตอรี่ 7.4v
ขั้นตอนที่ 1: การเตรียมมอเตอร์กระแสตรง
คุณสามารถใช้แชสซี " 2WD" แบบขับเคลื่อนสองล้อเพื่อทำให้โครงการนี้ง่ายขึ้น เนื่องจากช่วยประหยัดเวลาและความพยายามในการสร้างแชสซีของคุณเอง ให้คุณมีเวลามากขึ้นในการมุ่งเน้นไปที่อุปกรณ์อิเล็กทรอนิกส์ของโครงการ
มาเริ่มกันที่มอเตอร์กระแสตรงกันก่อน เนื่องจากคุณจะต้องใช้มอเตอร์เพื่อควบคุมความเร็วในการเคลื่อนที่และทิศทางของหุ่นยนต์ ขึ้นอยู่กับการอ่านของเซ็นเซอร์ สิ่งแรกที่ต้องทำคือเริ่มควบคุมความเร็วของมอเตอร์ ซึ่งเป็นสัดส่วนโดยตรงกับแรงดันไฟเข้า หมายความว่าคุณต้องเพิ่มแรงดันไฟฟ้าเพื่อเพิ่มความเร็ว และในทางกลับกัน
เทคนิค PWM "Pulse Width Modulation" เหมาะอย่างยิ่งสำหรับงาน เนื่องจากช่วยให้คุณสามารถปรับและปรับแต่งค่าเฉลี่ยที่จะส่งไปยังอุปกรณ์อิเล็กทรอนิกส์ (มอเตอร์) ของคุณได้ และทำงานโดยใช้สัญญาณดิจิตอล "สูง" และ "ต่ำ" เพื่อสร้างค่าแอนะล็อก โดยการสลับระหว่าง 2 สัญญาณในอัตราที่รวดเร็วมาก โดยที่แรงดันไฟฟ้า "แอนะล็อก" ขึ้นอยู่กับเปอร์เซ็นต์ระหว่างสัญญาณดิจิตอล HIGH กับสัญญาณ LOW แบบดิจิตอลในช่วงระยะเวลา PWM
โปรดทราบว่าเราไม่สามารถเชื่อมต่อ PICO กับมอเตอร์ได้โดยตรง เนื่องจากมอเตอร์ต้องการกระแสไฟขั้นต่ำ 90mA ซึ่งไม่สามารถใช้พินของ PICO จัดการได้ และนั่นเป็นเหตุผลที่เราใช้โมดูลไดรเวอร์มอเตอร์ L298N ซึ่งทำให้เราสามารถส่งทั้งสองอย่างได้ กระแสที่เพียงพอต่อมอเตอร์และเปลี่ยนขั้วของมัน
ตอนนี้ มาบัดกรีลวดเข้ากับขั้วของมอเตอร์แต่ละอัน โดยทำตามขั้นตอนเหล่านี้:
- ฟิวส์บัดกรีเล็กน้อยที่ขั้วของมอเตอร์
- วางปลายลวดไว้เหนือขั้วของมอเตอร์และให้ความร้อนด้วยหัวแร้งจนกว่าบัดกรีที่ขั้วจะละลายและเชื่อมต่อกับลวด จากนั้นถอดหัวแร้งออกและปล่อยให้การเชื่อมต่อเย็นลง
- ทำซ้ำขั้นตอนก่อนหน้ากับขั้วที่เหลือของมอเตอร์ทั้งสอง
ขั้นตอนที่ 2: การใช้โมดูลไดรเวอร์มอเตอร์ L298N
มอเตอร์ตัวขับมอเตอร์ L298N มีความสามารถในการเพิ่มสัญญาณที่มาจาก PICO และเปลี่ยนขั้วของกระแสที่ไหลผ่านได้ ให้คุณควบคุมทั้งความเร็วและทิศทางที่มอเตอร์หมุนได้
L298N Pin Outs
- ขั้วต่อแรกของมอเตอร์ DC A
- ขั้วต่อที่สองของมอเตอร์กระแสตรง A
- จัมเปอร์ควบคุมออนบอร์ด 5v ถอดจัมเปอร์นี้ออกหากคุณเชื่อมต่อแรงดันไฟฟ้าของมอเตอร์ที่มากกว่า 12v เพื่อไม่ให้ตัวควบคุมแรงดันไฟฟ้าแข็ง
- แรงดันไฟของมอเตอร์เข้า สูงสุดคือ 35v และอย่าลืมถอดตัวควบคุมแรงดันไฟฟ้าออกหากคุณใช้มากกว่า 12v
- GND
- เอาต์พุต 5v เอาต์พุตนี้มาจากตัวควบคุมแรงดันไฟฟ้าหากยังคงเชื่อมต่ออยู่ และช่วยให้คุณสามารถจ่ายไฟให้กับ PICO จากแหล่งเดียวกับมอเตอร์ได้
- มอเตอร์กระแสตรง A เปิดใช้งานจัมเปอร์ หากต่อกับจัมเปอร์นี้ มอเตอร์จะทำงานด้วยความเร็วเต็มที่ไม่ว่าจะเดินหน้าหรือถอยหลัง แต่ถ้าคุณต้องการควบคุมความเร็ว ให้ถอดจัมเปอร์ออกแล้วต่อขา PWM แทน
- In1 ช่วยควบคุมขั้วของกระแส และทิศทางการหมุนของมอเตอร์ A
- In2 ช่วยควบคุมขั้วของกระแสไฟฟ้า และทิศทางการหมุนของมอเตอร์ A
- In3 ช่วยควบคุมขั้วของกระแสไฟฟ้า และทิศทางการหมุนของมอเตอร์ B
- In4 ช่วยควบคุมกระแสไฟ และทิศทางการหมุนของมอเตอร์ B
-
DC motor B เปิดใช้งานจัมเปอร์ หากต่อกับจัมเปอร์นี้ มอเตอร์จะทำงานด้วยความเร็วเต็มที่ไม่ว่าจะเดินหน้าหรือถอยหลัง แต่ถ้าคุณต้องการควบคุมความเร็ว ให้ถอดจัมเปอร์ออกแล้วต่อขา PWM แทน
ขั้วต่อแรกของ DC motor B
ขั้วต่อที่สองของ DC motor B
จำนวนพินของไดรเวอร์มอเตอร์ L298N ทำให้ดูเหมือนใช้งานยาก แต่จริงๆ แล้ว มันค่อนข้างง่าย และเรามาพิสูจน์ด้วยตัวอย่างการทำงาน ซึ่งเราใช้มันเพื่อควบคุมทิศทางการหมุนของมอเตอร์ทั้งสองของเรา
เชื่อมต่อ PICO กับไดรเวอร์มอเตอร์ดังนี้ "คุณจะพบไดอะแกรมด้านบน":
- In1 → D0
- In2 → D1
- In3 → D2
- In4 → D3
ทิศทางของมอเตอร์ถูกควบคุมโดยการส่งค่าลอจิกสูงและต่ำระหว่างหมุดไดรเวอร์ In1/2 และ In3/4 แต่ละคู่ ตัวอย่างเช่น หากคุณส่ง HIGH ไปที่ In1 และ LOW ไปยัง In2 จะทำให้มอเตอร์หมุนไปในทิศทางเดียวและส่ง LOW ไปที่ In1 และ HIGH ไปยัง In2 จะหมุนมอเตอร์ไปในทิศทางตรงกันข้าม แต่ถ้าคุณส่งสัญญาณ HIGH หรือ LOW แบบเดียวกันไปยังทั้ง In1 และ In2 มอเตอร์จะหยุดทำงาน
อย่าลืมเชื่อมต่อ GND ของ PICO กับ GND ของแบตเตอรี่ และอย่าถอดจัมเปอร์ Enable A และ Enable B
คุณจะพบโค้ดของตัวอย่างนี้ด้านบน
ขั้นตอนที่ 3: การเพิ่ม PWM ลงในโมดูลไดรเวอร์ L298N
ตอนนี้เราควบคุมทิศทางการหมุนของมอเตอร์ได้แล้ว แต่เรายังคงควบคุมความเร็วไม่ได้ เนื่องจากเรามีแหล่งจ่ายแรงดันไฟคงที่ซึ่งให้กำลังสูงสุดที่พวกมันรับได้ และในการทำเช่นนั้น คุณต้องใช้พิน PWM สองตัวเพื่อควบคุมมอเตอร์ทั้งสองของคุณ น่าเสียดายที่คุณ PICO มีเอาต์พุต PWM เพียง 1 รายการซึ่งเราต้องขยายโดยใช้โมดูล PCA9685 OWM และโมดูลที่น่าทึ่งนี้สามารถขยาย PWM ของคุณจาก 1 เป็น 16!
PCA9685 พินเอาต์:
- VCC → นี่คือพลังตรรกะของคุณ โดยมีค่าสูงสุด 3-5v
- GND → ต้องต่อพินลบกับ GND เพื่อให้วงจรสมบูรณ์
- V+ → พินนี้กระจายกำลังที่มาจากแหล่งพลังงานภายนอก ส่วนใหญ่จะใช้กับมอเตอร์ที่ต้องการกระแสไฟจำนวนมากและต้องการแหล่งพลังงานภายนอก
- SCL → Serial clock pin ซึ่งคุณเชื่อมต่อกับ SCL ของ PICO
- SDA → พินข้อมูลอนุกรมที่คุณเชื่อมต่อกับ SDA ของ PICO
- OE → เอาต์พุตเปิดใช้งานพิน พินนี้ทำงานเป็น LOW หมายความว่าเมื่อพินเป็น LOW เอาต์พุตทั้งหมดจะถูกเปิดใช้งาน และเมื่อสูง เอาต์พุตทั้งหมดจะถูกปิดใช้งาน นี่คือพินเสริม โดยค่าเริ่มต้นจะถูกดึงต่ำ
โมดูล PCA9685 PWM มีเอาต์พุต PWM 16 ช่อง โดยแต่ละช่องมีสัญญาณ V+, GND และ PWM ของตัวเอง ซึ่งคุณสามารถควบคุมได้อย่างอิสระจากส่วนอื่นๆ PWM แต่ละตัวสามารถรองรับกระแสไฟ 25mA ได้ ดังนั้นควรระมัดระวัง
มาถึงส่วนที่เราใช้โมดูล PCA9685 เพื่อควบคุมความเร็วและทิศทางของมอเตอร์ของเรา และนี่คือวิธีที่เราเชื่อมต่อ PICO กับโมดูล PCA9685 และ L298N:
PICO ถึง PCA9685:
- D2 (ปิโก) SDA (PCA9685)
- D3 (PICO) เอสซีแอล (PCA9685)
PCA9685 ถึง L298N:
- PWM 0 (PCA9685) → In1 (L298N) เพื่อควบคุมทิศทางของมอเตอร์ A
- PWM 1 (PCA9685) → In2 (L298N) เพื่อควบคุมทิศทางของมอเตอร์ A
- PWM 2 (PCA9685) → In3 (L298N) เพื่อควบคุมทิศทางของมอเตอร์ B
- PWM 3 (PCA9685) → In4 (L298N) เพื่อควบคุมทิศทางของมอเตอร์ B
- PWM 4 (PCA9685) → enableA (L298N) สำหรับส่งสัญญาณ PWM ที่ควบคุมความเร็วของมอเตอร์ A
- PWM 5 (PCA9685) → enableB (L298N) สำหรับส่งสัญญาณ PWM ที่ควบคุมความเร็วของมอเตอร์ B
คุณจะพบรหัสสำหรับส่วนเหล่านี้ทั้งหมดที่แนบมาด้านบน
ขั้นตอนที่ 4: การใช้ Line Tracker Sensor
ตัวติดตามสายค่อนข้างตรงไปตรงมา เซ็นเซอร์นี้มีความสามารถในการแยกแยะระหว่างพื้นผิวสองแบบ ขึ้นอยู่กับคอนทราสต์ระหว่างพื้นผิวดังกล่าว เช่นเดียวกับขาวดำ
เซ็นเซอร์ติดตามเส้นมีสองส่วนหลักคือ IR LED และโฟโตไดโอด มันสามารถบอกสีได้โดยการเปล่งแสง IR จาก LED และอ่านการสะท้อนที่กลับมาที่โฟโตไดโอด จากนั้นโฟโตไดโอดจะส่งออกค่าแรงดันขึ้นอยู่กับแสงสะท้อน (ค่าสูงสำหรับพื้นผิว "เงา" ของแสงและค่าต่ำ สำหรับผิวสีเข้ม)
pinouts ของตัวติดตามสาย:
- A0: นี่คือพินเอาต์พุตแอนะล็อก และเราใช้หากเราต้องการอ่านอินพุตแบบอะนาล็อก (0-1023)
- D0: นี่คือพินเอาต์พุตดิจิทัล และเราใช้หากเราต้องการอ่านอินพุตดิจิทัล (0-1)
- GND: นี่คือพินกราวด์และเราเชื่อมต่อกับพิน GND ของ PICO
- VCC: นี่คือพินพลังงาน และเราเชื่อมต่อกับพิน VCC ของ PICO (5v)
- โพเทนชิออมิเตอร์: ใช้เพื่อควบคุมความไวของเซ็นเซอร์
มาทดสอบเซ็นเซอร์ตัวติดตามเส้นด้วยโปรแกรมง่ายๆ ที่จะเปิด LED หากตรวจพบเส้นสีดำ และปิด LED หากตรวจพบพื้นผิวสีขาวขณะพิมพ์ค่าที่อ่านของเซ็นเซอร์บน Serial Monitor
คุณจะพบรหัสสำหรับการทดสอบนี้ที่แนบมาด้านบน
ขั้นตอนที่ 5: นำทุกอย่างมารวมกัน
สิ่งสุดท้ายที่เราต้องทำคือนำทุกอย่างมารวมกัน ตามที่เราได้ทดสอบทั้งหมดทีละรายการและทั้งหมดทำงานตามที่คาดไว้
เราจะเชื่อมต่อโมดูล PICO, PCA9685 และ L298N เหมือนเดิม จากนั้น เราเพิ่มเซ็นเซอร์ติดตามบรรทัดในการตั้งค่าที่มีอยู่ของเรา และมีลักษณะดังนี้:
- VCC (เซ็นเซอร์ติดตามสายทั้งหมด) → VCC (PICO)
- GND (เซ็นเซอร์ติดตามสายทั้งหมด) → GND (PICO)
- D0 (เซ็นเซอร์ติดตามเส้นขวา) → A0 (PICO)
- D0 (เซ็นเซอร์ติดตามเส้นตรงกลาง) → A1 (PICO)
- D0 (เซ็นเซอร์ติดตามเส้นด้านซ้าย) → A2 (PICO)
นี่คือรหัสสุดท้ายที่จะควบคุมรถของคุณและบอกให้ทำตามเส้นสีดำบนพื้นหลังสีขาวในกรณีของเรา
แนะนำ:
หุ่นยนต์ Line Follower โดยใช้ Arduino Uno และ L298N: 5 ขั้นตอน
หุ่นยนต์ Line Follower โดยใช้ Arduino Uno และ L298N: Line Flower เป็นหุ่นยนต์ที่ง่ายมากเหมาะสำหรับอุปกรณ์อิเล็กทรอนิกส์สำหรับผู้เริ่มต้น
หุ่นยนต์ Line Follower สำหรับอัลกอริธึมการควบคุมการสอน: 3 ขั้นตอน
หุ่นยนต์ตัวตามเส้นสำหรับอัลกอริทึมการควบคุมการสอน: ฉันออกแบบหุ่นยนต์ตัวตามเส้นนี้เมื่อไม่กี่ปีก่อนเมื่อฉันเป็นครูสอนวิทยาการหุ่นยนต์ วัตถุประสงค์ของโครงงานนี้เพื่อสอนนักเรียนของฉันถึงวิธีเขียนโค้ดหุ่นยนต์ตามสายสำหรับการแข่งขัน และเปรียบเทียบระหว่างการควบคุม If/Else และ PID และไม่
หุ่นยนต์ Line Follower: 11 ขั้นตอน (พร้อมรูปภาพ)
หุ่นยนต์ตัวตามเส้น: ฉันสร้างหุ่นยนต์ตัวตามเส้นด้วยไมโครโปรเซสเซอร์ PIC16F84A ที่มีเซ็นเซอร์ IR 4 ตัว หุ่นยนต์ตัวนี้วิ่งได้บนเส้นขาวดำ
หุ่นยนต์ Line Follower ที่ไม่มี Arduino: 4 ขั้นตอน
หุ่นยนต์ตัวติดตามสายที่ไม่มี Arduino: ในคำแนะนำนี้ ฉันจะสอนวิธีสร้างหุ่นยนต์ตามสายโดยไม่ต้องใช้ Arduino ฉันจะใช้ขั้นตอนง่าย ๆ ในการอธิบาย หุ่นยนต์นี้จะใช้ IR Proximity Sensor เพื่อติดตามบรรทัด คุณไม่จำเป็นต้องมี ชนิดของประสบการณ์การเขียนโปรแกรมเพื่อข
LINE FOLLOWER หุ่นยนต์ -- ARDUINO CONTROLLED: 11 ขั้นตอน (พร้อมรูปภาพ)
LINE FOLLOWER หุ่นยนต์ || การควบคุม ARDUINO: ในคำแนะนำนี้ ฉันจะแสดงวิธีการดัดแปลงรถหุ่นยนต์ (CARBOT) เพื่อสร้างหุ่นยนต์ติดตามสาย