11. Open Source Hardware - From Fibers to Fabric¶
Research & Ideation¶
For this project, we decided to redesign a CNC from the Lab with the goal of creating figures from polypropylene sheets, a material ideal for the production of Soft Robots. The main challenge was to create a CNC machine with recycled components, as the electronic, mechanical, and structural parts of other machines or equipment that are no longer in use may be damaged or have faults during the assembly process. Fortunately, at FABLAB Puebla, there are many machines available that we can use for these types of activities.
We worked with a 3-axis CNC machine because it offers several advantages that make it ideal for a wide variety of applications in digital fabrication. For example:
-
The ability to adapt tools and work with different types of adapters makes the 3-axis CNC machine easily integrable with other systems and technologies. This can include temperature or precision control systems.
-
Although it has only three axes (X, Y, Z), a 3-axis CNC machine is quite versatile for a variety of tasks such as cutting, milling, drilling, and engraving. Being relatively simple compared to multi-axis machines, it can handle many fabrication tasks without being overly complex.
WorkFlow¶
We used a machine currently in operation as a reference, as it has all the necessary components. To help us identify and understand these parts, we researched axis systems (Y, X, and Z) and consulted various online resources. One of the most helpful was the article from Programación CNC.
Y-Axis: Components and Functionality¶
This part of the machine includes two calibrated rods with a diameter of 10 mm, along which four linear blocks slide (two per rod). These blocks ensure smooth and precise movement of the Y-axis. The main plate is attached to these four blocks, forming a compact system. Additionally, the assembly includes a central block that houses a nut with an anti-backlash system designed to minimize axial play caused by the clearance between the screw and the nut threads.
The Y-axis movement is transmitted by the motor, which drives the threaded rod through a coupling that connects the motor shaft to the rod. Sliding blocks, acting as linear bearings, facilitate the smooth movement of the bed along the calibrated rods.
We manually checked that the leadscrew and other components were straight and free from dents or deformations, as any irregularity could compromise their proper functioning. For this axis, we added a motor salvaged from another machine. However, it is essential to test its performance before installation. This can be done by connecting it to the control board and driver, following the steps outlined in the subsequent sections.
X-Axis: Components and Functionality¶
The X-axis bridge consists of two chrome-plated rods, two plates for their support, a motor, and black metal profiles that form the main structure. The anti-backlash nut is also integrated into the body responsible for moving the Z-axis. Linear ball bearings, as in the Y-axis, enable smooth and precise movement and are attached to the body that supports the Z-axis.
We also conducted a detailed inspection of the components in this axis to ensure their proper condition and functionality. Additionally, we installed the necessary spacers to complete and optimize the machine's setup.
Z-Axis: Components and Functionality¶
The Z-axis assembly includes a body that moves along the X-axis. This body contains the anti-backlash nut, as in the other axes, ensuring controlled motion. Linear elements like bearings and guides work together to deliver precision during operations.
We conducted another inspection of the components. However, this time we faced significant challenges because we couldn’t find a functioning motor that was compatible.
Electronics¶
The GRBL 1.1 Cronos Maker control board is designed for CNC applications such as routers or laser engravers. Its key features include:
- Support for dual Y-axis: Ideal for CNC machines requiring greater stability on this axis.
- Compatibility with 2-phase, 4-wire stepper motors.
- Laser support up to 10W with a 12V TTL or PWM connection, as well as spindle motors up to 300W (with external power supply).
- Runs on GRBL 1.1 firmware, widely used for CNC control, allowing connection with popular control software like Universal Gcode Sender.
- Includes A4988 drivers and support for limit switches on the X, Y, and Z axes, along with a Z-axis probe.
We found an image online that explains the components of the board in detail.
To use the GRBL 1.1 Cronos Maker control board in a used condition, it’s important to carry out a thorough inspection to ensure it is in good working order and functional.
-
Physical Condition Connections and Pins: Check that terminals and pins are not bent, broken, or corroded. Solder Joints: Inspect the soldering to ensure there are no weak spots, cracks, or loose components. Capacitors and Resistors: Verify that there are no burnt or damaged components, such as swollen capacitors or discolored resistors.
-
Specific Components Drivers (A4988): Confirm that the drivers are intact, functional, and show no signs of overheating. If possible, test each with a stepper motor before installing the board. TTL or PWM Connections: Inspect the connector for the laser or spindle and ensure there are no visible signs of damage. USB Connection: Verify that the USB port is in good condition and can establish a connection with a computer.
-
Functional Tests GRBL Firmware: Connect the board to a computer and verify that it is properly recognized. Use software like Universal Gcode Sender to check for smooth communication. Inputs and Outputs: Test the connectors for motors, limit switches, and the Z-axis probe if possible. Power Supply: Ensure it can receive power correctly (typically 12V).
Structural & electronic components¶
Strctural Component | Number of pieces | Electronic component | Number of pieces |
---|---|---|---|
Aluminum profiles | 4 | CNC Controller Board 3Axis (GRBL Cronos Maker) | 1 |
Back base aluminum | 1 | Driver A4988 to CNC | 3 |
Front base aluminum | 1 | Stepper Motor cable | 3 |
Sides base aluminum | 2 | USB cable A-B | 1 |
Tool holder | 1 | Power cable | 1 |
Fixturing table | 1 | ||
Acme screw spindle | 3 | ||
Stepper motor + spindle | 3 | ||
flexible coupling nema 5*8 mm | 3 | ||
Sc8uu linear bearing | 4 | ||
8 mm chrome rod guide | 4 | ||
Allen screws M4 or M5 | 32 |
Aspects to consider for the power cable
Voltage: 12V or 24V DC (depending on the board version and motors).
Current: At least 5A for 12V, 10A or more if using 24V.
Cable: An 18 AWG to 16 AWG cable is suitable for most applications.
Connectors: Connectors compatible with the board's power input (2.1mm for 12V, 5.5mm for 24V).
Universal Gcode Sender (UGS)¶
Universal Gcode Sender (UGS) is an open-source software used to control CNC machines that work with controllers like GRBL, TinyG, and others. It is designed to send and control G-code files in real-time, allowing users to perform machining tasks with high precision. UGS is compatible with Windows, Mac, and Linux operating systems, and it is highly popular among both hobbyists and professionals due to its accessibility and ease of use.
Features | Advantages of Using UGS |
---|---|
Compatibility with multiple CNC controllers: Works with controllers like GRBL, TinyG, Smoothie, among others | Easy to use: Its graphical interface is intuitive, making it accessible for both beginners and advanced users. |
User-friendly graphical interface: An intuitive interface that makes it easy to interact with the CNC machine. | Open-source and free: UGS is free to use and open-source, allowing you to modify it to suit your needs. |
Real-time control: Allows for axis movement, speed adjustments, and monitoring of the machine's progress during G-code execution. | Precise, real-time control: It allows you to monitor and control the CNC machine while it is working, making adjustments as necessary. |
Load and edit G-code: Ability to load, edit, and send G-code programs. | Wide compatibility: Supports a variety of CNC controllers, making it a versatile option. |
Toolpath visualization: Previews the tool’s path before executing the job. | Pre-simulation: You can simulate the toolpath before running it, helping to avoid mistakes and damage. |
Cross-platform: Works on Windows, Mac, and Linux. | Frequent updates: As an open-source project, UGS receives continuous improvements from the community. |
Support for various G-code file types: Handles multiple formats and control codes. | Active support community: There is a large community of users and developers who contribute enhancements and offer support. |
Custom macros: Ability to create and use macros to automate repetitive tasks. |
G Code¶
G-code is generated from CAD/CAM software, which creates a path for the CNC machine to follow based on the 3D model of the part being produced. The G-code can be manually written or modified, depending on the complexity of the project and the requirements of the machine.
G90G21
G00 X52.58 Y15.02 Z0.00
G1 X0 Y0 F3500
G1 X500 Y0
G1 X500 Y500
G1 X0 Y500
G1 X0 Y0
G00 Z5.00
Code Line | Description |
---|---|
G90G21 | Sets the machine to absolute positioning mode (G90) and sets units to millimeters (G21). |
G00 X52.58 Y15.02 Z0.00 | Rapid movement to the position (52.58, 15.02, 0.00) without cutting. |
G1 X0 Y0 F3500 | Linear movement to position (0, 0) at a feed rate of 3500 mm/min. |
G1 X500 Y0 | Linear movement to position (500, 0) in a straight line. |
G1 X500 Y500 | Linear movement to position (500, 500) in a straight line. |
G1 X0 Y500 | Linear movement to position (0, 500) in a straight line. |
G1 X0 Y0 | Linear movement back to position (0, 0) to complete the square path. |
G00 Z5.00 | Rapid movement of the tool to 5 mm above the work surface. |
First TEST¶
How to seal foil balloons¶
The principle of heat sealing balloons is based on the application of heat to melt and effectively bond the surfaces of plastic materials, creating an airtight seal. This process is widely used in the manufacturing of balloons, packaging, and other plastic products, as it allows for a quick and durable bond between parts without the need for additional adhesives.
In the design of our CNC machine, we have adapted this principle to improve the precision and control of the sealing process. Instead of applying heat in a generalized manner, we have integrated a soldering iron, a high-precision tool, which allows heat to be applied in a localized way.
Next steps:¶
In this initial stage, we identified the components that can be reused for a CNC machine and learned how to inspect these elements. Moving forward, the next steps involve creating a hack to build an adapter for our soldering iron and developing a more complex G-code.