Aexotic Aerobotic

/tools/drive_sizing

คำนวณมอเตอร์และอุปกรณ์ขับเคลื่อนหุ่นยนต์

เลือกแบบการขับเคลื่อน ใส่ขนาดและเป้าหมายของหุ่นยนต์ แล้วดูแรงบิด ความเร็วรอบ อัตราทด ไดรเวอร์ แบตเตอรี่ และ encoder ที่ต้องใช้ พร้อมวิธีคิดทุกขั้น ขับหุ่นยนต์ในภาพ 3 มิติเพื่อดูว่าแต่ละล้อหมุนอย่างไร

ล้อขับ 2 ล้อซ้ายขวากับ caster หน้าหลัง เลี้ยวด้วยความเร็วล้อที่ต่างกัน · เปลี่ยนแบบแล้วจะโหลดค่าตัวอย่างของแบบนั้น

three.js — /cmd_vel /joint_states

คลิกที่ภาพ แล้วกด W/S เดินหน้า-ถอย · A/D เลี้ยว · ลากเพื่อหมุนกล้อง

ล้อผิวล้อ m/sล้อ rpmมอเตอร์ rpmภาระความเร็ว
L0000%
R0000%

ตัวหุ่น 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 จุดใช้งานต้องอยู่ใต้เส้น และจุดต่อเนื่องต้องอยู่ซ้ายของเส้นพิกัด

0100200012rpm ที่ล้อแรงบิดที่ล้อ (N·m)พิกัดต่อเนื่องขีดจำกัดไดรเวอร์วิ่งทางราบขึ้นทางลาดออกตัวหมุนตัว
จุดใช้งานแรงบิดที่เพลา × SFรอบที่ต้องการรอบที่ทำได้กระแสประสิทธิภาพผล
วิ่งทางราบที่ 0.8 m/sต่อเนื่อง0.116 N·m153 rpm240 rpm0.646 A37%ผ่าน
ขึ้นทางลาด 5° ที่ 0.4 m/sต่อเนื่อง0.622 N·m76.4 rpm198 rpm1.94 A42%ผ่าน
เร่งออกตัวบนทางลาดช่วงสั้น0.918 N·m0 rpm174 rpm2.69 A–ผ่าน
หมุนตัว 2 rad/sช่วงสั้น0.33 N·m61.1 rpm223 rpm1.19 A42%ผ่าน

ความเร็วสูงสุดทางราบที่อัตราทดนี้ 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 มาก หน้านี้ไม่ได้คำนวณกรณีนั้น