สารบัญ:

28BYJ-48 5V Stepper Motor และ A4988 Driver: 4 ขั้นตอน
28BYJ-48 5V Stepper Motor และ A4988 Driver: 4 ขั้นตอน

วีดีโอ: 28BYJ-48 5V Stepper Motor และ A4988 Driver: 4 ขั้นตอน

วีดีโอ: 28BYJ-48 5V Stepper Motor และ A4988 Driver: 4 ขั้นตอน
วีดีโอ: 28BYJ-48 stepper motor and ULN2003 Arduino (Quick tutorial for beginners) 2024, กรกฎาคม
Anonim
28BYJ-48 5V Stepper Motor และ A4988 Driver
28BYJ-48 5V Stepper Motor และ A4988 Driver

เคยต้องการให้หุ่นยนต์หมุนในมุมที่แม่นยำโดยใช้ 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 ของบทความนี้พร้อมการดัดแปลงเหล่านั้น (ตามภาพด้านบน)

  1. ใช้ 5V จากแผงป้องกันแบตเตอรี่สำหรับทั้งลอจิกและอินพุตกำลังมอเตอร์ (VMOT นั้นต้องการมากกว่า 8V แต่ 5V ใช้งานได้!) พิน GND 2 อันบนบอร์ดเชื่อมต่อแล้ว ดังนั้นจึงไม่จำเป็นต้องเชื่อมต่อทั้งสองพินกับกราวด์ของแบตเตอรี่
  2. เชื่อมต่อพิน STEP และ DIR กับ 5V ด้วย (ไม่ใช่กับ Arduino ตามที่แสดงในบทความอ้างอิง)
  3. เมื่อตั้งค่ามัลติมิเตอร์ ฉันตั้งค่ากระแสไฟไว้ที่ 50mA ซึ่งเพียงพอที่จะขับเคลื่อนมอเตอร์ของฉันโดยใช้ครึ่งก้าว (เพิ่มเติมในขั้นตอนต่อไป) ในการเชื่อมต่อมัลติมิเตอร์ของฉันเพื่อวัดกระแสในขดลวดของมอเตอร์ ดังที่คุณเห็นในภาพด้านบน ฉันถอดสายสีเหลืองออกจากขั้วต่อแล้วใส่สายสีแดงเข้าไป เพื่อที่ฉันจะได้ใส่มัลติมิเตอร์จากสีแดงเป็น สายสีเหลืองเพื่อวัดกระแส

ขั้นตอนที่ 4: การควบคุมมอเตอร์

การควบคุมมอเตอร์
การควบคุมมอเตอร์
การควบคุมมอเตอร์
การควบคุมมอเตอร์
การควบคุมมอเตอร์
การควบคุมมอเตอร์

แค่นั้นแหละ เราเกือบจะพร้อมที่จะหมุนมอเตอร์แล้ว สิ่งเดียวที่ต้องทำคือ:

  1. เพื่อลบมัลติมิเตอร์ของเราออกจากระบบของเราหากยังไม่ได้ดำเนินการ
  2. เชื่อมต่อ MS1 กับ 5V ซึ่งจะทำให้คนขับใช้ครึ่งก้าว (ฉันมีปัญหาในการให้หุ่นยนต์หมุนด้วยขั้นตอนเต็มใน 5V แต่ตามวัตถุประสงค์ของฉันคือการทำให้ทุกอย่างทำงานบน 5V ฉันยอมรับที่จะเสียสละความเร็วเล็กน้อย และเพื่อให้ได้ความแม่นยำ)
  3. จัดเตรียมหมุด 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 มาก

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

แนะนำ: