สารบัญ:
- ขั้นตอนที่ 1: มอเตอร์และไดรเวอร์
- ขั้นตอนที่ 2: วิธีการใช้ Arduino L293D Motor Driver Shield?
- ขั้นตอนที่ 3: ขับมอเตอร์กระแสตรง
- ขั้นตอนที่ 4: ขับเคลื่อนเซอร์โวมอเตอร์
- ขั้นตอนที่ 5: ขับเคลื่อนสเต็ปเปอร์มอเตอร์
- ขั้นตอนที่ 6: ซื้อ Arduino L293D Motor Driver Shield
- ขั้นตอนที่ 7: โครงการที่เกี่ยวข้อง:
- ขั้นตอนที่ 8: กดไลค์เราบน Facebook
วีดีโอ: บทช่วยสอน Arduino L293D Motor Driver Shield: 8 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
คุณสามารถอ่านสิ่งนี้และบทช่วยสอนที่น่าทึ่งอื่น ๆ อีกมากมายได้บนเว็บไซต์ทางการของ 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?
ในขณะที่ใช้พินอะนาล็อก 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
แนะนำ:
บทช่วยสอน Arduino Cellular Shield: 9 ขั้นตอน (พร้อมรูปภาพ)
บทช่วยสอน Arduino Cellular Shield: Arduino Cellular Shield ช่วยให้คุณสามารถโทรผ่านโทรศัพท์มือถือและส่งข้อความได้ สมองของเกราะนี้คือ SM5100B ซึ่งเป็นโมดูลเซลลูลาร์ที่แข็งแกร่งซึ่งสามารถทำงานได้หลายอย่างของโทรศัพท์มือถือมาตรฐานส่วนใหญ่ ช
บทช่วยสอน Arduino - สเต็ปเปอร์มอเตอร์พร้อม L293D: 5 ขั้นตอน
บทช่วยสอน Arduino - Stepper Motor พร้อม L293D: คำแนะนำนี้เป็นเวอร์ชันเขียนของ "Arduino: วิธีควบคุม Stepper Motor ด้วย L293D Motor Driver" วิดีโอ YouTube ที่ฉันอัปโหลดเมื่อเร็วๆ นี้ ฉันขอแนะนำให้คุณลองดู ช่อง YouTube ของฉัน
บทช่วยสอน Arduino GPS Shield: เครื่องคำนวณระยะทาง: 5 ขั้นตอน
Arduino GPS Shield Tutorial: เครื่องคำนวณระยะทาง: GPS หรือ Global Positioning System เป็นระบบนำทางด้วยวิทยุผ่านดาวเทียม ซึ่งช่วยให้คุณได้รับตำแหน่งของคุณและแนะนำสถานที่อื่นๆ ผ่านแผนที่ที่เป็นที่รู้จักและกำหนดไว้ล่วงหน้า เช่น Google Maps และในโลกของ Arduino ที
บทช่วยสอน Sparkfun CAN Bus Shield: 6 ขั้นตอน
บทแนะนำ Sparkfun CAN Bus Shield: รับและส่งข้อความโดยใช้ Sparkfun CAN Bus Shield CAN คืออะไร CAN บัสได้รับการพัฒนาโดย BOSCH ให้เป็นระบบกระจายข้อความแบบมัลติมาสเตอร์ซึ่งระบุอัตราการส่งสัญญาณสูงสุด 1 เมกะบิตต่อวินาที (bps) ต่างจากเครือข่ายแบบเดิมๆ
บทช่วยสอน TFT Shield: 4 ขั้นตอน
บทช่วยสอน TFT Shield: วันนี้ คุณจะได้เรียนรู้วิธีสร้างและใช้ปุ่มในโครงการ Arduino TFT Touchscreen ของคุณ ฉันกำลังใช้ 2.8" ของ Kuman TFT Shield รวมกับ Arduino UNO ของ Kuman โบนัส: TFT Shield จาก Kuman มาพร้อมกับ Stylus ฟรี ซึ่งคุณสามารถใช้