Brick Motion Controller Hardware Reference Manual
etc.), then writing values to the
The following
I7000 | = 1001 | ; PWM frequency 29.4kHz, PWM |
I7001 | = 5 | ; Phase Clock 9.8kHz |
I7002 | = 3 | ; Servo frequency 2.45kHz |
I7003 | = 1746 | ; ADC frequency |
I7100 | = 1001 | ; PWM frequency 29.4kHz, PWM |
I7103 | = 1746 | ; ADC frequency |
I70n6 | = 0 | ; Output mode: PWM |
Ixx69 | = 1001 | ; DAC limit 10Vdc |
I10 | = 3421867 | ; Servo interrupt time |
n = channel number from 1 to 8 xx = motor number from 1 to 8
Parameters to Set up Global Hardware Signals
I7000 determines the frequency of the MaxPhase clock signal from which the actual phase clock signal is derived. It also determines the PWM cycle frequency for Channels 1 to 4. This variable is set according to the equation:
I7000 = INT[117,964.8/(4*PWMFreq(KHz)) - 1]
The Clipper Board filtered PWM circuits were optimized for about 30KHz. The minimum frequency I7000 should be set to is 1088 (calculated as 27.06856KHz)
I7001 determines how the actual phase clock is generated from the MaxPhase clock, using the equation:
PhaseFreq(kHz) = MaxPhaseFreq(kHz)/(I7001+1)
I7001 is an integer value with a range of 0 to 15, permitting a division range of 1 to 16. Typically, the phase clock frequency is in the range of 8 kHz to 12 kHz. About 9 KHz is standard, set I7001 = 5.
I7002 determines how the servo clock is generated from the phase clock, using the equation:
ServoFreq(KHz) = PhaseFreq(KHz)/(I7002+1)
I7002 is an integer value with a range of 0 to 15, permitting a division range of 1 to 16. On the servo update, which occurs once per servo clock cycle, PMAC updates commanded position (interpolates) and closes the position/velocity servo loop for all active motors, whether or not commutation and/or a digital current loop is closed. Typical servo clock frequencies are 1 to 4 kHz. The PMAC standard is about 2 KHz, set I902 = 3.
I10 tells the Clipper Board interpolation routines how much time there is between servo clock cycles. It must be changed any time I7000, I7001, or I7002 is changed. I10 can be set according to the formula:
I10 = (2*I7000+3)(I7001+1)(I7002+1)*640/9
I10 should be set to 3421867.
I7003 determines the frequency of four hardware clock signals used for machine interface channels
System Wiring | 27 |