前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >这样开发PWM,保证你准时下班

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

作者头像
用户1605515
发布2022-06-10 17:42:17
4730
发布2022-06-10 17:42:17
举报
文章被收录于专栏:嵌入式程序猿嵌入式程序猿

摘要

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

准备工作

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

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

模型设计

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

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

PWM 配置

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

编译

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

生成的代码

烧录bootloader

先将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功能设计。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嵌入式程序猿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备工作
  • 模型设计
  • 编译
  • 烧录bootloader
  • 下载代码
  • 测试
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档