Pen Plotter
A machine that draws an user defined image using a pen.
info
Author: Andrei Stan
GitHub Project Link: https://github.com/UPB-PMRust-Students/proiect-andreistan26
Description
A pen plotter is similar to any 2.5-3 axis machine like a CNC or a 3D printer, it works by moving a pen in cartesian coordiantes in order draw something on a piece of paper.
Motivation
I thought this would be a challenging, yet fun project that requires different skills to pull of, it has software, electrical and mechanical complexities. It would also make me do more CAD work.
Architecture
Log
Week 20 - 27 April
- started making the CAD and looking for online resources
- started to order the mechanical components and 3D printed some prototypes
- tested the electronic components like the power supply, voltage regulator and stepper motors
Week 28 - 4 May
- tested the 3D printed parts and iterated on them
- finished the documentation
Week 5 - 11 May
Week 12 - 18 May
Week 19 - 25 May
Hardware
-
Mechanical:
- Steel 8mm rods
- GT2 Timing belt
- Tooth timing pulleys and idler pulleys
- 3D printed parts
-
Electronics:
- AC-DC Power Supply 12v 10A
- DC-DC Voltage regulator 12v-5v
- SG90 Servo Motor
- 2 x Nema-17 Stepper motor
- 2 x DRV8825 Stepper Motor Driver
- R-PI Pico 2
- LCD Display
- Other small components (capacitors, etc.)
Schematics
Bill of Materials
Device | Usage | Price/Unit |
---|---|---|
Raspberry Pi Pico 2W | Microcontroller | 39.66 |
2 x DRV8825 Stepper Motor Driver | Driver for the stepper motor | 14.49 |
2 x Stepper Motor 17HS8401S | Stepper motor driving each axis linear system | 34.99 |
LM2596 Voltage Regulator | Converting the ouput of the power supply (12V) to 5V | 16.49 |
TFT-LCD Display 1.44" | LCD Display for displaying information about the plotter | 29.99 |
SG90 Servo | Servo that lifts the pen on the Z axis | 11.99 |
Power Supply 12V 10A | Power supply for the porject | 41.6 |
8 x Linear Bearing 8mm | Linear bearings for sliding the gantry | 4.07 |
2 x GT2 Timing Belt | Belt for moving the gantry | 3.96 |
2 x Tooth timing pulley | Transmits power from the motor shaft to the belt | 4.50 |
2 x Smooth pulley | Guides the timing belt and keeps tension on the timing belt | 9.32 |
1.5 x 8mm Steel Rod | The gantry will slide on it | 49.00 |
Software
Library | Description | Usage |
---|---|---|
embassy-* | Async framework for embedded systems in Rust | Framework used for the whole system including rp235x specific drivers |
mipidsi | Display driver for ST7735 | Used for the display for the Pico Explorer Base |
embedded-graphics | 2D graphics library | Used for drawing to the display |
defmt | Deffered logging | Logging for the plotter during testing |
heapless | Static allocated containers | Allocate data structures for holding text |