15. System integration
Overview of week 15 assignment
- Individual assignment
- Design and document the system integration for your final project
1. Individual assignment
A. Triage
This week, I updated my final project plan. With only three weeks left until the final presentation, I decided to simplify the project. I decided to make a mobile pen plotter with an unlimited print area, not a 3D printer.
Key points:
- The machine will function as a pen plotter instead of a 3D printer.
- Firmware like GRBL or Marlin won’t be used, as mecanum wheel control will be managed externally and no extruder or spindle control needed for now.
- I plan to design and build Mecanum wheels, but will use purchased ones if time is limited.
B. System
This mobile pen plotter robot interprets G-code commands sent via serial from a PC. A Raspberry Pi Pico processes the G-code and outputs motor control signals to five A4988 motor drivers. Five limit switches, mounted on each side and at the base of the arm, send a zero signal when triggered, enabling zeroing. The A4988s are powered by a 12V AC/DC converter.
System diagram
C. Mechanical design and mahine design
This is an updated version of the design from the Week 02 assignment. Some changes were made to meet current requirements, while other parts were kept the same to allow for future modifications, especially for 3D printing.
No. | Item | Status | Note |
---|---|---|---|
1 | Base dimensions | Completed | Narrowed to form a square wheel layout |
2 | Arm mechanism | In Progress | Shaft for balanced lift, 60:1 worm gear for precision |
3 | Z-axis motor bracket | Not started | Repositioned |
4 | Arm | In Progress | Designed for 3D printing; assembled with M5 bolts, nuts, and bearings |
5 | Limit switch mounting | Not Started | Bumpers on all four sides; Z-axis switch at center of arm for calibration |
6 | Pen plotter mounting | Not Started | |
7 | Frame | In Progress | Side and bottom made from acrylic; joined with press-fit and bolts, includes handle |
8 | Top cover | Not Started | Filament spool space closed with acrylic board |
9 | PCB mounting and enxlosure | Not Started | Will be mounted in front side of the frame with a 3D printed enclosure |
10 | USB / power cable management | Not Started | Guide and Cord reel |
D. Programming
The programming will be based on the Arduino code on Week 14 assignment, with the following enhancements:
- Increase the number of motors from 2 to 5
- Map four motors to enable mecanum wheel control for omnidirectional movement
- Add a Z-axis motor for pen plotter
- Extend compatibility to support additional G-code commands (e.g., G28)
- Add limit switches and zeroing
E. Electronics design plan
a. components
The basic electronic components and wiring will remain the same as in the Week 10 assignment, but with an increased number of motors and drivers.
No. | Item | Quantity | Note |
---|---|---|---|
1 | NEMA17 Stepper Motor | 5 | For mecanum wheels (4) and Z-axis (1) |
2 | A4988 Stepper Motor Driver | 5 | One per motor |
3 | Raspberry Pi Pico | 1 | Main controller |
4 | Male/Female Pin Header Set | 2 | For connecting Pi Pico to the PCB |
5 | XH2.54-4 Connectors | 5 | For motor wiring on the PCB |
6 | XH2.54-4 Cables | 5 | To connect stepper motors to the PCB |
7 | Limit Switch | 5 | For endstop detection (4 sides + Z-axis) |
8 | Female Pin Headers (Limit Sw.) | 5 | To connect limit switches to the PCB |
9 | 12V AC/DC Adapter | 1 | Power supply for motors and controller |
10 | DC Plug Connector | 1 | For connecting power adapter to the PCB |
b. PCB design
The PCB design should prioritize modularity and expandability, as my "final" project is not the actual final version.
- Support for five A4988 motor drivers mounted via pin headers
- XH2.54-4 connectors for stepper motor wiring
- Pin headers for endstops
- Pin headers for Raspberry Pi Pico
- Additional pins for:
- Future input device testing
- Expanding with more motor drivers later
F. Project manegement
Please click "See the board"
2. Files
- WIP Fusion file in the middle of this page
Afterthoughts
- "I'm afraid of time"