自己的服务器如何给网站备案,企业管理培训课程免费视频,wordpress ,网站建设佰金手指科杰二七目录 前言
开发流程
定点化的技巧
代码生成运行演示
总结 前言
这次尝试了在国产arm0内核的MCU上实现Simulink自动代码生成永磁同步电机无传感控制。机缘巧合之下拿到了一块国产MCU的电机控制板和一个5000RPM的小电机。最后实现了无传感控制#xff0c;在这里总结下一些经…目录 前言
开发流程
定点化的技巧
代码生成运行演示
总结 前言
这次尝试了在国产arm0内核的MCU上实现Simulink自动代码生成永磁同步电机无传感控制。机缘巧合之下拿到了一块国产MCU的电机控制板和一个5000RPM的小电机。最后实现了无传感控制在这里总结下一些经验。
芯片的参数如下 开发流程
1. 首先根据新的电机参数在浮点的模型上进行仿真验证, 这里选择使用的观测器是龙伯格观测器
新的电机和控制参数调整完后仿真没有问题 2. 不放心可以先在浮点的MCU上跑一把一般电机参数和实际参数相差不大仿真没问题实际运行也没啥问题 3. 把浮点模型定点化
可以参考以下文章链接
Simulink 自动代码生成电机控制自动定点化Fixed-Point Tool 使用_simulink模型定点化_卡洛斯伊的博客-CSDN博客
定点化的技巧
创建电机的运行实例不同的输入电压不出的负载越多的输入输出实例定点化后问题越少
但是高转速可能输入的电流范围太小大扭矩可能转速不够高转速范围小。不能完全依赖自动定点化收集的数据。所以可以考虑局部定点化分每个单独的模块进行定点化。如
先对电流环进行定点化或者先对SVPWM模块进行定点化都可以。完整系统进行定点化有很多工况会考虑不到范围。
当全局定点化运行后如果系统仿真不正常就需要去对模块进行检查
可通过Scope和log的方式去检查可疑的输出信号。如
定点化后跑到一定的转速就失控了不知道是控制环路引起的还是角度引起的。 这个时候可以用电机的实际角度进行控制排除观测器原因直接用电流环控制排除速度环。
直接给电流环和实际角度运行如下能正常控制说明电流环没有问题 对比观测器的角度和实际角度观测器观测的角度和实际角度对不上了先把问题定位到观测器理论上来讲观测到的角度要和实际的角度一样。 再进到观测器里面查找是观测器的问题还是锁相环的问题经过一翻查找定位到了下面这个位置。 适当调整范围后
目标转速也能达到可以到开发板中进行测试了 有时候在定位数据溢出可以用浮点和定点混合运行测试如 仿真后
浮点和定点的反电动势完全重合在一起说明定点化的模块在当前工况没有问题。 这种方式也能快速去定位数据溢出的位置。直到仿真的结果和自己想要的结果一致。就可以直接生成代码并集成了。
代码生成运行演示
也是在ADC里面调用生成的代码传递电流信息等。 电机总结
掌握定点化流程方法后系统越复杂就越不要想着通过几个实例就把整个系统完全定点化好也需要对一些异常的模块进行分析仿真以达到数据失真小且不溢出。Simulink定点化后有些数据是16位的可以考虑把一些数据用32位表示以确保其精度。