在示例模型中mcb_pmsm_foc_sim
,电流控制器块从工厂模型接收ADC计数中的电机相电流,将电机相电流从安培转换为ADC计数。在目标硬件中,电流控制器从ADC块中读取电机相电流。按照此工作流添加ADC驱动程序块。
在德州仪器™BOOSTXL-DRV8305逆变器硬件中,电机的a相电流从ADC C2通道读取,b相电流从ADC B2通道读取。选择ADC模块C和通道2得到电机的a相电流。选择ADC模块B和通道2,得到电机的B相电流。对于其他目标硬件,请选择ADC模块和电机相电流接口的通道。
选择ePWM1_ADCSOCA
作为ADC块中的触发源,因为当PWM计数器等于PWM周期寄存器时,PWM库块触发转换开始事件SOC0。
选择ADCINT1
在ADC B模块中。这将在转换结束(EOC)事件时触发ADC中断。当ADC中断发生时,执行FOC电流控制算法。
在仿真软件万博1manbetx®库浏览器,从F2837xD库中选择并添加ADC块嵌入式编码器®万博1manbetx德州仪器C2000™处理器支持包.配置ADC块读取电机的a相和b相电流。
在ADC块参数对话框中,配置ADC C模块和通道2读取电机的a相电流,如下表所示。
在ADC块中的选项卡和参数 | 设置 |
---|---|
SOC触发>ADC模块 |
C |
SOC触发>SOC触发数量 |
SOC0 |
SOC触发>SOC触发源 |
ePWM1_ADCSOCA |
输入通道>转换频道 |
ADCIN2 |
将块重命名为ADC_C_IN2。
在ADC块参数对话框中,配置ADC B模块和通道2(读取电机B相电流)以及ADC中断(ADCINT1),如下表所示。
在ADC块中的选项卡和参数 | 设置 |
---|---|
SOC触发>ADC模块 |
B |
SOC触发>SOC触发数量 |
SOC0 |
SOC触发>SOC触发源 |
ePWM1_ADCSOCA |
SOC触发>在AOC触发后中断 |
在 |
SOC触发>中断选择 |
ADCINT1 |
SOC触发>ADCINT1连续模式 |
在 |
输入通道>转换频道 |
ADCIN2 |
将块重命名为ADC_B_IN2。