สารบัญ:
- ขั้นตอนที่ 1: อะไหล่ที่จำเป็น
- ขั้นตอนที่ 2: บอร์ดฝ่าวงล้อม TB6612FNG
- ขั้นตอนที่ 3: ปักหมุด
- ขั้นตอนที่ 4: แผนผัง
- ขั้นตอนที่ 5: การเดินสายไฟ
- ขั้นตอนที่ 6: การดาวน์โหลดและติดตั้งไลบรารี
- ขั้นตอนที่ 7: เรียกใช้โค้ดตัวอย่าง
- ขั้นตอนที่ 8: ห้องสมุดอธิบาย
วีดีโอ: ขับเคลื่อนมอเตอร์ขนาดเล็กด้วย TB6612FNG: 8 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
TB6612FNG เป็น IC ไดรเวอร์มอเตอร์คู่จากโตชิบา มีบอร์ดฝ่าวงล้อมมากมายสำหรับมัน และเป็นหนึ่งในตัวเลือกที่นิยมมากที่สุดในการขับเคลื่อนมอเตอร์ขนาดเล็ก
มีแหล่งข้อมูลออนไลน์มากมายในการเริ่มต้นกับ TB6612FNG แต่ฉันตัดสินใจที่จะเขียนสิ่งนี้ต่อไปเพื่อรวบรวมสิ่งที่ฉันพบให้ดีขึ้น
ฉันจะมุ่งเน้นไปที่ตรรกะการควบคุมและอธิบายรายละเอียดเกี่ยวกับไลบรารีไดรเวอร์มอเตอร์ Sparkfun TB6612FNG โดยละเอียดในคำแนะนำนี้
ขั้นตอนที่ 1: อะไหล่ที่จำเป็น
นี่คือสิ่งที่เราจะใช้ในวันนี้:
1) มอเตอร์ไมโครเมทัล
2) ไดรเวอร์มอเตอร์ TB6612FNG
3) สายเคเบิล Arduino และ USB
4) แหล่งพลังงานสำหรับมอเตอร์
5) เขียงหั่นขนม
6) สายจัมเปอร์
ขั้นตอนที่ 2: บอร์ดฝ่าวงล้อม TB6612FNG
ดังที่ฉันได้กล่าวไว้ก่อนหน้านี้ มีบอร์ดฝ่าวงล้อมมากมายจากผู้ผลิตหลายรายสำหรับ TB6612FNG ทั้งหมดมีส่วนประกอบเหมือนกันไม่มากก็น้อยและพินเอาต์ที่คล้ายกัน
ตัวเก็บประจุถูกบัดกรีบนบอร์ดเพื่อป้องกันเสียงรบกวนจากมอเตอร์ ดังนั้นคุณจึงไม่ต้องบัดกรีตัวเก็บประจุเซรามิกเหล่านั้นกับมอเตอร์
IC ยังมาพร้อมกับไดโอดภายในเพื่อป้องกัน EMF ด้านหลังจากมอเตอร์ แต่การมีมาตรการด้านความปลอดภัยเพิ่มเติมไม่ได้ทำร้ายใคร ฉันไม่ได้เพิ่มมันเพราะมอเตอร์ของฉันไม่ใหญ่มากและฉันขาดไดโอด:|
ขั้นตอนที่ 3: ปักหมุด
บอร์ดฝ่าวงล้อม TB6612FNG มีพินเอาต์ที่สะดวกมาก เอาต์พุตของมอเตอร์ อินพุต และการเชื่อมต่อกำลังถูกจัดกลุ่มไว้อย่างดีเพื่อให้ใช้งานง่ายที่สุด
ฉันทำภาพประกอบของพินและวิธีเชื่อมต่อ ฉันหวังว่ามันจะสะดวกเมื่อเชื่อมต่อสายเหล่านั้นทั้งหมด:)
ขั้นตอนที่ 4: แผนผัง
ฉันค่อนข้างใหม่กับการใช้ Fritzing ฉันพบว่าแผนผังวงจรจาก Fritzing ค่อนข้างเข้าใจยาก แต่มุมมองแบบเขียงหั่นขนมนั้นสะดวกสำหรับ Instructables อย่าลังเลที่จะถามคำถามใด ๆ หากการต่อสายดูสับสน
ขั้นตอนที่ 5: การเดินสายไฟ
วางสายทุกอย่างตามแผนผัง มีสายไฟจำนวนมาก โปรดตรวจสอบอีกครั้งหลังจากเชื่อมต่อทุกครั้ง
ฉันใช้ Arduino Pins ต่อไปนี้สำหรับอินพุตไดรเวอร์มอเตอร์:
ไดรเวอร์มอเตอร์ -> หมายเลขพิน Arduino
1) PWMA -> 5
2) INA1 -> 2
3) INA2 -> 4
4) PWMB -> 6
5) INB1 -> 7
6) INB2 -> 8
สิ่งที่อาจผิดพลาดได้ในขั้นตอนนี้:1) อย่ากลับขั้วขณะเชื่อมต่อ Vm และ GND จากแหล่งพลังงาน คุณอาจทอดตัวขับมอเตอร์ของคุณ
2) ตรวจสอบให้แน่ใจว่าได้เชื่อมต่อ PWMA และ PWMB กับพิน PWM บน Arduino
3) อย่าลืมเชื่อมต่อ Arduino GND และ GND จากไดรเวอร์มอเตอร์ หากคุณใช้แหล่งพลังงานที่แตกต่างกันสำหรับแต่ละรายการ
ขั้นตอนที่ 6: การดาวน์โหลดและติดตั้งไลบรารี
ดาวน์โหลดไลบรารีจากหน้า GitHub ของ Sparkfun
เมื่อคุณดาวน์โหลดไฟล์ zip แล้ว ให้เปิด Arduino IDE ของคุณ
จาก Sketch > รวมไลบรารี > เพิ่ม. Zip Library ให้เพิ่มไลบรารีที่คุณดาวน์โหลด
เมื่อติดตั้งสำเร็จแล้ว ควรปรากฏในไฟล์ > ตัวอย่าง เป็น 'SparkFun TB6612FNG Motor Library'
หากคุณประสบปัญหาในการดาวน์โหลดและติดตั้ง Arduino Library ให้ตรวจสอบขั้นตอนที่ 5 ของคำแนะนำนี้
ขั้นตอนที่ 7: เรียกใช้โค้ดตัวอย่าง
เมื่อไลบรารีของเราพร้อมแล้ว เราสามารถอัปโหลดโค้ดตัวอย่างเพื่อทดสอบได้
1) เปิดตัวอย่าง 'MotorTestRun' จาก 'Sparkfun TB6612FNG Motor Driver Library' ที่แสดงอยู่ในไลบรารีของคุณ
หมายเหตุ: หากคุณไม่ได้ใช้หมายเลขพินเดียวกันกับที่กล่าวไว้ในขั้นตอนที่ 5 อย่าลืมเปลี่ยนคำจำกัดความของพินตามการตั้งค่าของคุณ
2) เลือกบอร์ดของคุณจากผู้จัดการบอร์ด
3) อัปโหลดรหัสของคุณและมอเตอร์ควรเริ่มเคลื่อนไหว
เมื่อคุณอัปโหลด มอเตอร์ควรเริ่มเคลื่อนที่ หากไม่เป็นเช่นนั้น ให้ตรวจสอบสายไฟของคุณอีกครั้ง
ขั้นตอนที่ 8: ห้องสมุดอธิบาย
ตอนนี้จะอธิบายวิธีใช้ไลบรารีสำหรับโค้ดของคุณเอง
เริ่มต้นด้วยการนำเข้าไลบรารีและเริ่มต้นพินบน arduino
#รวม
#define AIN1 2 #define AIN2 4 #define PWMA 5 #define BIN1 7 #define BIN2 8 #define PWMB 6# กำหนด STBY 9
ในการเริ่มต้นวัตถุยนต์ของคุณ คุณต้องตั้งค่าออฟเซ็ตสำหรับมอเตอร์แต่ละตัว ลองนึกภาพว่าคุณกำลังออกคำสั่งไปข้างหน้าบนมอเตอร์ของคุณและมันหมุนถอยหลัง คุณสามารถเดินสายใหม่ด้วยตนเองหรือเพียงแค่เปลี่ยนออฟเซ็ตจากที่นี่ แฮ็ค QoL เล็ก ๆ น้อย ๆ ที่เพิ่มโดย SparkFun ค่าของออฟเซ็ตเหล่านี้คือ 1 หรือ -1
จากนั้นคุณต้องเริ่มต้นมอเตอร์แต่ละตัวด้วยพารามิเตอร์ต่อไปนี้
มอเตอร์ = มอเตอร์ (พิน 1, พิน 2, พิน PWM, ออฟเซ็ต, พินสแตนด์บาย)
const int offsetA = 1;
const int offsetB = 1; มอเตอร์ motor1 = มอเตอร์ (AIN1, AIN2, PWMA, offsetA, STBY);
และด้วยสิ่งนี้ คุณได้เริ่มต้นไลบรารี่เรียบร้อยแล้ว ไม่มีขั้นตอนในฟังก์ชัน setup() อีกต่อไป เราเพียงแค่เรียกใช้โค้ดในฟังก์ชัน loop()
วิธีมอเตอร์มีหน้าที่ดังต่อไปนี้ ทิงเกอร์ไปรอบ ๆ เพื่อตรวจสอบพวกเขาทั้งหมด
1).drive(ค่า เวลา)
Motor_name = ชื่อของมอเตอร์ objectvalue ของคุณ = 255 ถึง -255; ค่าลบจะทำให้มอเตอร์เคลื่อนที่ย้อนเวลา = เวลาเป็นมิลลิวินาที
2).เบรก()
ฟังก์ชันเบรกไม่มีข้อโต้แย้งใดๆ เบรกมอเตอร์
3) เบรค (, <motor_name2)
ฟังก์ชั่นเบรกใช้ชื่อวัตถุของมอเตอร์เป็นอาร์กิวเมนต์ เบรกมอเตอร์ที่ผ่านเข้าไปในฟังก์ชัน
4) ไปข้างหน้า (,, เวลา) ไปข้างหน้า (,, ความเร็ว, เวลา)
ฟังก์ชันยอมรับชื่อวัตถุของมอเตอร์สองตัว โดยสามารถเลือกความเร็วและเวลา PWM ในหน่วยมิลลิวินาที และเรียกใช้มอเตอร์ในทิศทางไปข้างหน้าตามระยะเวลาที่ผ่านไป ถ้าค่าความเร็วเป็นลบ มอเตอร์จะถอยหลัง ความเร็วเริ่มต้นถูกตั้งไว้ที่ 255
5) ย้อนกลับ (,, เวลา) ย้อนกลับ (,, ความเร็ว, เวลา)
ฟังก์ชันยอมรับชื่อวัตถุของมอเตอร์สองตัว โดยสามารถเลือกความเร็วและเวลา PWM ในหน่วยมิลลิวินาที และเรียกใช้มอเตอร์ในทิศทางไปข้างหน้าตามระยะเวลาที่ผ่านไป ถ้าค่าความเร็วเป็นลบ มอเตอร์ก็จะวิ่งไปข้างหน้า ความเร็วเริ่มต้นถูกตั้งไว้ที่ 255
6) ซ้าย (,, ความเร็ว) ขวา (,, ความเร็ว)
ฟังก์ชันยอมรับชื่อและความเร็วของวัตถุมอเตอร์สองแบบ ลำดับของวัตถุยนต์ที่ส่งผ่านเป็นพารามิเตอร์มีความสำคัญ ในการขับเคลื่อนมอเตอร์เดี่ยว ให้ใช้.drive() แทน
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
Actobitty 2 พร้อมไดรเวอร์มอเตอร์ SparkFun TB6612FNG คู่มือสำหรับผู้เริ่มต้นใช้งาน: 3 ขั้นตอน
Actobitty 2 พร้อม TB6612FNG SparkFun Motor Driver คู่มือสำหรับผู้เริ่มต้นใช้งาน: คำแนะนำนี้มีไว้สำหรับหุ่นยนต์ Actobitty 2 พร้อม SparkFun ® TB6612FNG ตัวขับมอเตอร์
โครงการควบคุมมอเตอร์ด้วย TB6612FNG: 4 ขั้นตอน
โครงการควบคุมมอเตอร์ด้วย TB6612FNG: นี่เป็นเพียงโครงการง่ายๆ ที่ควบคุมตัวกระตุ้นเชิงเส้นและเซอร์โวมอเตอร์ด้วย SparkFUN TB6612FNG บอร์ดฝ่าวงล้อมควบคุมมอเตอร์และ Arduino Uno ดูบล็อกของฉันเพื่อดูโครงการเพิ่มเติมที่นี่
โรลลิ่งโรบอทพร้อม ESP32 Thing และไดรเวอร์ TB6612FNG ควบคุมโดย Android ผ่าน BLE: 11 ขั้นตอน
Rolling Robot พร้อม ESP32 Thing และ TB6612FNG Driver ควบคุมโดย Android Over BLE: สวัสดีทุกคน นี่เป็นคำสั่งแรกของฉัน หุ่นยนต์กลิ้ง (ชื่อเล่น Raidho - จากคาถาที่เกี่ยวข้องกับการเคลื่อนไหว) ตาม ESP32 Thing, TB6612 FNG และ BLE ส่วนหนึ่งที่อาจดูแปลกคือภาพถ่ายไม่ได้มาจากขั้นตอนการผลิต