CNC3020T: EMC2 configuration and hidden features
Tags:CNC3020T only comes with a configuration for Mach3, a Windows CNC controller software I’m not really interested in. Additionally, for some weird reason, its control block requires you to adjust spindle speed manually with a potentiometer.
Fortunately, all of that can be fixed; moreover, the control block is much more powerful than it seems.
The stepper board looks like this:
The connectors J7
, J8
, J9
correspond to axes X, Y, Z in that order.
IC part numbers and their functions:
Component | Part # | Function |
---|---|---|
U5 | AP1501 | buck converter |
U6-U8 | TB6560AHQ | stepping motor driver |
U10, U11, U13 | 74HC140 | hex inverting Schmitt trigger |
U16-U21 | 6N137 | optocoupler |
U25, U29-U32 | EL817 | optocoupler |
black box below | B0505LS | isolating DC-DC converter |
As it can be seen, the board features quite a bit of unused functionality—it has unpopulated connectors for limit switches and spindle PWM, direction and cooling pump control. (I’ve soldered pinheads to them already.)
I didn’t trace the board completely, but it is built out of identical blocks.
I’ve drawn its input and output circuits (GNDIO
and VCCIO
are provided by the
isolating DC-DC converter):
I’ve also mapped board functions to LPT pins:
Pin # | Direction | Function |
---|---|---|
2 | OUT | X Step |
3 | OUT | X Direction |
4 | OUT | Y Step |
5 | OUT | Y Direction |
6 | OUT | Z Step |
7 | OUT | Z Direction |
8 | OUT | Coolant Pump |
9 | OUT | Spindle Direction |
10 | IN | Z Limit |
11 | IN | Y Limit |
12 | IN | X Limit |
13 | IN | ESTOP |
15 | IN | Probe |
17 | OUT | Spindle PWM |
(“Coolant Pump” is marked on board as CP+
/CP−
, “Spindle Direction”
is DIR+
/DIR−
.)
Miscellaneous machine parameters, gleaned from the attached “documentation” (a set of Mach3 screenshots in very poor resolution black&white):
Parameter | Value |
---|---|
Step Time/Space | 3000 ns |
Direction Setup/Hold | 1000 ns |
Steps per revolution | 400 |
Driver microstepping | 2 |
Leadscrew pitch | 2 mm/rev |
Max. velocity X/Y | 33.3 mm/s |
Max. acceleration X/Y | 200 mm/s² |
Max. velocity Z | 11.7 mm/s |
Max. acceleration Z | 100 mm/s² |
Table travel X | 0..200 mm |
Table travel Y | 0..300 mm |
Table travel Z | −50..0mm |
All these parameters can be found in 3020T.stepconf, the source file for EMC2’s configuration wizard.
Now the funny thing is, the stepper control board has a PWM output, and the spindle control board has a PWM input:
Pin 1 (rectangular) is positive, pin 2 is negative.
It would seem that obtaining software spindle speed control is as simple
as switching the SW1
switch to position 2 (jumper adjacent to PWM
)
and connecting the boards with a pair of wires. And it totally works!
I have no idea why didn’t they provide it out of the box.