สารบัญ:

บทช่วยสอน Arduino L293D Motor Driver Shield: 8 ขั้นตอน
บทช่วยสอน Arduino L293D Motor Driver Shield: 8 ขั้นตอน

วีดีโอ: บทช่วยสอน Arduino L293D Motor Driver Shield: 8 ขั้นตอน

วีดีโอ: บทช่วยสอน Arduino L293D Motor Driver Shield: 8 ขั้นตอน
วีดีโอ: TUTORIAL: How to use L293D Motor Driver Shield with Arduino 2024, กรกฎาคม
Anonim
Arduino L293D Motor Driver Shield บทช่วยสอน
Arduino L293D Motor Driver Shield บทช่วยสอน

คุณสามารถอ่านสิ่งนี้และบทช่วยสอนที่น่าทึ่งอื่น ๆ อีกมากมายได้บนเว็บไซต์ทางการของ ElectroPeak

ภาพรวม

ในบทช่วยสอนนี้ คุณจะได้เรียนรู้วิธีขับเคลื่อนมอเตอร์ DC, สเต็ปเปอร์ และเซอร์โวโดยใช้โล่ไดรเวอร์มอเตอร์ Arduino L293D

สิ่งที่คุณจะได้เรียนรู้:

  • ข้อมูลทั่วไปเกี่ยวกับมอเตอร์กระแสตรง
  • ข้อมูลเบื้องต้นเกี่ยวกับแผงป้องกันมอเตอร์ L293D
  • ขับเคลื่อน DC, เซอร์โว & สเต็ปเปอร์มอเตอร์

ขั้นตอนที่ 1: มอเตอร์และไดรเวอร์

มอเตอร์และไดรเวอร์
มอเตอร์และไดรเวอร์

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

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

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

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

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

โล่ L293D เป็นบอร์ดไดรเวอร์ที่ใช้ L293 IC ซึ่งสามารถขับเคลื่อนมอเตอร์ DC 4 ตัวและสเต็ปเปอร์หรือเซอร์โวมอเตอร์ 2 ตัวในเวลาเดียวกัน

แต่ละช่องสัญญาณของโมดูลนี้มีกระแสสูงสุด 1.2A และจะไม่ทำงานหากแรงดันไฟฟ้ามากกว่า 25v หรือน้อยกว่า 4.5v ดังนั้นควรระมัดระวังในการเลือกมอเตอร์ที่เหมาะสมกับแรงดันและกระแสไฟที่กำหนด สำหรับคุณสมบัติเพิ่มเติมของชิลด์นี้ ให้พูดถึงความเข้ากันได้กับ Arduini UNO และ MEGA การป้องกันแม่เหล็กไฟฟ้าและความร้อนของมอเตอร์และวงจรตัดการเชื่อมต่อในกรณีที่แรงดันไฟฟ้าสูงขึ้นผิดปกติ

ขั้นตอนที่ 2: วิธีการใช้ Arduino L293D Motor Driver Shield?

วิธีการใช้ Arduino L293D Motor Driver Shield?
วิธีการใช้ Arduino L293D Motor Driver Shield?

ในขณะที่ใช้พินอะนาล็อก 6 ตัว (ซึ่งสามารถใช้เป็นพินดิจิตอลได้เช่นกัน) พิน 2 และพิน 13 ของ Arduino นั้นฟรี

กรณีใช้เซอร์โวมอเตอร์ใช้พิน 9, 10, 2

ในกรณีของการใช้มอเตอร์ DC, pin11 สำหรับ #1, pin3 สำหรับ #2, pin5 สำหรับ #3, pin6 สำหรับ #4 และ pins 4, 7, 8 และ 12 สำหรับทั้งหมด.

ในกรณีของการใช้สเต็ปเปอร์มอเตอร์ พิน 11 และ 3 สำหรับ #1, พิน 5 และ 6 สำหรับ #2 และพิน 4, 7, 8 และ 12 สำหรับทั้งหมดถูกใช้งานอยู่

คุณสามารถใช้พินฟรีโดยการเชื่อมต่อแบบมีสาย

หากคุณกำลังใช้แหล่งจ่ายไฟแยกต่างหากกับ Arduino และชิลด์ ตรวจสอบให้แน่ใจว่าคุณได้ถอดจัมเปอร์บนชิลด์ออกแล้ว

ขั้นตอนที่ 3: ขับมอเตอร์กระแสตรง

ขับมอเตอร์กระแสตรง
ขับมอเตอร์กระแสตรง

#รวม

ห้องสมุดที่คุณต้องควบคุมมอเตอร์:

AF_DCMotor มอเตอร์ (1, MOTOR12_64KHZ)

การกำหนดมอเตอร์กระแสตรงที่คุณใช้

อาร์กิวเมนต์แรกหมายถึงจำนวนมอเตอร์ในชิลด์ และอาร์กิวเมนต์ที่สองหมายถึงความถี่ในการควบคุมความเร็วของมอเตอร์ อาร์กิวเมนต์ที่สองสามารถเป็น MOTOR12_2KHZ, MOTOR12_8KHZ, MOTOR12_8KHZ และ MOTOR12_8KHZ สำหรับมอเตอร์หมายเลข 1 และ 2 และสามารถเป็น MOTOR12_8KHZ, MOTOR12_8KHZ และ MOTOR12_8KHZ สำหรับมอเตอร์หมายเลข 3 และ 4 และหากปล่อยทิ้งไว้ 1KHZ โดยค่าเริ่มต้น จะเป็นค่าเริ่มต้น

มอเตอร์.setSpeed(200);

การกำหนดความเร็วของมอเตอร์ สามารถตั้งค่าได้ตั้งแต่ 0 ถึง 255

