CNC3040DQ 🚧

chips everywhere

Hardware

looks like

Spindle

  • Moteur à broche 200w Moteur à courant continu
  • Vitesse de rotation 0 ~ 8000 tr / min (contrôle de vitesse en continu PWM)
  • mandrin ER11
  • Collet 1..7mm par pas de 0.5mm
  • End Mill 2-Flute fish (downcut)

QtDragon

QtDragon is build upon the QtVCP framework which allows to easy customisation. It displays a .ui file built with Qt Designer screen editor and combines this with Python programming to create a GUI screen for running a CNC machine.

QtVCP is completely customizable: you can add different buttons and status LEDs etc., or add Python code for even finer grain customization.

screenshot

Start procedure

  1. [ESTOP SET] (F1) -> [ESTOP REST]
  2. [MACHINE OFF] (F2) -> [MACHINE ON]

Then machine can be controlled.

Notes -additional keys are recognised:

  • F12 - Style Editor
  • Home - Home All Joint of the Machine
  • Escape - Abort Movement
  • Pause - Pause Machine Movement

see also

Computer-Aided Manufacturing (CAM)

2.5D work

3D Work

  • PyCam - is a toolpath generator for 3-axis CNC machining. It loads 3D models in STL format or 2D contour models from DXF or SVG files. The resulting G-Code can be used with LinuxCNC or any other machine controller.
  • CAELinux
  • CAMotics - Open-Source Simulation & Computer Aided Machining

  • MeshCAM
  • FreeMill
  • CamBam

Fraises

Linux CNC config / github

  • - Create a LinuxCNC Configuration
    • - manual check each axis
    • - hook jogdial to this config
    • - Understand Homing - [x] - Identify Limits switch
      • - Repair broken limits
    • - review motor speed / feedrate?
  • - Control spindle
  • - define a tool
  • - cut something

Your config folder should look like this:

~/linuxcnc/configs/cnc3040dq/
├── cnc3040dq.ini
├── cnc3040dq.hal
├── custom.hal
└── other support files (icons, tool tables, etc.)

Parallel port configuration 🚧

Default setup produced by XYZ is okhish, and allows to validate that each axis is addressable, but orientation or affectation may need to be tune.

LPT1 Parallel Port DB25 Connector TBD

Pin Signal Function
1 X Step Pulse for X axis
2 X Direction Dir for X axis
3 Y Step Pulse for Y axis
4 Y Direction Dir for Y axis
5 Z Step Pulse for Z axis
6 Z Direction Dir for Z axis
7 A Step (if used)  
8 A Direction  
10 Limit/Home X Input
11 Limit/Home Y Input
12 Limit/Home Z Input
13 E-Stop Input
14 Spindle On Output
16 Spindle CW/CCW  
17 Enable Output
18-25 Ground  

Homing & Limits switch

Each axis has it’s own home switch. The home switch also acts as a minimum limit when home isn’t being used. 3 input pins are used. Active low.

Maximum travel limits are combined on all axes in a serial conection. Active low. Only 1 pin is used on the par. port.

see also

Finding endswitch pin

Using halmeter in LinuxCNC. In halmeter, observe the signals named:

  • parport.0.pin-10-in
  • parport.0.pin-11-in
  • parport.0.pin-12-in
  • parport.0.pin-13-in
  • parport.0.pin-15-in

Manually trigger the end switches one by one. See which of those pins change value (from TRUE to FALSE or vice versa) — that’s your switch input!

see also

Written on October 24, 2020, Last update on May 16, 2025
cnc wood in-progress