灵动微电子 MM32MDK-SPIN060G 开环foc仿真和代码驱动

分享作者:Hotmilk
评测品牌:灵动微电子
评测型号:MM32MDK-SPIN060G
申请理由(产品应用):驱动无刷电机foc 开环闭环 如果可以和其他控制器联动使用无刷电机为按钮去控制屏幕
发布时间:2024-08-23 13:16:00
0
概要
申请到电机驱动开发板现在来进行设置一个开环的foc驱动包括仿真和代码使用解析最后来介绍一下MM32这款电机驱动板
开源口碑分享内容

大家可以去网上查看FOC的原理最简单的解释就是最后我们要生成一个每个相位差120°的电流进行驱动 这里面最关键的两个变化就是Clarke变化和park变化现在我们拿simulink进行仿真一下这里由于是开环因此不使用pi直接通过旋转速度生成旋转角度首先先生成旋转角度

通过上面简单的仿真就可以简单的输出一个介于0到2Π的一个角度值这个就是我们期望在每一个时刻的机械角度这里我们先默认最简单的情况我们的磁极只有一对下面我们得到角度后进行反park变化生成两个变量α和β我们先对上面角度封装一下求出sin和cos值

通过模块我们还知道需要d和q两个值这里我们选择常量d为0q为1

生成α 和β 后通过反Clarke变化生成我们需要的三项电压ABC

这样生成的就是相位差相差120°的三项电压这个就是我们需要的这个时候我们再次对其进行SPWM或者SPVPWM进行输出就可以了 仿真部分到此结束我们下面看下如何使用我们的灵动微电子 MM32MDK-SPIN060G 生成上面的代码虽然我们可以使用simulink直接生成但是这个板子对电机算法有相关优化因此我们可以自己进行写下面我们来看一下如何写首先我们看一下开发板的资料寻找我们需要的上面的反park变化和反clarke变化的函数这里MM32给我们提供了成熟的算法

使用这个之后就可以进行变化出α和β

使用这个函数就可以输出我们需要的三项电压现在我们来写一下这个首先写一个函数为角度发生器发生我们需要的角度的sin和cos值


这样我们就简单的完成了一个开环的foc的生成最后我们可以使用timer1生成SPWM进行输出配置死区这样就完成了我门可以看一下timer1的介绍


这样我们就可以有效的防止半桥中的上下mos管同时导通

下面我门再看一下这款电机驱动板上面的资源

有hall传感器接口可以支持12V到18V的输出大大加大了驱动能力可以选择多种模式有感和无感官方也给了很多例子 而且有封装好的库大家在。h文件中配置好自己的电机就可以使用了

ip的参数条件也十分简单下面视频给大家查看官方的历程

全部评论
暂无评论
0/144