วงเป็นโมฆะ () {

motor.run (ไปข้างหน้า);

ล่าช้า (1000);

motor.run (ย้อนกลับ);

ล่าช้า (1000);

motor.run(ปล่อย);

ล่าช้า (1000);

}

ฟังก์ชั่น motor.run() ระบุสถานะการเคลื่อนไหวของมอเตอร์ สถานะสามารถเป็นแบบ FORWARD, BACKWARD และ RELEASE RELEASE เหมือนกับการเบรกแต่อาจต้องใช้เวลาสักระยะจนกว่ามอเตอร์จะหยุดจนสุด

ขอแนะนำให้ประสานตัวเก็บประจุ 100nF กับหมุดมอเตอร์แต่ละตัวเพื่อลดเสียงรบกวน

ขั้นตอนที่ 4: ขับเคลื่อนเซอร์โวมอเตอร์

ขับเซอร์โวมอเตอร์
ขับเซอร์โวมอเตอร์

ไลบรารี Arduino IDE และตัวอย่างเหมาะสำหรับการขับเซอร์โวมอเตอร์

#รวม

ห้องสมุดที่คุณต้องการสำหรับการขับเคลื่อนเซอร์โวมอเตอร์

เซอร์โว myservo;

การกำหนดวัตถุเซอร์โวมอเตอร์

การตั้งค่าเป็นโมฆะ () {

myservo.attach(9);

}

กำหนดพินที่เชื่อมต่อกับเซอร์โว (พิน 9 สำหรับ sevo #1 และพิน 10 สำหรับเซอร์โว #2)

วงเป็นโมฆะ () {

myservo.write(val);

ล่าช้า(15);

}

กำหนดปริมาณการหมุนของมอเตอร์ ระหว่าง 0 ถึง 360 หรือ 0 ถึง 180 ตามประเภทของมอเตอร์

ขั้นตอนที่ 5: ขับเคลื่อนสเต็ปเปอร์มอเตอร์

ขับเคลื่อนสเต็ปเปอร์มอเตอร์
ขับเคลื่อนสเต็ปเปอร์มอเตอร์

#รวม < AFMotor.h>

กำหนดห้องสมุดที่คุณต้องการ

AF_Stepper มอเตอร์ (48, 2);

การกำหนดวัตถุสเต็ปเปอร์มอเตอร์ อาร์กิวเมนต์แรกคือความละเอียดขั้นตอนของมอเตอร์ (ตัวอย่างเช่น หากมอเตอร์ของคุณมีความแม่นยำ 7.5 องศา/ขั้นตอน แสดงว่าความละเอียดของขั้นตอนของมอเตอร์คือ อาร์กิวเมนต์ที่สองคือหมายเลขของสเต็ปเปอร์มอเตอร์ที่เชื่อมต่อกับชิลด์

การตั้งค่าเป็นโมฆะ () { motor.setSpeed (10);

motor.onestep (ไปข้างหน้า เดี่ยว);

motor.release();

ล่าช้า (1000);

}

วงเป็นโมฆะ () { motor.step (100, ไปข้างหน้า, เดี่ยว);

motor.step (100, ย้อนกลับ, เดี่ยว);

motor.step (100, ไปข้างหน้า, สองเท่า); motor.step (100, ย้อนกลับ, คู่);

motor.step (100, ไปข้างหน้า, INTERLEAVE); motor.step (100, ย้อนกลับ, INTERLEAVE);

motor.step (100, ไปข้างหน้า, MICROSTEP); motor.step (100, ย้อนกลับ, MICROSTEP);

}

กำหนดความเร็วของมอเตอร์เป็นรอบต่อนาที

อาร์กิวเมนต์แรกคือจำนวนขั้นตอนที่จำเป็นในการเคลื่อนไหว อาร์กิวเมนต์ที่สองคือการกำหนดทิศทาง (ไปข้างหน้าหรือถอยหลัง) และอาร์กิวเมนต์ที่สามกำหนดประเภทขั้นตอน: SINGLE (เปิดใช้งานคอยล์) DOUBLE (เปิดใช้งานสองคอยส์สำหรับแรงบิดที่มากขึ้น), INTERLEAVED (การเปลี่ยนแปลงอย่างต่อเนื่องในจำนวนคอยส์จากหนึ่งเป็นสองและในทางกลับกันเป็นสองเท่าของความแม่นยำ อย่างไรก็ตาม ในกรณีนี้ ความเร็วจะลดลงครึ่งหนึ่ง) และ MICROSTEP (การเปลี่ยนขั้นตอนจะทำอย่างช้าๆ เพื่อความแม่นยำมากขึ้น ในกรณีนี้ แรงบิดจะต่ำกว่า) โดยค่าเริ่มต้น เมื่อมอเตอร์หยุดเคลื่อนที่ มอเตอร์จะคงสถานะไว้

คุณต้องใช้ฟังก์ชัน motor.release() เพื่อปลดมอเตอร์

ขั้นตอนที่ 6: ซื้อ Arduino L293D Motor Driver Shield

ซื้อ Arduino L293D Shield จาก ElectroPeak

ขั้นตอนที่ 7: โครงการที่เกี่ยวข้อง:

  • L293D: ทฤษฎี ไดอะแกรม การจำลอง และพินเอาต์
  • คู่มือสำหรับผู้เริ่มต้นในการควบคุมมอเตอร์โดย Arduino & L293D

ขั้นตอนที่ 8: กดไลค์เราบน Facebook

หากคุณพบว่าบทช่วยสอนนี้มีประโยชน์และน่าสนใจ โปรดชอบเราบน Facebook

แนะนำ: