Anyone using the DDCSV3.1 Controller? This question is for you.
One of the remaining issues I have been struggling with is the discrepancy between the actual distance travelled (X or Y, it does not matter) and the coordinated displayed on the controller screen. For example, if I zero the coordinates in the home position and manually jog the gantry to the end of the Y-axis travel, the actual distance travelled is approximately 30 inches or 762 mm. However, the display indicates that the gantry has travelled 250 mm or about 10 inches.
It should be noted that the information available on-line indicates that parameter #115 is available to switch between imperial and metric units. However, this is not the case with my controller. Parameter #115 does not exist, and I can only work in metric units.
I checked the firmware version installed on my controller and noted that it was version 2018-08-13-99. I decided to upgrade the firmware to a newer version, 2020-03-06-112. The upgrade process was straightforward and posed no problems. You must start with a clean flash drive and decompress the ‘install’ files onto the flash drive. You then insert the flash drive into the controller and power the unit up. The upgrade process is automatic.
There are additional parameters that can be set to synchronize the actual travel with pulses received from the controller. These are Motor Parameters #34, #35, #36 and #38. The values for these parameters are the pulse equivalency for the X, Y, Z, and A axes, respectively. The units for pulse equivalency are given as pulses/mm and the range is 50 to 99999.000.
To calculate pulse equivalency, we start with the stepper motor spec sheet and determine that the motors have a step angle of 1.8o or 200 steps per revolution (360/1.8=200). So, each pulse will move the stepper motor one step. But we are using DM542T stepper motor drivers which have micro stepping capability. Using a micro stepping factor of 8 (8 micro steps for each pulse) we get 1600 pulses per revolution.
Next, we must convert the steps per revolution to linear distance traveled. The CNC router incorporates a timing belt drive which is the mechanical equivalent to a rack and pinion system. Our timing belt is a GT3 with a 3 mm (about 0.12 in) pitch and we are using a 20-tooth pinion gear attached directly to the motor.
To determine the number of pulses required per mm of distance travelled, we use the following formula:
PPU = (S x f) / (P x N)
Where:
PPU = pulses per unit of travel (mm)
S = Steps per revolution
f = micro stepping factor
P = belt pitch (mm)
N = No. of teeth on pinion gear
This results in a value of 26.67 pulses per mm of travel. This is the value that should also be represented on the controller display screen. Here is where we run into problems. The parameter entry page only allows us to enter values between 50.000 and 99999.000.
Has anyone else experienced this issue? Am I overlooking something obvious? Or did I buy a pig in a poke?