174 lines
7.4 KiB
Markdown
174 lines
7.4 KiB
Markdown
# The "Holy Grail" 3040L CNC (PCB Specialist)
|
||
|
||
**Project Goal:** A high-precision, desktop CNC machine optimized for PCB manufacturing (0.8mm drilling, isolation routing) and light aluminum work.
|
||
**Architecture:** Raspberry Pi (gSender) via WiFi → **PiBot FluidNC Controller** → External Drivers → Industrial Mechanics.
|
||
|
||
---
|
||
|
||
## 1. Bill of Materials (BOM)
|
||
|
||
### Mechanical Base
|
||
* **Frame Kit:** CNC 3040L (6061/6063 Hard aluminum alloy).
|
||
* **Table material:** 320 * 520mm (20mm aluminum alloy T table).
|
||
* **Engraving area:** 260*380*110mm
|
||
* **Z-Axis Stroke:** 110mm
|
||
* **Drive System:** 1605 Ball Screws (16mm, 5mm pitch) and HG20 Square Linear Rails on all axes.
|
||
* **Coupling:** 3x **Plum couplings**.
|
||
|
||

|
||
|
||
### Spindle & VFD
|
||
* **Spindle:** 1.5kW, 220V, 5A, 24,000 RPM (400Hz) Water-Cooled Spindle (Diameter 80mm).
|
||
* **VFD:** Huanyang HY01D523B (1.5kW, 220V).
|
||
* **Collet System:** **ER11** (Upgrade to AAA-Precision collets recommended for PCB work).
|
||
* **Water pump:** 80W, 6M lift with 8mm OD / 6mm ID piping.
|
||
|
||

