9.5.3 Dynamic Power Correction |
The SP-ICE-3 Card supports multiple methods of Dynamic Laser Power Correction during the marking process.
To compensate for uneven power distribution across the marking field, you can specify a power correction file ("*.pc3").
This file can be generated with the Multi-Point Editor Tool (MultiPointEditor.exe), and allows definition of a power scaling factor (0.0 ≤ f ≤ 4.0) for every point in the field.
If the laser is moving with an non-constant speed (accelerating, deaccelerating), the energy density along the marked vector will also vary.
E.g., in the corners while marking a rectangle.
To compensate for this effect, you can activate the Velocity Dependent Power Correction in the laser config.
When activated, the laser power will be scaled according to the speed of the laser.
With ramping, the rate of change of the laser power can be defined.
Use CommandList.AppendPower(UInt16, Double) to set a new power value, and specify the change rate in bits/µs.
The power will increase linearly with the defined slope, until the specified power value is reached.
This can be useful, for instance, in welding applications.
In order to work with calibrated laser output power, you can specify an array of integer calibration point values.
The SP-ICE-3 Card uses these in the form of a look-up table to calculate (by interpolation) the calibrated laser power output value corresponding to the currently requested ProcessVariablesPower value.
The valid range for each calibration point value is 0 ≤ value ≤ 65536.
To upload calibration values to the card manually:
Either
Using your favourite text editor, create or open a text file with the extension ".pcl".
Put each calibration value on a separate line in the file.
At least two values are required.
Or
Use the SP-ICE-3 Power Calibration Tool to generate the ".pcl" file.
Then upload the ".pcl" file to the card using the Laser tab of the SP-ICE-3 Configuration Tool (SPICE3Config.exe).
To send calibration values to the card programmatically:
Call the function LaserAPI.SetPowerCalibration(UInt32) from your program, passing an appropriate array of calibration values.
At least two values are required.