3. Hardware design
1. Conceptual design
On May...
The calculations were revised after a shift in requirements; I transitioned from designing for a 3D printer to a pen plotter, which allowed for a lighter and simpler design using a short arm driven directly by a servo motor.
A. Required precision
The formulas on this page are partially assisted by ChatGPT.
Prompt: Calculate the motion accuracy of a robot using a stepper motor nema 17. It works with wheels and an arm, and the calculation is based on a wheel diameter of 50mm and an arm length of 170mm.
I calculated the XY-axis wheel and Z-axis arm accuracy based on rough dimensions, a 1.8° stepper motor, 170mm arm length, and 50mm wheel diameter. Accuracy can be improved later by adjusting the gear ratio or using "microstepping".
a. Wheel Precision
Item | Value | Formula |
---|---|---|
Wheel Diameter (D) | 50 mm | Input parameter |
Step Angle (θ) | 1.8° | — |
Wheel Circumference (C) | 157.08 mm | C = π * D |
Wheel Movement (d_w) | 0.785 mm/step | d_w = (θ / 360) * C |
b. Arm Precision and Gear Ratio
Item | Value | Formula |
---|---|---|
Arm Length (L) | 170 mm | Input parameter |
Step Angle (θ) | 1.8° | — |
Arm Tip Movement (d) | 5.34 mm/step | d = L * sin θ |
Required Precision (P) | 0.5 mm/step | Input parameter |
Required Gear Ratio (R) | Approx. 10.7:1 | R = d / P = 5.34 / 0.5 |
C. Estimated weight
I made a very rough weight estimate and it ended up being about the same weight as small 3D printers (such as Kingroon KP3S or BumbLab A1 Mini).
Name | Weight (kg) | Quantity | Total Weight (kg) |
---|---|---|---|
Stepper Motor | 0.3 | 6 | 1.8 |
Filament Spool | 1 | 1 | 1 |
Extruder | 0.25 | 1 | 0.25 |
Battery / power supply | 0.5 | 1 | 0.5 |
Frame | 0.5 | 1 | 0.5 |
Others | 0.25 | 1 | 0.25 |
Total | 4.8 kg |
C. Required torque
Arm Torque Calculation
Item | Value | Formula |
---|---|---|
Arm Weight (m) | 0.6 kg | Input parameter |
Arm Length (L) | 0.17 m | Input parameter |
Gravity (g) | 9.81 m/s² | — |
Center of Mass | 0.17 m | Input parameter |
Load Torque (T_load) | 1.001 N·m | T_load = m × g × L |
Gear Ratio | 30:1 | — |
Motor Torque (T_motor) | 3.335 N·cm | T_motor = T_load / Gear Ratio × 100 |
2. Motor selection
I started by looking at the motors commonly used in 3D printers, and the Kingroon KP3S I disassembled also used two types of Nema17 stepper motors for the XYZ axes and the extruder.
I tried using the stepper motor on week 04, week10 and week14.
17HS4401 Stepper Motor (Nema 17)
Specification | Value |
---|---|
Step Angle | 1.8° (200 steps/rev) |
Rated Current | 1.5–1.7 A/phase |
Rated Voltage | 3.6 V DC |
Holding Torque | 40–45 N·cm |
Phase Resistance | 1.5–2.4 Ω |
Phase Inductance | 2.8–3.7 mH |
Shaft Diameter | 5 mm |
Frame Size | 42 × 42 mm |
Body Length | 40 mm |
Weight | ~280 g |
A4988 Motor Driver
Specification | Value |
---|---|
Operating Voltage | 8–35 V |
Logic Voltage | 3–5.5 V |
Continuous Current | 1 A/phase (no heatsink) |
Max Current | 2 A/phase (with sufficient cooling) |
Microstepping Modes | Full, ½, ¼, ⅛, 1⁄16 |
Protection Features | Over-temp, over-current, short-to-ground, UVLO |
Dimensions | 15.5 × 20.5 mm (0.6″ × 0.8″) |
Weight | 1.3 g |
The stepper motor's rated current is critical and must be matched via the A4988's current limit, while the rated voltage is less important since the driver uses higher supply voltages with current control to ensure safe operation. Higher supply voltages is beneficial for improving speed and responsiveness due to faster current rise times.
3. Mecanum wheel
a. How omni-wheel works
Wikipedia: A Mecanum wheel is an omnidirectional wheel design that enables a vehicle to move in any direction by using rollers mounted at a 45° angle around its circumference.
Omni wheel vs. Mecanum wheel
- Omni wheel:
An omni wheel has rollers mounted around its circumference, typically at 90°, allowing it to move forward/backward and slide sideways with minimal friction. - Mecanum wheel:
A mecanum wheel has angled rollers (usually 45°) mounted around its perimeter, enabling movement in any direction (omnidirectional) through coordinated wheel rotation.
Feature | Omni Wheel | Mecanum Wheel |
---|---|---|
Roller Angle | 90° | 45° |
Movement Control | Requires holonomic configuration | Built-in omnidirectional capability |
Smoothness | Smoother sideways motion | May cause vibration during motion |
Drive Complexity | Simpler kinematics | More complex control algorithm |
I decided to use mecanum wheels because of omnidirectional capability, I started modeling a mecanum wheel.
- Mecanum wheel ref.: Arduino Mecanum Wheels Robot
- Omni-wheel ref.: Omni wheel design (3D print) | Kenichi Komatsu - Fab Academy 2021 at Oulu
b. CAD modeling
I referenced some mecanum wheels on Printables (Mecanum Wheel | Evolv3D (Printables)) as the base structure and ended up with six rollers angled at 45 degrees.
The cross-section of the 45-degree angled rollers needs to follow a specific curved shape to maintain constant contact with the ground while rotating. I created the curve by projecting a circle on a 45-degree angled plane, then used that intersection curve to revolve and form the roller shape.
b. Selection
Although I initially wanted to make Mecanum wheels using molding or 3D printing, I decided to purchase them instead due to time constraints, using that as the base plan.
I chose Mecanum Wheel for RC Car (60mm (left and right set x 2)) because its 60mm diameter fits the design and it's cost-effective, though there are some concerns about its precision and load capacity.
I noticed some rollers weren't rotating smoothly, and after disassembling the wheel, I found they were mounted directly onto the plastic casing without bearings or shafts; additionally, some wheels had mold flashes that interfered with the casing.
c. Connector
Drawing on knowledge from machine building week, I designed a connector between the wheel and stepper motor shaft using 3D-printed parts, M3 insert nuts, and bolts.
4. CAD modeling
A. Approx. dimensions
I started by designing a standard 1kg spool holder. I placed it in the center of the machine so that the weight distribution would be stable even if the amount of filament remaining changed.
For design tips and process, visit 2. Computer-aided Design.
5. Updated design
After week 15. System integration, I triaged and simplified the design as a pen plotter machine.
Changes after week 15
- Added M5 mounting holes to the frame to support future upgrades.
- Switched to a servo motor mounted at the front of the frame for better accessibility.
No. | Item | Status | Note |
---|---|---|---|
1 | Arm mechanism | In Progress | Changed to use servo motors for simplicity |
2 | Z-axis motor bracket | Completed | Repositioned for servo motor |
3 | Arm | Cancelled | Designed for 3D printing; assembled with M5 bolts, nuts, and bearings |
4 | Limit switch mounting | Not Started | Bumpers on all four sides; Z-axis switch at center of arm for calibration |
5 | Pen plotter mounting | Not Started | |
6 | Frame | Completed | Side and bottom made from acrylic; joined with press-fit and bolts, includes handle |
7 | Top cover | Cancelled | Filament spool space closed with acrylic board |
8 | PCB mounting and enxlosure | In progress | Mounted inside the frame |
9 | USB / power cable management | Not Started | Guide and Cord reel |
Enclosure
I later designed an enclosure for the PCB.
- Ventilation holes aligned with the 4 A4988 drivers
- Added hole for locker switch
- Openings for DC power cable and USB cable to Pico
Integrated limit switch bracket
I integrated the limit switches directly into the enclosure, as there were no other suitable mounting points available.
- Positioned the X and Y limit switches at the left-rear corner
- Secured each switch using two M2 bolts and nuts
- Routed the wires behind the bracket, carefully avoiding 3D print overhangs
- Added a handle both to make it more approachable and to protect the cables, inspired by the design of classic Macintosh computers
Pen plotting arm
Finally, I added a pen-plotting arm powered by a servo motor.
- Installed M3 bearings on both sides to ensure smooth rotation
- Designed a simple cam mechanism that uses gravity for the downward movement, allowing the pen to move freely up and down while following the surface
Visit Week 15. System integration for updated integration plan.