สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: ทำความรู้จักกับระบบของเรา
- ขั้นตอนที่ 2: การแฮ็กมอเตอร์
- ขั้นตอนที่ 3: การตั้งค่าไดรเวอร์
- ขั้นตอนที่ 4: การควบคุมมอเตอร์
วีดีโอ: 28BYJ-48 5V Stepper Motor และ A4988 Driver: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
เคยต้องการให้หุ่นยนต์หมุนในมุมที่แม่นยำโดยใช้ Arduino หรือ micro:bit เพียงไม่กี่เอาต์พุตหรือไม่? ทั้งหมดนี้ราคาถูก ? นั่นคือคำแนะนำสำหรับคุณ ! ในคำแนะนำนี้ เราจะมาดูวิธีการขับสเต็ปเปอร์มอเตอร์ราคาถูกมากโดยใช้เพียง 2 เอาต์พุตของคอนโทรลเลอร์ของเราและต้องการแหล่งจ่ายไฟเพียง 5V เท่านั้น!
ฉันทำให้คำแนะนำนี้สามารถแนะนำได้หลังจากพยายามรวบรวมข้อมูลเล็กน้อย บางครั้งสะดุดกับข้อมูลที่ผิด และฉันต้องการช่วยคนอื่นๆ จากการทำตามขั้นตอนเดียวกัน
แต่ก่อนที่จะเริ่ม เหตุใดข้อจำกัดดังกล่าว ?
- ทำไมต้อง 5V: เพราะฉันต้องการรวมสิ่งนี้กับหุ่นยนต์เคลื่อนที่ซึ่งทำงานด้วยแบตเตอรี่ลิเธียม 3.7 เท่านั้นซึ่งฉันสามารถจ่ายไฟ 5V ด้วยบูสเตอร์ได้
- เหตุใดจึงใช้ A4988 ไม่ใช่ ULN2003 ซึ่งมักมาพร้อมกับมอเตอร์ 28BYJ เพราะอย่างแรก มันต้องมี 4 อินพุต ดังนั้น การใช้ A4988 ทำให้เราประหยัดเอาท์พุตคอนโทรลเลอร์อันล้ำค่าของเราได้ 2 อัน (และถ้าคุณชอบทำงานกับ micro:bit อย่างฉัน เอาต์พุตเหล่านั้นก็มีค่า…) ! แต่มีมากกว่านั้น ! ความสามารถในการขับเคลื่อนมอเตอร์โดยเพียงแค่ให้ขั้นตอนเป็นแรงกระตุ้นสูง ทำให้เรามีความเป็นไปได้ที่จะขับมอเตอร์ด้วย PWM แบบธรรมดา โดยกำหนดรอบการทำงานเป็น 50% การเปลี่ยนความถี่ของ PWM จะเปลี่ยนความเร็วในการหมุนของมอเตอร์ ทำไมมันเยี่ยมเยี่ยงนั้น เพราะถ้าคุณต้องการตั้งค่าความเร็วมอเตอร์ของฉันแล้วควบคุมสิ่งอื่น ๆ ด้วย Arduino หรือ micro:bit ของฉัน คุณสามารถตั้งค่า PWM ของฉันและลืมมันไปได้เลย ซึ่งจะทำให้โค้ดของคุณอ่านง่ายขึ้นและมีชีวิตมากขึ้น ง่ายขึ้น (เช่น หากคุณต้องการสร้างหุ่นยนต์แบบนี้)
มาเริ่มกันเลย !
เสบียง
นี่คือสิ่งที่คุณต้องการสำหรับคำแนะนำนี้:
- 1x 28BYJ สเต็ปเปอร์มอเตอร์
- ไดรเวอร์ A4988 1x
- 1x เขียงหั่นขนมหรือบอร์ดต้นแบบ, ตัวเก็บประจุและสายไฟบางส่วน
- Micro:bit และบอร์ดขยายหรือ Arduino
- แหล่งจ่ายไฟ 5V (+3.3V หากคุณใช้ Micro:bit) สำหรับสิ่งนี้ฉันใช้แบตเตอรี่ลิเธียม 18650 และตัวป้องกันแบตเตอรี่
- 1x มัลติมิเตอร์
ขั้นตอนที่ 1: ทำความรู้จักกับระบบของเรา
สิ่งแรกที่ผมแนะนำคือต้องเรียนรู้เพิ่มเติมเกี่ยวกับสเต็ปเปอร์มอเตอร์และไดรเวอร์ A4988 เฮ้ แต่ทำไมเราถึงต้องการไดรเวอร์นี้ เราสามารถควบคุมสเต็ปเปอร์มอเตอร์โดยไม่มีไดรเวอร์ได้หรือไม่? คำตอบคือไม่ บอร์ดอย่าง Micro:bit และ Arduino นั้นเก่งในการประมวลผลข้อมูลแต่ไม่ให้กระแสไฟมากนัก และคุณต้องใช้กระแสไฟเพื่อทำให้สเต็ปเปอร์มอเตอร์เคลื่อนที่ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการทำงานของทั้งมอเตอร์และไดรเวอร์ นี่คือข้อมูลอ้างอิงที่ฉันอยากจะแนะนำ มันเป็นวัสดุสังเคราะห์แต่ยังมีข้อมูลส่วนใหญ่ที่คุณต้องการสำหรับการเดินสาย
แต่รอก่อนที่จะพยายามต่อสายอะไร! 28BYJ ถูกปรับให้เข้ากับ A4988 หรือไม่? หากคุณทำการค้นหาอย่างรวดเร็ว คุณจะเห็นว่ามอเตอร์นี้ไม่ค่อยมาพร้อมกับ A4988 เป็นไดรเวอร์ หากคุณอ่านข้อมูลอ้างอิงก่อนหน้านี้อย่างละเอียด คุณอาจเข้าใจเหตุผล: สเต็ปเปอร์ของเราเป็นมอเตอร์แบบยูนิโพลาร์ ในขณะที่ A4988 ได้รับการออกแบบมาเพื่อขับเคลื่อนมอเตอร์แบบไบโพลาร์ ดังนั้นเราจะต้องแฮ็กมอเตอร์ของเราเล็กน้อย !
ขั้นตอนที่ 2: การแฮ็กมอเตอร์
ในการทำให้มอเตอร์ของคุณเข้ากันได้กับตัวขับมอเตอร์ เพียงแค่ถอดสายสีแดงออกจากขั้วต่อสีขาว ให้ทำการตัดคอนเนคเตอร์เพื่อถอดสายสีแดงและตัดสายสีแดงของมอเตอร์ จากนั้นสลับสายสีเหลืองและสีชมพูที่ขั้วต่อ เก็บสายสีแดงและขั้วต่อไว้สำหรับขั้นตอนต่อไป !
ในการดึงสายเคเบิลออกจากตัวเชื่อมต่อ ให้กดลวดที่คุณต้องการถอดในตัวเชื่อมต่อ จากนั้นกดบิตโลหะที่มองเห็นได้บนตัวเชื่อมต่อเข้าไปด้วยเครื่องมือที่แหลมคม (ด้านบนคือรูปภาพที่ฉันทำสิ่งนี้ด้วยมีดที่ฉันโปรดปราน มีด opinel !) และในที่สุดก็ดึงออกมาจนได้ของทั้งหมดตามภาพด้านบน ภาพสุดท้ายแสดงให้เห็นว่าขั้วต่อควรมีลักษณะอย่างไรเมื่อสิ้นสุดการปรับเปลี่ยนดังกล่าว ลำดับของสายเคเบิลที่ขั้วต่อควรเป็นสีส้ม/ชมพู/เหลือง/น้ำเงิน
(PS: คุณจะพบบทเรียนออนไลน์ที่ระบุว่าคุณต้องถอดสายสีแดงออกจากมอเตอร์แล้วขูด PCB ลืมไปว่าไม่จำเป็น ไร้ประโยชน์ ?)
ขั้นตอนที่ 3: การตั้งค่าไดรเวอร์
เอาล่ะ… ได้เวลาขับมอเตอร์คันนี้กับคนขับแล้ว ? ยังไม่เสียใจ ! คุณเห็นสกรูบนบอร์ด A4988 ไหม เราจะต้องเล่นซอกับมัน สกรูนี้โดยทั่วไปจะช่วยให้คุณสามารถกำหนดปริมาณกระแสไฟฟ้าที่จะไหลผ่านขดลวดของมอเตอร์ได้ ในกรณีของเรา ในขณะที่แหล่งจ่ายไฟของเราให้ 5V และคอยส์ของเราในมอเตอร์มีความต้านทาน 50 โอห์ม กระแสของเราจะไม่เกิน 100mA ซึ่งควรได้รับการสนับสนุนจากมอเตอร์ ดังนั้นคุณจึงสามารถข้ามขั้นตอนนี้ได้ในที่สุด อย่างไรก็ตาม หากคุณเป็นเหมือนผม และคุณต้องการให้มอเตอร์ของคุณรับกระแสไฟได้มากเท่าที่ต้องการก็ทำตามนั้น
ดังนั้นในการตั้งค่าไดรเวอร์ให้ทำตามวิธีที่ 2 ของบทความนี้พร้อมการดัดแปลงเหล่านั้น (ตามภาพด้านบน)
- ใช้ 5V จากแผงป้องกันแบตเตอรี่สำหรับทั้งลอจิกและอินพุตกำลังมอเตอร์ (VMOT นั้นต้องการมากกว่า 8V แต่ 5V ใช้งานได้!) พิน GND 2 อันบนบอร์ดเชื่อมต่อแล้ว ดังนั้นจึงไม่จำเป็นต้องเชื่อมต่อทั้งสองพินกับกราวด์ของแบตเตอรี่
- เชื่อมต่อพิน STEP และ DIR กับ 5V ด้วย (ไม่ใช่กับ Arduino ตามที่แสดงในบทความอ้างอิง)
- เมื่อตั้งค่ามัลติมิเตอร์ ฉันตั้งค่ากระแสไฟไว้ที่ 50mA ซึ่งเพียงพอที่จะขับเคลื่อนมอเตอร์ของฉันโดยใช้ครึ่งก้าว (เพิ่มเติมในขั้นตอนต่อไป) ในการเชื่อมต่อมัลติมิเตอร์ของฉันเพื่อวัดกระแสในขดลวดของมอเตอร์ ดังที่คุณเห็นในภาพด้านบน ฉันถอดสายสีเหลืองออกจากขั้วต่อแล้วใส่สายสีแดงเข้าไป เพื่อที่ฉันจะได้ใส่มัลติมิเตอร์จากสีแดงเป็น สายสีเหลืองเพื่อวัดกระแส
ขั้นตอนที่ 4: การควบคุมมอเตอร์
แค่นั้นแหละ เราเกือบจะพร้อมที่จะหมุนมอเตอร์แล้ว สิ่งเดียวที่ต้องทำคือ:
- เพื่อลบมัลติมิเตอร์ของเราออกจากระบบของเราหากยังไม่ได้ดำเนินการ
- เชื่อมต่อ MS1 กับ 5V ซึ่งจะทำให้คนขับใช้ครึ่งก้าว (ฉันมีปัญหาในการให้หุ่นยนต์หมุนด้วยขั้นตอนเต็มใน 5V แต่ตามวัตถุประสงค์ของฉันคือการทำให้ทุกอย่างทำงานบน 5V ฉันยอมรับที่จะเสียสละความเร็วเล็กน้อย และเพื่อให้ได้ความแม่นยำ)
- จัดเตรียมหมุด STEP และ DIR ด้วยสิ่งที่เราต้องการจากคอนโทรลเลอร์ของเรา
จากนั้น: หากคุณต้องการควบคุมมอเตอร์โดยใช้ Arduino เพียงทำตามบทความที่นี่ ซึ่งคุณจะพบกับโค้ดตัวอย่าง หากคุณต้องการควบคุมด้วย micro:bit ให้อยู่กับฉันให้นานขึ้นอีกนิด
Micro:bit เนื่องจาก Arduino จะมาพร้อมกับ GPIO ดังนั้นเมื่อเราจ่ายไฟแล้ว (ด้วย 3.3V !) เราก็สามารถตั้งโปรแกรมให้เอาต์พุต STEP และ DIR ได้ แม้ว่าจะมีอินพุตและเอาต์พุตมากมาย แต่โปรดทราบว่าจริงๆ แล้วหลายรายการถูกสงวนไว้สำหรับวัตถุประสงค์อื่นแล้ว คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับเรื่องนี้ได้ในบทความนี้ คุณจะเห็นในบทความนี้ว่าจริงๆ แล้วอินพุต/เอาต์พุตจำนวนมากนั้นแชร์กับจอแสดงผล ดังนั้น หากคุณต้องการใช้อินพุต/เอาต์พุตเหล่านั้น คุณจะต้องปิดจอแสดงผล แต่อย่าปิดจอแสดงผล ! แล้วเราจะใช้พินตัวไหน ? ฉันจะใช้หมุด 2 และ 8 เนื่องจากฉันจะไม่ใช้แผ่นรอง (พิน 2)
เสียบพิน 2 ของ micro:bit ไปที่ STEP, พิน 8 ไปที่ DIR, อัปโหลดโปรแกรมที่แนบมาโดยใช้ตัวแก้ไข micro:python ที่คุณชื่นชอบ (ฉันใช้ mu-editor) โปรแกรมนี้โดยทั่วไปจะตั้งค่า PWM บนพิน 2 โดยมีระยะเวลา 1 มิลลิวินาที (และรอบการทำงาน 50%) และมอเตอร์ของคุณควรหมุน ตั้งค่าพิน 8 เป็น 0 หรือ 1 เพื่อให้หมุนไม่ทางใดก็ทางหนึ่งและเปลี่ยนระยะเวลาเพื่อให้หมุนความเร็วที่คุณต้องการ (ตราบใดที่คุณไม่ต้องการให้เร็วเกินไป… สำหรับฉัน ชีพจรทุกมิลลิวินาทีอยู่ใกล้ จนถึงความเร็วสูงสุดที่ฉันสามารถทำได้)
ในการทำสิ่งต่างๆ ให้กะทัดรัดขึ้นอีกเล็กน้อยและใช้งานบนหุ่นยนต์เคลื่อนที่ได้อย่างง่ายดาย ฉันจึงทำบอร์ดเล็กๆ บอร์ดแสดงในภาพด้านบน ในภาพมีเส้นลวดสีม่วงจาก VMOT เป็น VDD ที่ซ่อนอยู่ในเงามืด นอกจากนี้ สายสีเหลืองที่เปลี่ยนจาก SLP เป็น RST ไม่ได้ถูกบัดกรี ฉันเพียงแค่ใส่มันไว้เพื่อแสดงการบัดกรีที่ฉันใส่ที่ด้านหลังของบอร์ดเพื่อเชื่อมต่อ 2 พินเหล่านั้น หมายเหตุ: โดยปกติระบบระบายความร้อนไม่จำเป็นต้องใช้กับระบบดังกล่าว เนื่องจากเราวาดน้อยกว่า 1A มาก
แค่นั้นแหละ ฉันหวังว่าคำแนะนำนี้จะช่วยให้คุณหลายคนเพลิดเพลินกับพลังของสเต็ปเปอร์มอเตอร์ในโครงการของคุณ
แนะนำ:
Raspberry Pi, Python และ TB6600 Stepper Motor Driver: 9 ขั้นตอน
Raspberry Pi, Python และ TB6600 Stepper Motor Driver: คำแนะนำนี้ทำตามขั้นตอนที่ฉันทำเพื่อเชื่อมต่อ Raspberry Pi 3b กับ TB6600 Stepper Motor Controller, แหล่งจ่ายไฟ 24 VDC และสเต็ปเปอร์มอเตอร์ 6 สาย ฉันคงเป็นเหมือนพวกคุณหลายๆ คน และบังเอิญมี "หยิบกระเป๋า" ของพาร์ที่เหลือ
Stepper Motor ควบคุม Stepper Motor โดยไม่ต้องใช้ไมโครคอนโทรลเลอร์!: 6 ขั้นตอน
สเต็ปเปอร์มอเตอร์ที่ควบคุมโดยสเต็ปเปอร์มอเตอร์ที่ไม่มีไมโครคอนโทรลเลอร์!: ในคำแนะนำอย่างรวดเร็วนี้ เราจะสร้างตัวควบคุมสเต็ปเปอร์มอเตอร์อย่างง่ายโดยใช้สเต็ปเปอร์มอเตอร์ โครงการนี้ไม่ต้องการวงจรที่ซับซ้อนหรือไมโครคอนโทรลเลอร์ เพื่อไม่ให้เป็นการเสียเวลา เรามาเริ่มกันเลย
เครื่องทดสอบ DC และ Stepper Motor: 12 ขั้นตอน (พร้อมรูปภาพ)
เครื่องทดสอบ DC และ Stepper Motor: เมื่อไม่กี่เดือนก่อน เพื่อนคนหนึ่งของฉันได้ให้เครื่องพิมพ์อิงค์เจ็ตและเครื่องถ่ายเอกสารที่ใช้แล้วทิ้งไปสองสามเครื่อง ฉันสนใจที่จะเก็บเกี่ยวหน่วยแหล่งพลังงาน สายเคเบิล เซ็นเซอร์ และโดยเฉพาะมอเตอร์ ฉันกอบกู้สิ่งที่ทำได้และต้องการทดสอบพ่อทั้งหมด
การเลือก Step Motor และ Driver สำหรับ Arduino Automated Shade Screen Project: 12 ขั้นตอน (พร้อมรูปภาพ)
การเลือก Step Motor และ Driver สำหรับ Arduino Automated Shade Screen Project: ในคำแนะนำนี้ ฉันจะทำตามขั้นตอนต่างๆ ที่ฉันทำเพื่อเลือก Step Motor และ Driver สำหรับโครงการ Automated Shade Screen ต้นแบบ ม่านบังแดดเป็นรุ่นมือหมุน Coolaroo ยอดนิยมและราคาไม่แพง และฉันต้องการเปลี่ยนแ
Eagle Hacks / Tricks: ตัวอย่าง TB6600 CNC Mill Stepper Motor Driver: 7 ขั้นตอน
Eagle Hacks/tricks: ตัวอย่าง TB6600 CNC Mill Stepper Motor Driver: นี่เป็นโครงการที่ดีในการแสดงกลเม็ดเล็ก ๆ น้อย ๆ ที่จะทำให้ชีวิตของคุณง่ายขึ้นเมื่อสร้าง PCB เพื่อสอนการแฮ็กสองสามอย่างเพื่อให้คุณได้รับประโยชน์มากขึ้น Eagle ฉันเลือกโครงการง่ายๆ ที่ฉันทำเพื่อ Kickstarter ฉันต้องการภายนอก