Power PMAC Clipper User Manual
DRIVE - Motor Setup 61
Filtered PWM Output (Analog ±10V)
In this mode, the ±10V analog output is obtained by passing the digital PWM signal through a low pass
30KHz filter. This technique, although not as high performance as a true digital to analog converter, is
more than adequate for most servo applications.
The duty cycle of the PWM signal controls the magnitude of the voltage output. This is handled internally
by the PMAC, the user needs not to change any settings. However, the frequency of the PWM signal
determines the output resolution and ripple magnitude (disturbance). The trade-off is as follows:
The higher the PWM frequency, the lower is the resolution with a low-ripple signal output.
The lower the PWM frequency, the higher is the resolution with a high-ripple signal output.
Some amplifiers operate in the ±5V range; this can be regulated using
the motor command output limit, parameter Motor[x].MaxDac.
Both the resolution and the frequency of the Filtered PWM outputs are configured in software on the
Power PMAC Clipper through Clipper[0].PhaseFreq and each channel’s Clipper[0].Chan[j].PwmFreqMult. The
Clipper[0].PhaseFreq also effects the servo interrupts. Therefore as Clipper[0].PhaseFreq is changed the
Clipper[0].ServoClockDiv (servo clock divider), and Sys.ServoPeriod (servo interrupt time) will change. These
four structures are all related and must be understood before adjusting parameters. The detailed
information for these parameters can be found in the Power PMAC Software Reference Manual.
Clock Settings, Output Mode, Command Limit
The clock settings in this mode allowing a good compromise are a 30 KHz PWM Frequency, 10 KHz
Phase, and 2.25 KHZ Servo.
Sys.WpKey=$AAAAAAAA
// Clocks – Phase and Servo
Clipper[0].PhaseFreq=10000; // 10KHz Phase
Clipper[0].PhaseClockDiv=0;
Clipper[0].ServoClockDiv=3; // 2.25KHz Servo
Clipper[0].AdcAmpStrobe=$fffffc
Sys.PhaseOverServoPeriod=1/( Clipper[0].ServoClockDiv+1)
Sys.ServoPeriod=1000*( Clipper[0].ServoClockDiv+1)/ Clipper[0].PhaseFreq
// PWM setup
Clipper[0].Chan[0].PwmDeadTime=0;
Clipper[0].Chan[0].PackOutData=0;
Clipper[0].Chan[0].PackInData=0;
Clipper[0].Chan[0].PwmFreqMult=5; // 30KHz PWM
Typical Motor Specific Settings
Power Clipper’s DAC pointer must be Pwm[2] for each channel.
Motor[1].ServoCtrl=1
Motor[1].pDac=Gate3[0].Chan[0].Pwm[2].a
Motor[1].pEncStatus=Gate3[0].Chan[0].Status.a
Motor[1].pAmpEnable=Gate3[0].Chan[0].OutCtrl.a
Motor[1].pAmpFault=Gate3[0].Chan[0].Status.a
Motor[1].pLimits=Gate3[0].Chan[0].Status.a //--USER ADJUSTABLE =0 for no flags wired
Motor[1].AmpFaultLevel=0 //--USER ADJUSTABLE
Motor[1].MaxDac=16384