/tools/drive_sizing
คำนวณมอเตอร์และอุปกรณ์ขับเคลื่อนหุ่นยนต์
เลือกแบบการขับเคลื่อน ใส่ขนาดและเป้าหมายของหุ่นยนต์ แล้วดูแรงบิด ความเร็วรอบ อัตราทด ไดรเวอร์ แบตเตอรี่ และ encoder ที่ต้องใช้ พร้อมวิธีคิดทุกขั้น ขับหุ่นยนต์ในภาพ 3 มิติเพื่อดูว่าแต่ละล้อหมุนอย่างไร
ล้อขับ 2 ล้อซ้ายขวากับ caster หน้าหลัง เลี้ยวด้วยความเร็วล้อที่ต่างกัน · เปลี่ยนแบบแล้วจะโหลดค่าตัวอย่างของแบบนั้น
คลิกที่ภาพ แล้วกด W/S เดินหน้า-ถอย · A/D เลี้ยว · ลากเพื่อหมุนกล้อง
| ล้อ | ผิวล้อ m/s | ล้อ rpm | มอเตอร์ rpm | ภาระความเร็ว |
|---|---|---|---|---|
| L | 0 | 0 | 0 | 0% |
| R | 0 | 0 | 0 | 0% |
ตัวหุ่น vx 0 · vy 0 m/s · ωz 0 rad/s · รัศมีเลี้ยว ∞
/result
ผลการคำนวณ
มอเตอร์ อัตราทด และแรงยึดเกาะผ่านทุกจุดใช้งาน
ความเร็วรอบที่ล้อ
153 rpm
วิ่งตรงที่ v_max
แรงบิดต่อเนื่อง
0.591 N·m
ต่อมอเตอร์ (2 ตัว), คิด 0.394 N·m × SF 1.5
แรงบิดสูงสุด
0.872 N·m
ต่อมอเตอร์ (2 ตัว), คิด 0.581 N·m × SF 1.5
กำลังกล
3.15 W
ต่อเนื่อง, สูงสุดตอนเร่ง 4.18 W
อัตราทดแนะนำ
1.31 : 1
ช่วงที่ใช้ได้ 0.777 – 1.6
แบตเตอรี่
3S1P
10.8 V · 3 Ah · ~77.7 นาที
/motor_check
มอเตอร์ที่เลือกกับอัตราทด
เส้นสีน้ำเงินคือความเร็วรอบสูงสุดที่มอเตอร์ทำได้ในแต่ละแรงบิด คิดที่ล้อผ่านอัตราทด 1 : 1 จุดใช้งานต้องอยู่ใต้เส้น และจุดต่อเนื่องต้องอยู่ซ้ายของเส้นพิกัด
| จุดใช้งาน | แรงบิดที่เพลา × SF | รอบที่ต้องการ | รอบที่ทำได้ | กระแส | ประสิทธิภาพ | ผล |
|---|---|---|---|---|---|---|
| วิ่งทางราบที่ 0.8 m/sต่อเนื่อง | 0.116 N·m | 153 rpm | 240 rpm | 0.646 A | 37% | ผ่าน |
| ขึ้นทางลาด 5° ที่ 0.4 m/sต่อเนื่อง | 0.622 N·m | 76.4 rpm | 198 rpm | 1.94 A | 42% | ผ่าน |
| เร่งออกตัวบนทางลาดช่วงสั้น | 0.918 N·m | 0 rpm | 174 rpm | 2.69 A | – | ผ่าน |
| หมุนตัว 2 rad/sช่วงสั้น | 0.33 N·m | 61.1 rpm | 223 rpm | 1.19 A | 42% | ผ่าน |
ความเร็วสูงสุดทางราบที่อัตราทดนี้ 1.28 m/s
ดูวิธีคิด
ตรวจมอเตอร์และอัตราทด
- T_m = τ_ล้อ × SF / (G·η) = τ_ล้อ × 1.5 / (1 × 0.95) n_m = n_ล้อ × G
- เส้นแรงบิด-ความเร็วรอบของมอเตอร์ DC: n = n0·(1 − T/Ts) = 250·(1 − T/3), I = I0 + (Is − I0)·T/Ts
- แรงบิดสูงสุดที่ไดรเวอร์ 5 A ให้ได้ = Ts·(I_lim − I0)/(Is − I0) = 1.82 N·m (18.6 kg·cm)
- วิ่งทางราบที่ 0.8 m/s: T_m = 0.116 N·m, n_m = 153 rpm, มอเตอร์หมุนได้ 240 rpm, I = 0.646 A → ผ่าน
- ขึ้นทางลาด 5° ที่ 0.4 m/s: T_m = 0.622 N·m, n_m = 76.4 rpm, มอเตอร์หมุนได้ 198 rpm, I = 1.94 A → ผ่าน
- เร่งออกตัวบนทางลาด: T_m = 0.918 N·m, n_m = 0 rpm, มอเตอร์หมุนได้ 174 rpm, I = 2.69 A → ผ่าน
- หมุนตัว 2 rad/s: T_m = 0.33 N·m, n_m = 61.1 rpm, มอเตอร์หมุนได้ 223 rpm, I = 1.19 A → ผ่าน
- อัตราทดที่ผ่านทุกจุด: 0.777 – 1.6 แนะนำ ≈ 1.31 (ให้ v_max อยู่ที่ราว 80% ของ n0)
- ความเร็วสูงสุดทางราบที่อัตราทดตอนนี้ ≈ 1.28 m/s
/forces
แรงที่ต้องใช้และแรงยึดเกาะ
แรงขับรวมตอนเร่งออกตัวบนทางลาด
- ความต้านทานการหมุนของล้อ2.93 N
- น้ำหนักบนทางลาด12.8 N
- การเร่ง7.5 N
- รวม23.3 N
แรงยึดเกาะ (ล้อขับ)
28%
ต้องการ 11.6 N จากที่พื้นให้ได้ 41 N (μ = 0.7)
เกิน 100% ล้อจะลื่นก่อนที่มอเตอร์จะใช้แรงบิดได้เต็มที่ ควรเหลือไว้ราว 20%
ดูวิธีคิด
แรงต้านการเคลื่อนที่ (ทั้งคัน)
- F_roll = C_rr·m·g·cos θ = 0.02 × 15 × 9.81 × cos 5° = 2.93 N
- F_grade = m·g·sin θ = 15 × 9.81 × sin 5° = 12.8 N
- F_acc = m·a = 15 × 0.5 = 7.5 N
- F_peak = F_roll + F_grade + F_acc = 23.3 N (เร่งออกตัวบนทางลาด)
- F_cruise = C_rr·m·g = 2.94 N (วิ่งความเร็วคงที่บนทางราบ)
- F_climb = F_roll + F_grade = 15.8 N (ขึ้นทางลาดด้วยความเร็วคงที่)
ความเร็วรอบล้อ
- n = v / (2π·r) × 60 = 0.8 / (2π × 0.05) × 60 = 153 rpm
- หมุนอยู่กับที่: v_wheel = ω·W/2 = 2 × 0.32 / 2 = 0.32 m/s → 61.1 rpm
- ใช้ค่าที่มากกว่า: 153 rpm
แรงบิดที่ล้อขับ (ต่อล้อ, 2 ล้อ)
- τ = (F / 2) × r
- เร่งออกตัวบนทางลาด: (23.3 / 2) × 0.05 = 0.581 N·m
- วิ่งทางราบ: (2.94 / 2) × 0.05 = 0.0735 N·m
- ขึ้นทางลาด: (15.8 / 2) × 0.05 = 0.394 N·m
- หมุนตัว: I_z = m(L² + W²)/12 = 0.241 kg·m², M = I_z·α + C_rr·N·W/2 = 1.34 N·m
- แรงที่ล้อ = M / W = 4.18 N → τ = 0.209 N·m
แรงยึดเกาะ
- น้ำหนักบนล้อขับ = m·g·cos θ × 80% = 117 N (ล้อละ 58.6 N, ที่เหลืออยู่บนล้อ caster)
- แรงสูงสุดที่ล้อส่งได้ = μ·N = 0.7 × 58.6 = 41 N
- แรงที่ต้องใช้มากสุดต่อล้อ = 11.6 N
/driver
ไดรเวอร์มอเตอร์
- จำนวนช่องมอเตอร์ละ 1 ช่อง
- 2 ช่อง
- กระแสต่อเนื่องต่อช่องรวม SF แล้ว
- ≥ 1.94 A
- กระแสสูงสุดต่อช่องตั้งจำกัดกระแสไว้ 5 A
- ≥ 2.69 A
- ถ้าไม่มีระบบจำกัดกระแสกระแสตอนมอเตอร์หยุดหมุน
- ทน 8 A
- แรงดันพิกัด1.25 × แบตเต็ม 12.6 V
- ≥ 15.8 V
ดูวิธีคิด
ไดรเวอร์มอเตอร์
- จำนวนช่อง = 2 (มอเตอร์ละ 1 ช่อง)
- กระแสต่อเนื่องต่อช่อง ≥ 1.94 A (จุดต่อเนื่องที่หนักที่สุด รวม SF แล้ว)
- กระแสสูงสุดต่อช่อง ≥ 2.69 A (ออกตัว) และตั้งจำกัดกระแสไว้ 5 A
- ถ้าไดรเวอร์ไม่มีระบบจำกัดกระแส ต้องทนกระแสหยุดหมุน (stall) 8 A
- แรงดันพิกัด ≥ 1.25 × 12.6 V = 15.8 V (เผื่อแรงดันกระชากตอนเบรก)
/battery
แบตเตอรี่
- ชุดแบต
- 3S1P Li-ion (18650 / 21700)
- แรงดันชาร์จเต็ม 12.6 V
- 10.8 V
- พลังงานที่ต้องใช้2.32 Ah สำหรับ 60 นาที
- 25 Wh
- ความจุชุดนี้เวลาใช้งานโดยประมาณ 77.7 นาที
- 3 Ah
- กำลังเฉลี่ยขับเคลื่อน 8.37 W ตอนวิ่ง
- 20 W
- กระแสสูงสุด2.3C ของชุดแบต
- 6.77 A
ดูวิธีคิด
แบตเตอรี่
- จำนวนเซลล์อนุกรม = round(12 V / 3.6 V) = 3S → 10.8 V (ชาร์จเต็ม 12.6 V)
- กำลังขับตอนวิ่งทางราบที่ v_max (ทุกมอเตอร์) = Σ V·(n/n0 + T/Ts)·I = 8.37 W
- กำลังเฉลี่ย = 8.37 × 1.2 (เร่ง/เลี้ยว) × 50% + 15 W (อิเล็กทรอนิกส์) = 20 W
- พลังงาน = 20 W × 1 h / DoD 0.8 = 25 Wh → 2.32 Ah ที่ 10.8 V
- กระแสสูงสุด (ทุกมอเตอร์ออกตัวพร้อมกัน) ≈ 6.77 A, กระแสวิ่งทางราบ ≈ 2.09 A
- ขนานเซลล์ = max(⌈2.32 / 3⌉, ⌈6.77 / 10⌉) = 1P → 3S1P 3 Ah
- เวลาใช้งานโดยประมาณ = 77.7 นาที
/encoder
Encoder
- ความละเอียดต่อรอบล้อ
- 1,320 counts
- ระยะต่อ 1 count
- 0.238 mm
- counts ต่อรอบการวัดที่ความเร็วต่ำสุด0.1 m/s ที่ 20 Hz ควรได้ 10 ขึ้นไป
- 21
- ความละเอียดที่ควรมี
- ≥ 629 counts/รอบ
- อัตรานับที่ความเร็วสูงสุด
- 3,361 counts/s
- มุมหันต่อ 1 countความคลาดเคลื่อน odometry ของ diff drive
- 0.0426°
ดูวิธีคิด
Encoder
- counts ต่อรอบล้อ = PPR × 4 × อัตราทด = 11 × 4 × 30 = 1,320
- ระยะต่อ 1 count = π·D / counts = 0.238 mm
- ที่ความเร็วต่ำสุด 0.1 m/s และลูปควบคุม 20 Hz: 21 counts ต่อรอบลูป (ควร ≥ 10)
- ต้องการอย่างน้อย 629 counts ต่อรอบล้อ
- ที่ความเร็วสูงสุด encoder นับ 3,361 counts/s
- ความคลาดเคลื่อนมุมหันต่อ 1 count (diff drive) = (ระยะต่อ count) / W = 0.0426°
/kinematics
สมการจลนศาสตร์
ใช้แปลงคำสั่ง /cmd_vel (v, ω) เป็นความเร็วล้อซ้ายขวา และย้อนกลับสำหรับ odometry
v_L = v − ω·W/2 v_R = v + ω·W/2 ω_L = v_L / r ω_R = v_R / r v = (v_R + v_L) / 2 ω = (v_R − v_L) / W W = 0.32 m, r = 0.05 m
/assumptions
สมมติฐานที่ใช้
- มอเตอร์คิดแบบ DC เส้นตรง (brushed DC หรือ BLDC ที่คุมด้วย speed controller) ถ้าเป็น stepper ให้ดูกราฟ pull-out torque แทน
- หุ่นแบบ holonomic ใช้จุดศูนย์ถ่วงอยู่กลางตัวหุ่น และน้ำหนักกระจายให้ทุกล้อแตะพื้น (mecanum ควรมีระบบกันสะเทือน)
- ไม่รวมแรงต้านอากาศ ที่ความเร็วต่ำกว่าราว 3 m/s มีผลน้อยมากเทียบกับแรงต้านการหมุนของล้อ
- ค่า C_rr, μ และประสิทธิภาพลูกกลิ้ง mecanum เป็นค่าประมาณ ควรวัดจากหุ่นและพื้นจริง
- แรงบิดเซอร์โวเป็นกรณีหมุนพวงมาลัยขณะจอดนิ่ง ซึ่งหนักที่สุด ขณะวิ่งจะเบากว่ามาก
- Skid-steer 4 ล้อ (ไม่มี caster) ใช้แรงบิดตอนเลี้ยวมากกว่า diff drive มาก หน้านี้ไม่ได้คำนวณกรณีนั้น
