ชุดขับ Step ที่ใช้งานหน้าตาแบบนี้ โดยบนบอร์ดจะมี 5 ส่วนหลักๆคือ
- IC Driver THB7128
- DIP Switch
- ประกอบด้วย Switch 1- 4 โดย
- Switch 1 - 3 ใช้ความคุมความละเอียดในการหมุดต่อ 1 step มีตั้งแต่ 1, 2, 4, 8, 16, 32, 64, 128 คือ สมุติว่า Step Motor ที่เลือกใช้งานเป็นแบบ 1.8 องศา / step ถ้ากำหนด DIP Switch นี้เป็นค่า 8 จะได้ความละเอียด ต่อ 1 step เป็น 1.8 / 8 องศา และจำนวน step ต่อ 1 รอบจะเพิ่มขึ้นด้วย จากตัวอย่าง 1.8 องศา / step จะใช้จำนวน 200 step ต่อการหมุน 1 รอบ แต่ถ้า เลือก DIP Switch เป็นค่า 8 จำนวนรอบจะเป็น 200 * 8 = 1600 step
- Switch 4 คือกระแสสำหรับตอนที่ Hold Torque ซึ่งจะมี 20% และ 50% ของกระแส Max (R Trimmer)
- R Trimmer
- ใช้ Limit กระแสสูงสุดที่ใช้ Drive Motor ตั้งแต่ 0 - 3 A ซึ่งทั้งนี้ต้องดูที่ Datasheet ของ Motor ที่เลือกใช้งานว่ากระแสสูงสุดเป็นเท่าไหร่
- Terminal ฝั่ง Input
- CW
- ขาสั่งงานการหมุนของ Motor ว่าจะให้หมุนทวนเข็มหรือตามเข็ม ขา + ต่อกับ I/O ของ Arduino ขา - ต่อ Gnd
- EN
- ขาสั่งเปิด-ปิดการทำงานของ IC ขานี้ไม่ต้องต่อก็ได้ การใช้งานเป็นแบบ Active low
- CLK
- ขานี้เป็นขากำหนดความเร็วของการหมุน คล้ายๆ กับการส่ง PWM ควบคุม Motor กระแสตรง ขา + ต่อกับ I/O ของ Arduino ขา - ต่อ Gnd
- Terminal ฝั่ง Output
- A+ A- B+ B-
- ต่อเข้ากับ Step Motor ต้องตรวจสอบตาม Datasheet ของ Motor นั้นๆ ให้ดี เพราะถ้าต่อผิดอาจจะเกิดความเสียหายต่อ IC Driver ได้
- VCC, GND
- คือไฟสำหรับ Drive Motor volt สูงสุด 40V
อย่างที่กล่าวมาข้างต้นแล้วว่าตัว Module THB7128 นั้นราคาสูงแต่ง่ายตอนควบคุม ก็คือการควบคุมจะทำคล้ายๆ กับการคุบคุม Motor กระแสตรงซึ่ง ฝั้ง Input ที่ใช้งานก็แค่ใช้ CLK และ CW ก็สามารถสั่งงานให้กับ Motor ได้แล้ว โดย code ตัวอย่างนี้ผมจะใช้งานรวมกับ Library ชื่อ AccelStepper หรือ download
จากโค๊ดตัวอย่างกำหนด DIP Switch บน Board 16 (#define _DIP_SW_EXCITATION_ 16) และ Step Motor ที่ใช้งานเป็นแบบความละเอียด 1.8 องศาต่อ Step (#define _MOTOR_NUMER_OF_STEP_PER_ROUND_ 200) ใน loop เป็นการหมุน แบบทวนเข็ม 1 รอบและหมุนตามเข็มอีก 1 รอบ ซึ่ง position ของการหมุนจะเท่ากับ ความระเอียด คูณ กับจำนวน step ต่อ 1 รอบ (#define _SW_MAX_SETEP_ (_DIP_SW_EXCITATION_ * _MOTOR_NUMER_OF_STEP_PER_ROUND_)
Is it possible to get the robot arm files? could u put a link on your youtube channel?
ตอบลบ