大家好、
有关我尝试执行的操作的信息:
我尝试在180度范围内来回扫描伺服电机(Hitec HS-422)的轴。 我正在使用 Simulink (和 Embedded Coder)对 TI 的 TMS320F28379D LaunchPad XL 进行编程。
图1 (下面)显示了我的 Simulink 模型。
让我们从验证我的计算开始。
TBCLK = PWM 时钟/(HSPCLKDIV * CLKDIV)
PWM 时钟= SYSCLKOUT * EPWMCLKDIV、其中 CPU 时钟(SYSCLKOUT)= 200MHz。
默认情况下、EPWMCLKDIV = 1/2
然后 PWM 时钟= 100MHz、因此、
TBCLK = 100MHz /(HSPCLKDIV * CLKDIV) (eq 1)
然后、"计数模式"被配置为向上/向下计数
TBPRD =(1/2)*(f_TBCLK/f_PWM) (EQ 2)
将 eq 1代入 eq 2、
TBPRD =(1/2)* 100MHz /(f_PWM * HSPCLKDIV * CLKDIV) (eq 3)
根据 伺服电机的数据表、 电机的 f_PWM 为50Hz。
现在 、我们需要选择 HSPCLKDIV 和 CLKDIV、使 TBPRD <= 2^16。
让 HSPCLKDIV = 2、CLKDIV = 8、然后 TBPRD = 62500。
同样、在数据表中、脉冲持续时间给出为"从0.9ms 到2.1ms "、T_PWM = 20ms (或50Hz)。
那么、占空比的范围是多少? 从4.5%到10.5%。 (这似乎太低了。)
现在、我们可以计算 CMPA 时钟周期。
对于 4.5%占空比、
CPMA =(100%- 4.5%)* TBPRD =(95.5/100)* 62500 = 59687.5
对于10.5%占空比、
CMPA =(100%- 10.5%)* TMPRD =(89.5/100)* 62500 = 55937.5
然后、WA 信号(通过输入端口指定 CMPA)应为:
振幅:(59687.5 - 55937.5)/2 = 1875、偏移:1875 + 55937.5 = 57812.5、频率:1Hz (任意)、类型:平方
结果: 这不符合我的预期。 电机会发出蜂鸣声而不会移动。
然后(根据我的经验)我将 CMPA 单元从"时钟周期"更改为"百分比"、并应用具有以下特性的正弦信号:
振幅:15、 偏移:15、 频率:1Hz (任意)、 类型:正弦
结果: 它确实扫过、但这只是一个有教育经验的猜测。 请观看下面的视频、注意有少量的蜂鸣噪声。
您能解释一下我的计算出了什么问题吗? 明天我会与主管会面、我需要提前完成这项工作。 谢谢!



