สารบัญ:

การควบคุมมอเตอร์ DC Arduino Uno R3: 6 ขั้นตอน
การควบคุมมอเตอร์ DC Arduino Uno R3: 6 ขั้นตอน

วีดีโอ: การควบคุมมอเตอร์ DC Arduino Uno R3: 6 ขั้นตอน

วีดีโอ: การควบคุมมอเตอร์ DC Arduino Uno R3: 6 ขั้นตอน
วีดีโอ: สอน เขียนโปรแกรม ภาษาซี Arduino | Uno R3 การต่อ และควบคุม มอเตอร์ 1 ตัว #EP11 2024, กรกฎาคม
Anonim
การควบคุมมอเตอร์ DC Arduino Uno R3
การควบคุมมอเตอร์ DC Arduino Uno R3

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

ขั้นตอนที่ 1: ส่วนประกอบ

- บอร์ด Arduino Uno * 1

- สาย USB * 1

- L293D *1

- มอเตอร์กระแสตรงขนาดเล็ก * 1

- เขียงหั่นขนม * 1

- สายจัมเปอร์

ขั้นตอนที่ 2: หลักการ

กระแสสูงสุดของพอร์ต Arduino I/O คือ 20mA แต่กระแสขับของมอเตอร์อย่างน้อย 70mA ดังนั้นเราจึงไม่สามารถใช้พอร์ต I/O เพื่อขับเคลื่อนกระแสได้โดยตรง แต่เราสามารถใช้ L293D เพื่อขับเคลื่อนมอเตอร์ได้ L293D L293D ได้รับการออกแบบมาเพื่อให้กระแสของไดรฟ์แบบสองทิศทางสูงถึง 600mA ที่แรงดันไฟฟ้าตั้งแต่ 4.5V ถึง 36V ใช้สำหรับขับเคลื่อนโหลดอุปนัย เช่น รีเลย์ โซลินอยด์ สเต็ปปิ้งมอเตอร์ DC และไบโพลาร์ ตลอดจนโหลดกระแสสูง/แรงดันสูงอื่นๆ ในการใช้งานการจ่ายไฟฟ้าเชิงบวก

ดูรูปพินด้านล่าง L293D มีพินสองตัว (Vcc1 และ Vcc2) สำหรับจ่ายไฟ Vcc2 ใช้เพื่อจ่ายพลังงานให้กับมอเตอร์ ในขณะที่ Vcc1 สำหรับชิป เนื่องจากใช้มอเตอร์กระแสตรงขนาดเล็กที่นี่ ให้ต่อพินทั้งสองเข้ากับ +5V หากคุณใช้มอเตอร์กำลังสูง คุณต้องเชื่อมต่อ Vcc2 กับแหล่งจ่ายไฟภายนอก

ขั้นตอนที่ 3: แผนผังไดอะแกรม

แผนผังไดอะแกรม
แผนผังไดอะแกรม

ขั้นตอนที่ 4: ขั้นตอน

ขั้นตอน
ขั้นตอน
ขั้นตอน
ขั้นตอน

เปิดใช้งานพิน 1, 2EN ของ L293D เชื่อมต่อกับ 5V แล้ว ดังนั้น L293D จึงอยู่ในสถานะทำงานเสมอ เชื่อมต่อพิน 1A และ 2A กับพิน 9 และ 10 ของแผงควบคุมตามลำดับ หมุดสองตัวของมอเตอร์เชื่อมต่อกับพิน 1Y และ 2Y ตามลำดับ เมื่อกำหนดพิน 10 เป็นระดับสูง และพิน 9 เป็นต่ำ มอเตอร์จะเริ่มหมุนไปทางเดียว เมื่อพิน 10 ต่ำและพิน 9 สูง จะหมุนไปในทิศทางตรงกันข้าม

ขั้นตอนที่ 1:

สร้างวงจร.

ขั้นตอนที่ 2:

ดาวน์โหลดโค้ดจาก

ขั้นตอนที่ 3:

อัปโหลดภาพร่างไปยังบอร์ด Arduino Uno

คลิกไอคอนอัปโหลดเพื่ออัปโหลดรหัสไปยังแผงควบคุม

หาก "เสร็จสิ้นการอัปโหลด" ปรากฏที่ด้านล่างของหน้าต่าง แสดงว่าอัปโหลดภาพร่างสำเร็จแล้ว

ตอนนี้ใบมีดของมอเตอร์กระแสตรงจะเริ่มหมุนไปทางซ้ายและขวาด้วยความเร็วที่แตกต่างกันไป

ขั้นตอนที่ 5: รหัส

รหัส
รหัส

//ควบคุมมอเตอร์กระแสตรง

//มอเตอร์ดีซี

จะเริ่มหมุนไปทางซ้ายและขวา และความเร็วของมันจะแตกต่างกันไปตามนั้น

//เว็บไซต์:www.primerobotics.in

/***************************************/

const int motorIn1

= 9; //ติดที่หมุดของมอเตอร์ตัวใดตัวหนึ่ง

const int motorIn2

= 10; //ติดขาอีกอันของมอเตอร์

/***************************************/

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

{

โหมดพิน (motorIn1, OUTPUT); // เริ่มต้นขา motorIn1 เป็นเอาต์พุต

โหมดพิน (motorIn2, OUTPUT); // เริ่มต้นขา motorIn2 เป็นเอาต์พุต

}

/****************************************/

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

{

ตามเข็มนาฬิกา(200); //หมุนตามเข็มนาฬิกา

ล่าช้า (1000);

//รอสักครู่

ทวนเข็มนาฬิกา(200); //หมุนทวนเข็มนาฬิกา

ล่าช้า (1000);

//รอสักครู่

}

/****************************************

/ฟังก์ชันto

ขับมอเตอร์หมุนตามเข็มนาฬิกา

โมฆะตามเข็มนาฬิกา (int

ความเร็ว)

{

analogWrite (motorIn1, ความเร็ว); //กำหนดความเร็วของมอเตอร์

analogWrite (motorIn2, 0); //หยุดมอเตอร์In2 พินของมอเตอร์

}

//ฟังก์ชั่นการขับ

มอเตอร์หมุนทวนเข็มนาฬิกา

โมฆะ

ทวนเข็มนาฬิกา (ความเร็ว int)

{

analogWrite (motorIn1, 0); //หยุดมอเตอร์In1 พินของมอเตอร์

analogWrite (motorIn2, ความเร็ว); //กำหนดความเร็วของมอเตอร์

}

/****************************************/

แนะนำ: