Simulink 自动代码生成电机控制:在某国产ARM0定点MCU上实现自动代码生成无感电机控制

news2025/7/15 21:55:15

目录

前言

开发流程

定点化的技巧

代码生成运行演示

总结


前言

这次尝试了在国产arm0内核的MCU上实现Simulink自动代码生成永磁同步电机无传感控制。机缘巧合之下拿到了一块国产MCU的电机控制板和一个5000RPM的小电机。最后实现了无传感控制,在这里总结下一些经验。

芯片的参数如下:

开发流程

1. 首先根据新的电机参数在浮点的模型上进行仿真验证, 这里选择使用的观测器是龙伯格观测器

新的电机和控制参数调整完后仿真没有问题 

 2. 不放心可以先在浮点的MCU上跑一把,一般电机参数和实际参数相差不大,仿真没问题,实际运行也没啥问题

 3. 把浮点模型定点化

可以参考以下文章链接

Simulink 自动代码生成电机控制:自动定点化Fixed-Point Tool 使用_simulink模型定点化_卡洛斯伊的博客-CSDN博客

定点化的技巧

创建电机的运行实例,不同的输入电压,不出的负载,越多的输入输出实例,定点化后问题越少!

但是高转速可能输入的电流范围太小,大扭矩可能转速不够高,转速范围小。不能完全依赖自动定点化收集的数据。所以可以考虑局部定点化,分每个单独的模块进行定点化。如:

先对电流环进行定点化,或者先对SVPWM模块进行定点化都可以。完整系统进行定点化有很多工况会考虑不到范围。

当全局定点化运行后,如果系统仿真不正常,就需要去对模块进行检查

可通过Scope和log的方式去检查可疑的输出信号。如:

定点化后跑到一定的转速就失控了,不知道是控制环路引起的还是角度引起的。

 这个时候可以用电机的实际角度进行控制排除观测器原因,直接用电流环控制,排除速度环。

直接给电流环和实际角度,运行如下,能正常控制,说明电流环没有问题

 对比观测器的角度和实际角度,观测器观测的角度和实际角度对不上了,先把问题定位到观测器,理论上来讲观测到的角度要和实际的角度一样。

 再进到观测器里面查找是观测器的问题,还是锁相环的问题,经过一翻查找,定位到了下面这个位置。

 适当调整范围后:

目标转速也能达到,可以到开发板中进行测试了

 有时候在定位数据溢出可以用浮点和定点混合运行测试,如:

 仿真后:

浮点和定点的反电动势完全重合在一起,说明定点化的模块在当前工况没有问题。 

 这种方式,也能快速去定位数据溢出的位置。直到仿真的结果和自己想要的结果一致。就可以直接生成代码并集成了。

代码生成运行演示

也是在ADC里面调用生成的代码,传递电流信息等。

 

电机

总结

掌握定点化流程方法后,系统越复杂就越不要想着通过几个实例就把整个系统完全定点化好,也需要对一些异常的模块进行分析,仿真以达到数据失真小,且不溢出。Simulink定点化后有些数据是16位的,可以考虑把一些数据用32位表示,以确保其精度。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/396011.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

10.系统级I/O

1.基础所有的I/O设备被模型化为文件,所有的输入和输出被当作相应文件的读和写来执行应用程序在文件结尾检测到EOF(end of file)条件文本文件是只含有ASCII或Unicode字符的普通文件二进制文件是所有的其他文件对于内核,文本文件和二进制文件没有区别目录是…

女神节灯笼祝福【HTML+CSS】

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

STM32F103驱动LD3320语音识别模块

STM32F103驱动LD3320语音识别模块LD3320语音识别模块简介模块引脚定义STM32F103ZET6开发板与模块接线测试代码实验结果LD3320语音识别模块简介 基于 LD3320,可以在任何的电子产品中,甚至包括最简单的 51 作为主控芯片的系统中,轻松实现语音识…

Axure基础:事件和动态面板

这一篇文章我们主要是将如何做系统左侧的导航,并且告诉大家如何动态的切换各个页面。 一、事件 1、事件基础 事件的核心就是什么时候做什么事。其中的什么时候可以是如下: 能做的事情如下: 2、远程监控云中的事件 监控云需要达到这个效果…

React :一、简单概念

目录 1.什么是React? 2.谁开发的 3.为什么要学React? 4.React的特点? 5.React依赖包 6.第一个React程序 7.虚拟DOM的两种创建方法 8.虚拟DOM和真实DOM 1.什么是React? 用于构建用户界面的JavaScript库,是一个将…

Allegro如何用自带的功能将线段变成铜皮操作指导

Allegro如何用自带的功能将线段变成铜皮操作指导 在做PCB设计的时候,有时根据设计需要将线段变成铜皮,可以借助辅助工具来实现这一操作,但是Allegro自身也自带这个功能,如下图 需要把这段走线变成铜皮 具体操作如下 点击File点击Change Editor

【计算机基础】Socket IO

一、I/O 模型 一个输入操作通常包括两个阶段: 等待数据准备好从内核向进程复制数据 对于一个套接字上的输入操作,第一步通常涉及等待数据从网络中到达。当所等待数据到达时,它被复制到内核中的某个缓冲区。第二步就是把数据从内核缓冲区复…

在超算上安装文件树命令tree

超算平台使用的centos系统没有内置tree命令,需要通过源码安装。记录安装流程如下。 1. 下载源码包 下载链接如下: http://mama.indstate.edu/users/ice/tree/ 选择“Download the latest version” 如本文下载了源码包“tree-2.1.0.tgz”. 2. 源码包…

分享一个应急响应web日志:access.log文件分析小工具

有时做应急响应的时候,需要提取web日志如access.log日志文件来分析系统遭受攻击的具体原因,由于开源的工具并不是很好用,所以自己用Python3写了一个简单的日志分析工具。先介绍一下access.log日志access.log日志文件记录了所有目标对Web服务器…

「题解」日常遇到指针面试题

🐶博主主页:ᰔᩚ. 一怀明月ꦿ ❤️‍🔥专栏系列:线性代数,C初学者入门训练,题解C,C的使用文章 🔥座右铭:“不要等到什么都没有了,才下定决心去做” &#x1…

项目--基于RTSP协议的简易服务器开发(2)

一、项目创立初衷: 由于之前学过计算机网络的相关知识,了解了计算机网络的基本工作原理,对于主流的协议有一定的了解。但对于应用层的协议还知之甚少,因此我去了解了下目前主要的应用层传输协议,发现RTSP(…

【React】一个评论案例带你入门React组件基础

Q : 你不必一定成为玫瑰,路边的小花同样点缀大地🌼🌼🌼🌼🌼 结构 分为4部分,评论数、排序的状态栏、发表评论的文本域、评论列表 想法: 输入框输入信息点击发表评论按钮&#xff0c…

统计学习--三种常见的相关系数

1)Pearson积差相关系数:用于量度两个变量X和Y之间的线性相关。它具有1和-1之间的值,其中1是总正线性相关性,0是非线性相关性,并且-1是总负线性相关性。Pearson相关系数的一个关键数学特性是它在两个变量的位置和尺度的…

Ip2Resion线上部署报数据越界及错误处理

上篇在本地测试调用Ip2Resigon解析行政区划 Ip2Region的Java本地实现运行正常,但部署到测试环境,抛出数组越界(java.lang.ArrayIndexOutOfBoundsException)异常。 环境信息 ip2Resion是2.7版本,对应文件后缀为 xdb。 …

基于Netty,从零开发一个IM即时通讯

可以说几乎所有高实时性的应用场景都需要用到IM技术。本篇将带大家从零开始搭建一个轻量级的IM服务端。麻雀虽小,五脏俱全,我们搭建的IM服务端实现以下功能: 1)一对一的文本消息、文件消息通信;2)每个消息有…

现代卷积神经网络(ResNet)

专栏:神经网络复现目录 本章介绍的是现代神经网络的结构和复现,包括深度卷积神经网络(AlexNet),VGG,NiN,GoogleNet,残差网络(ResNet),稠密连接网络…

【微信小程序】-- 生命周期(二十八)

💌 所属专栏:【微信小程序开发教程】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &…

VRRP多网关负载分担实验

1、VRRP专业术语 VRRP备份组框架图如图14-1所示: 图14-1:VRRP备份组框架图 VRRP路由器(VRRP Router):运行VRRP协议的设备,它可能属于一个或多个虚拟路由器,如SwitchA和SwitchB。虚拟路由器(Virtual Router):又称VRR…

Windows安装Qt与VS2019添加QT插件

一、通过Qt安装包方式http://download.qt.io/archive/qt/5.12/5.12.3/.安装可以就选中这个MSVC 2017 64-bit,其他就暂时不用了二、通过vs2019安装Qt插件方式方法1下面这种方式本人安装不起来,一直卡住下不下来。拓展->管理拓展->联机->搜索Qt&a…

【计算机视觉 自然语言处理】什么是多模态?

文章目录一、多模态的定义二、多模态的任务2.1 VQA(Visual Question Answering)视觉问答2.2 Image Caption 图像字幕2.3 Referring Expression Comprehension 指代表达2.4 Visual Dialogue 视觉对话2.5 VCR (Visual Commonsense Reasoning) 视觉常识推理…