This commit is contained in:
cpu
2025-12-15 21:26:45 +01:00
commit 2098375605
15 changed files with 178884 additions and 0 deletions

174
Readme.md Normal file
View File

@@ -0,0 +1,174 @@
# 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**.
![CNC 3040L Linear Rail Frame Assembly](images/CNC_3040L_Frame.png)
### 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.
![Spindle, VFD, and Submersible Pump Kit](images/Spindle_VFD_Pump.png)
### 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 V4.7 to DM542 Drivers](images/PiBot_to_DM542_wiring.png)
| 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) |
| :---: | :---: |
| ![TRVVP Cable Section](images/TRVVP_cable.png) | ![RVVP Cable Section](images/RVVP_cable.png) |
---
## 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).*