Overview


Table Of Content


Version 1.0

Motivation

The idea of a mini plotter originated from the desire to create a low-cost CNC development kit for students under 18. We would provide them with materials so they can assemble and learn alongside us in a workshop. This workshop will encompass 3D printing and assembling the CNC machine itself. The goal is for students to gain a comprehensive understanding of CNC machining, digital fabrication, 3D printing, electronics, and CNC operation through this hands-on learning experience. That's the concept we proposed.

Constraints

Building the machine had only one constraint: keeping the cost under 1500 rupees (approximately $20), including all parts. The idea was excellent considering the current economy. However, we had to ensure it was practical as well. While aesthetics were somewhat important, the main focus remained on functionality.

Proposal

The proposal was simple: make a machine with a base milled from plywood. The rest would be 3D-printed parts for the X and Y axes. It would use 5V Unipolar 28BYJ-48 stepper motors and small MG90S Mini Digital Servo Motors. Linear rods would be used for the gantry with 3D-printed linear bearings. For the driving mechanism, I was considering using threads with a reference to the mechanism by Quentin Bolsee's Urumbu Pla axis. With everything planned out, I was ready to proceed.

Mechanism

For the X and Y axes, the machine is using a CoreXY mechanism. CoreXY offers the possibility of a motorless, lightweight gantry similar to H-bot. CoreXY itself is stable because of the system's inherent force balancing. The gantry balances itself if it's properly tightened in position. Nowadays, most fast-moving gantries utilize CoreXY. Being an open-source kinematics system, a lot of data is available about it.

Untitled

The Z-axis of the machine will be actuated with a servo motor using a linear actuation mechanism like a rack and pinion. This mechanism, which can be 3D-printed, is a standard Cartesian coordinate axis.

Components

Motor:

Untitled

Linear Rods:

Servo Motor:

Bearings:

Design and Testing

The design started with a concept sketch from Jogin, showing me a path for designing things. He introduced me to a method for designing the plotter. The design was simple: use linear rods as guides and 3D-printed linear bearings. All other parts were also 3D-printed. With that in mind, I started the design process. Jogin showed me a reference sketch for what I was building.

The first thing I did was import the components we had for this project. Then, when it came to designing, I started by making the layout of the mechanism first. I always have a workflow of creating sketches of the kinematics and everything to get an overview of the entire system.

Untitled

With that, I continued designing the linear bearings. Since the material quality was low, I opted for an adjustable type with screws. This allowed me to adjust the tightness of the bearings, acting as a control mechanism to compensate for the material's uncertainty. In essence, my approach to achieving precision wasn't necessarily to increase it directly, but rather to reduce the machine's play caused by machining tolerances.

Untitled

The X gantry also used the same type of linear bearings and mechanism. The idea of control really influenced my design approach, making it simpler. I added the proper guides for the CoreXY threads and the thread tensioners (not 'tightners'). Thread tensioners are simply a series of screw holes in a line, but they're effective in the end.

Untitled

For the Z gantry, I decided to have some fun. It's a simple rack and pinion mechanism, but I wanted to utilize the full range of motion of the servo. Just for the challenge, I tilted the X-axis by 45 degrees. While it doesn't serve a specific functional purpose, it was a fun design decision. Ultimately, I found the optimal thickness for the rack, and the design was complete.

Untitled

The motor and connecting pulleys were a whole new challenge. We didn't initially know the torque the motor offered to calculate the pulley diameter. Small pulleys were unsuitable because they made the machine run slow. Therefore, we needed a larger pulley to achieve a faster motor speed. However, testing was necessary to know the exact speed requirement. With this in mind, I designed a test gantry to determine the optimal machine speeds, ultimately leading to the final pulley diameter selection.

Untitled

With the pulley diameter determined and the motors in hand, I designed the motor pulleys. However, the motor shaft had a 0.5mm up-and-down play, requiring a solution to fix it. To address this issue, I designed an arresting mechanism to secure both the motor pulleys and the tensioner pulley on the side of the machine.

Untitled

With all the components designed, it was time to assemble them virtually in Fusion 360. This involved arranging everything in the design and adding the necessary motion links. Finally, I generated the final design output.

https://a360.co/3u1qVU2

BOM

Sl no Name Description quantity Price
1 Linear Rod 8 mm dia 500 mm length 4 ₹ 288
2 28BYJ-48 Stepper Motor 5V Unipolar 2 ₹ 75
3 TowerPro MG90S Servo Motor 180° Rotation 1 ₹ 235
4 Ball Bearing 624ZZ 8 ₹ 18
5 Ball Bearing 625ZZ 8 ₹ 18
6 m6 nut and Bolt 25 mm 10
7 m4 nut & bolt 25 mm 6
8 m3 nut & bolt 10 mm

Making

The manufacturing process began with 3D printing all the parts. Once printed, I focused on fitting them together. Since the parts had varying purposes, I meticulously checked their fit. Fortunately, my experience came in handy as I'd designed them for perfect compatibility—the next step involved securing the bearings into the 3D-printed parts and creating the pulley.

Untitled

The next step in manufacturing involved milling the machine's base. I used an 18mm thick piece of plywood, and with a Zund digital cutter, I milled the desired profiles out of it. The Zund cutter's versatility was crucial, as the base required numerous holes for motors and linear rods. Its Automatic Tool Changer (ATC) allowed me to utilize different cutting tools efficiently. The milling process included various operations, such as routing and island filling. Finally, with the base complete, I began assembling the gantry.

zund.jpg

I began assembling the machine. First, I mounted the Y gantry onto the linear rod and tightened the screws to secure the 3D-printed linear bearings in place. After assembling both sides of the Y gantry, I adjusted the grub screws on the linear bearings to achieve a smooth and nearly-precise gantry.f

Untitled

With the Y gantry secured, it was time to fix it to the base. To achieve this, I used 3D-printed fixtures for the linear rods, effectively attaching the rods to the machine. This completed the installation of a linear axis on the machine, providing a solid foundation for further assembly

Untitled

The next step involved connecting the X-axis linear rods to the Y-axis gantry. Once the X-axis gantry was mounted, this essentially created the XY axis. The beauty lies in the simplicity of the concept, but proper execution is key. By tightening the grub screws to the correct level, the gantry becomes movable as intended.

Untitled

Now came the assembly of the Z-axis. This involved integrating the servo motor, linear rail, gears, and their 3D-printed guides. The X-axis I previously assembled sits on the X-gantry and is actuated by a servo motor. I particularly like the smooth operation it achieves even at a 45-degree angle.

Untitled

Now came the most challenging and final step: threading the machine. As you can see, this CoreXY design utilizes threads. These threads are a crucial component, and due to the CoreXY mechanism, they crisscross the machine in a complex pattern, resembling a puzzle. Proper tensioning of these threads is essential to optimize the machine's performance. Finally, with the threading complete, the machine was ready for operation.

Untitled

With that, the machine's assembly was complete and ready for initial testing. I conducted a test run to assess its functionality. This initial run will serve as a valuable benchmark for future refinements.

Untitled

Final

Untitled

Untitled

Roadmap

Coming Updates:

Version 2.0

Motivation

Constraints

Proposal

Mechanism

Components

Design

BOM

Making

Testing

Final

Roadmap

- Upcoming features, Bug Fixing