• 241查看
  • 0回复

[底层软件] 这样开发PWM,保证你准时下班

[复制链接]


该用户从未签到

发表于 28-3-2024 09:37:25 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


摘要

本篇笔记主要记录基于MBD模型设计的PWM输出步骤和方法。前期工具箱的安装不在本文档讨论范围内。

准备工作


    安装好MPC5744基于模型的工具箱和支持包,这个可以在NXP官网下载

这样开发PWM,保证你准时下班w1.jpg

2,按照文档配置编译器和设置路径以及license激活,QSG里面写的很清楚,这里不在赘述。

模型设计

正确安装MBD工具箱后,在simulink里面可以看到到MPC5744的外设和例程,这里我们设计三相PWM输出来建立名字为PWM的模型,为后续电机控制打下基础,因为三相PWM互补输出可以用来控制电机运转。

这样开发PWM,保证你准时下班w2.jpg

建立的模型如下,根据自己的实际修改管脚和参数,这里使用PWM0,

这样开发PWM,保证你准时下班w3.jpg

PWM 配置

这样开发PWM,保证你准时下班w4.jpg

这样开发PWM,保证你准时下班w5.jpg

因为要控制电机,所以一般我们需要同步输出,使用subsystem 0 同步通道1和通道2. 保证管脚和频率,以及死区配置正确,就可以编译,如果没有错误,就可以生成代码。

编译

建立好模型后,编译如果没有错误就可以生成代码,也可以调整代码生成的配置选项。

这样开发PWM,保证你准时下班w6.jpg

这样开发PWM,保证你准时下班w7.jpg

生成的代码

这样开发PWM,保证你准时下班w8.jpg

这样开发PWM,保证你准时下班w9.jpg

烧录bootloader

先将rbf文件bootloader烧进板子,这样就可以直接从simulink里面直接下载了。bootloader可以是串口,也可以是CAN口引导,如果之前已经烧录过bootloader,则这一步可以省略,如果不想使用bootloader也可以直接使用仿真器下载elf文件到你自己的板子中,或者将xml文件导入S32DS,使用仿真器可以在S32DS里面在线仿真。后面我们可以抽时间给大家介绍下怎么导入XML文件在S32DS里调试SIMULINK生成的工程。

这样开发PWM,保证你准时下班w10.jpg

下载代码

然后就可以重新编译并生成代码下载,

这样开发PWM,保证你准时下班w11.jpg

这样开发PWM,保证你准时下班w12.jpg

测试

使用示波器观察PWM输出是否符合预期输出,也可以使用freemaster软件上位机观测,这里使用示波器观测三相PWM输出。通过下图可以看到 PWM A0和PWMB0 输出互补, 10k频率,死区时间也符合设计。

这样开发PWM,保证你准时下班w13.jpg

这样开发PWM,保证你准时下班w14.jpg

可以看到通过模型很好的控制了PWM输出频率和占空比,可以动态调整模型参数观测输出结果。

总结

至此基于MBD模型设计的PWM输出满足要求,符合设计需求,为后续电机控制模型打下基础,有兴趣的可以研究更多基于模型的PWM功能设计。

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 1-2-2025 07:44 , Processed in 0.227483 second(s), 32 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.