|
||
|
||
### Control Electronics
|
||
* **Controller:** [PiBot FluidNC GRBL Laser CNC Controller V4.7](https://www.pibot.com/pibot-fluidnc-grbl-cnc-controller-v4-7).
|
||
* *More info:* [wiki.fluidnc.com](http://wiki.fluidnc.com/en/hardware/existing_hardware#pibot-fluidnc-grbl-cnc-controller-v47)
|
||
* *Schematics/PCB:* [oshwlab.com](https://oshwlab.com/pi3d14/pibot-fluidnc-grbl-cnc-controller-v4-7a)
|
||
* **Stepper Drivers:** 3x **DM542** (Digital External Drivers).
|
||
* **Motors:** 3x **NEMA 23** 57BYGH76 Stepper Motors (3.0A, ~1.5Nm+ torque).
|
||
* **Limit Sensors:** 3x **LJ12A3-4-Z/BX** (Inductive NPN NO).
|
||
* *Note: The PiBot V4.7 features built-in 0-10V analog output and opto-isolated inputs, eliminating the need for separate converter modules and isolation boards.*
|
||
|
||
### Power System (Dual PSU)
|
||
* **Motion Power:** Mean Well **LRS-350-24** (24V, 350W) for Drivers.
|
||
* **Logic Power:** Mean Well **MDR-20-24** (24V, 20W DIN Rail) for PiBot Board & Sensors.
|
||
|
||
### Safety & Control Box
|
||
* **Main Switch:** Big Rotary Isolator (Cuts L & N).
|
||
* **EMI Filter:** 250V 10A + IEC C19 Socket + T10A Fuse.
|
||
* **Main Contactor:** 4-Pole AC Contactor (24V DC Coil).
|
||
* **VFD Breaker:** Jotta **C10** (2-Pole DIN Rail MCB).
|
||
* **Buttons:** Green (Start NO), Red (Stop NC), E-Stop (Mushroom NC).
|
||
### Cooling & Accessories
|
||
* **Coolant:** Distilled Water (80%) + Automotive Antifreeze G11/G12 (20%).
|
||
* **Flow Sensor:** **HT-30** (G1/2") wired to VFD "External Fault".
|
||
* **Probe:** **GX12-2** Connector + Touch Plate.
|
||
* **Laser (Optional):**
|
||
* **405nm (500mW):** For curing Solder Mask / Dry Film Photoresist.
|
||
* **Buck Converter:** 24V to 12V (if laser is 12V).
|
||
|
||
---
|
||
|
||
## 2. Wiring Schematics
|
||
|
||
### A. Power Flow (Input)
|
||
1. **Wall (230V)** → **IEC Filter** → **Main Rotary Switch**.
|
||
2. **Rotary Switch** → **Small 20W PSU** (Logic Power).
|
||
3. **Small PSU (24V)** → **Start/Stop Buttons** → **Contactor Coil**.
|
||
4. **Contactor (Power Contacts)** → **Big 350W PSU** & **VFD Breaker**.
|
||
5. **VFD Breaker** → **VFD Input**.
|
||
|
||
### B. PiBot V4.7 to DM542 Drivers
|
||
The PiBot V4.7 uses 5V logic shifting for axis signals. The following diagram illustrates the **Common Ground (GND)** wiring logic used in this build.
|
||
|
||

|
||
|
||
| PiBot Axis Header | Wire Color | DM542 Input | Function |
|
||
| :--- | :--- | :--- | :--- |
|
||
| **STP** | **Green** | **PUL+** | Step Signal |
|
||
| **DIR** | **Blue** | **DIR+** | Direction Signal |
|
||
| **EN** | **White** | **ENA+** | Enable Signal (Optional) |
|
||
| **GND** | **Black** | **PUL- / DIR- / ENA-** | Common Ground |
|
||
|
||
### C. DM542 DIP Switches
|
||
*Settings optimized for **NEMA 23** and **High Precision PCB Work (1/16 Microstepping)**.*
|
||
|
||
**1. Current Settings (SW1 - SW3):** Target **2.84A Peak**.
|
||
* **SW1: ON, SW2: ON, SW3: OFF** (Recommended Start).
|
||
|
||
**2. Idle Current (SW4):**
|
||
* **SW4: OFF** (Half Current - reduces heat when the machine is idle).
|
||
|
||
**3. Microstepping (SW5 - SW8):** Target **3200 Pulse/Rev**.
|
||
* **SW5: ON, SW6: ON, SW7: OFF, SW8: ON** (Result: **640 Steps/mm** with 1605 screw).
|
||
|
||
### D. Spindle Control (0-10V Direct)
|
||
The PiBot V4.7 includes an integrated 0-10V circuit.
|
||
|
||
**Signal Connection:**
|
||
* Locate the **10V Spindle Interface** terminal on the PiBot.
|
||
|
||
| PiBot Output | VFD Terminal | Function |
|
||
| :--- | :--- | :--- |
|
||
| **0-10V** | **VI** | Analog Voltage Control |
|
||
| **GND** | **ACM** | Analog Common |
|
||
| **Spindle Fwd** | **FOR** | Forward Signal |
|
||
| **Spindle Rev** | **REV** | Reverse Signal |
|
||
| **Common** | **DCM** | Digital Common |
|
||
|
||
### E. Probe (GX12)
|
||
* **Pin 1 (GND):** Alligator Clip.
|
||
* **Pin 2 (Signal):** Touch Plate (Connect to PiBot Probe Input).
|
||
* *Safety:* Confirm continuity from spindle bit to ground before probing.
|
||
|
||
---
|
||
|
||
## 3. Cables & Connectors
|
||
|
||
Proper shielding is critical to prevent EMI from the VFD from interfering with the limit sensors or stepper signals.
|
||
|
||
* **Spindle:** **GX20-4** (Double shielded **TRVVP 4x1.5mm²**). *Note: High-flex, oil-resistant for drag chains.*
|
||
* **Motors:** **GX16-4** (Double shielded **RVVP 4x0.5mm²**).
|
||
* **Sensors/E-Stop:** **GX12-3/GX12-2** (Shielded **RVVP 0.3mm²**).
|
||
|
||
| TRVVP (High-Flex Drag Chain) | RVVP (Standard Shielded) |
|
||
| :---: | :---: |
|
||
|  |  |
|
||
|
||
---
|
||
|
||
## 4. FluidNC Installation & Configuration
|
||
|
||
1. Download the latest release from [FluidNC GitHub](https://github.com/bdring/FluidNC/releases/latest).
|
||
2. Unzip and run:
|
||
```bash
|
||
./erase.sh
|
||
./install-fs.sh
|
||
./install-wifi.sh
|
||
```
|
||
3. Use `fluidterm.sh` to set your WiFi:
|
||
```
|
||
$STA/SSID=MyWifiSSID
|
||
$Sta/Password=YourPassword
|
||
```
|
||
4. **Configuration:** Upload your `config.yaml` using the Web UI (usually at `192.168.1.xxx` or via `CTRL+U` in terminal).
|
||
* *Note:* Ensure the Pin mapping in `config.yaml` matches the PiBot V4.7 PCB silkscreen (e.g., Step pins, Dir pins, and the 0-10V pin).
|
||
|
||
---
|
||
|
||
## 5. First Run Checklist
|
||
|
||
1. **Unlock:** Send `$X` to clear `<Alarm>`.
|
||
2. **Sensors:** Trigger limit switches manually; verify `Pn:X/Y/Z` in console.
|
||
3. **Spindle VFD:**
|
||
* Program VFD parameters (see Section 7).
|
||
* Check Water Flow
|
||
* Test `M3 S12000` for 50% speed (200Hz).
|
||
4. **Probe:** Test contact with a multimeter/console before performing a Z-zero.
|
||
|
||
---
|
||
|
||
## 6. Complete VFD Settings List (Huanyang HY01D523B)
|
||
For **1.5kW, 220V, 400Hz** spindle:
|
||
|
||
| Parameter | Description | Setting | Notes |
|
||
| :--- | :--- | :--- | :--- |
|
||
| **PD013** | Factory Reset | **8** | Clear old data first. |
|
||
| **PD005** | Max Freq | **400.0** | |
|
||
| **PD004** | Base Freq | **400.0** | **CRITICAL:** Do not leave at 50/60. |
|
||
| **PD003** | Main Freq | **400.0** | |
|
||
| **PD141** | Rated Voltage | **220** | |
|
||
| **PD142** | Rated Current | **5** | |
|
||
| **PD143** | Motor Poles | **2** | High-speed CNC spindles are 2-pole. |
|
||
| **PD144** | Rated Motor Revolution | **3000** | As calculated above (3000 @ 50Hz). |
|
||
| **PD002** | Freq Source | **1** | External Terminal (0-10V). |
|
||
| **PD001** | Commands Source | **1** | External Terminal (FOR/REV). |
|
||
| **PD070** | Analog Input | **0** | **0-10V** (Standard for PiBot). |
|
||
| **PD072** | High Analog Freq | **400.0** | Scales the knob so "Max" = 400Hz. |
|
||
|
||
*For advanced spindle control, see [FluidNC Spindle Config Documentation](http://wiki.fluidnc.com/en/config/config_spindles).* |