摘要
本篇笔记主要记录基于MBD模型设计的PWM输出步骤和方法。 前期工具箱的安装不在本文档讨论范围内。
1,安装好MPC5744基于模型的工具箱和支持包,这个可以在NXP官网下载
2,按照文档配置编译器和设置路径以及license激活,QSG里面写的很清楚,这里不在赘述。
正确安装MBD工具箱后,在simulink里面可以看到到MPC5744的外设和例程,这里我们设计三相PWM输出来建立名字为PWM的模型,为后续电机控制打下基础,因为三相PWM互补输出可以用来控制电机运转。
建立的模型如下,根据自己的实际修改管脚和参数,这里使用PWM0,
PWM 配置
因为要控制电机,所以一般我们需要同步输出,使用subsystem 0 同步通道1和通道2. 保证管脚和频率,以及死区配置正确,就可以编译,如果没有错误,就可以生成代码。
建立好模型后,编译如果没有错误就可以生成代码,也可以调整代码生成的配置选项。
生成的代码
先将rbf文件bootloader烧进板子,这样就可以直接从simulink里面直接下载了。 bootloader可以是串口,也可以是CAN口引导,如果之前已经烧录过bootloader,则这一步可以省略,如果不想使用bootloader也可以直接使用仿真器下载elf文件到你自己的板子中,或者将xml文件导入S32DS,使用仿真器可以在S32DS里面在线仿真。 后面我们可以抽时间给大家介绍下怎么导入XML文件在S32DS里调试SIMULINK生成的工程。
然后就可以重新编译并生成代码下载,
使用示波器观察PWM输出是否符合预期输出,也可以使用freemaster软件上位机观测,这里使用示波器观测三相PWM输出。 通过下图可以看到 PWM A0和PWMB0 输出互补, 10k频率,死区时间也符合设计。
可以看到通过模型很好的控制了PWM输出频率和占空比,可以动态调整模型参数观测输出结果。
至此基于MBD模型设计的PWM输出满足要求,符合设计需求,为后续电机控制模型打下基础,有兴趣的可以研究更多基于模型的PWM功能设计。
全部0条评论
快来发表一下你的评论吧 !