
matlab
文章平均质量分 94
matlab学习应用笔记
深入浅出说电机
现从事电机驱动相关工作。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
电流环参数自整定及其原理
电流环参数自整定是通过程序计算电流环PI调节器增益以实现环路响应仅受用户设定PI调节器带宽影响,而和电机本身参数无关的目的。 本文分析电流环参数自整定背后的原理,并通过仿真进行验证。原创 2023-06-03 13:50:09 · 6195 阅读 · 1 评论 -
Simulink永磁同步电机控制仿真:单电阻采样时序及具体实现
在对产品体积及成本有较高要求时,单电阻电流采样方案foc进入我们的视野。理论上,单电阻电流采样方案可以实现和二电阻、三电阻电流采样同样的效果,唯一美中不足的是,单电阻电流采样方案没办法实现高调制比,不过这并不影响单电阻电流采样方案的广泛应用。本文从单电阻电流采样原理出发,深入分析相关理论及时序,并通过simulink仿真实现相关算法。原创 2022-10-23 13:19:05 · 5301 阅读 · 4 评论 -
永磁同步电机控制笔记:中点平移法svpwm实现分析
经典的svpwm把逆变器可以输出的电压范围划分为6个扇区,对于参考电压矢量,先计算矢量在哪个扇区,然后根据不同扇区计算合成参考电压矢量所需的有效发波时间t1,t2,最后把t1,t2映射为三个桥臂的导通时间。 中点平移法svpwm则是先把电压矢量分解为三相电压,然后根据三相电压的大小上下平移电压,使电压输出范围最大化。相比较经典的svpwm实现方法,该方法计算量小,并且个人认为,原理更容易理解。原创 2022-05-14 15:51:28 · 2977 阅读 · 3 评论 -
Simulink永磁同步电机控制仿真系列九:严谨的foc时序及细节思考
之前写过foc通俗讲义,讲foc控制的原理以及其优势,但是并没有深入去分析其时序,也没有分析其具体实现,今天写一篇时序相关的文章,具体分析foc流程,并思考其中一些细节之处的设计。为了便于讲解,我使用simulink搭建了一个模型,使用matlab function从实现一个pwm定时器开始,实现了svpwm调制,坐标变换,等。使用matlab function编写模块,作为模板共享,更方便其他用户的改造,也便于不熟悉simulink的小伙伴理解。除了基础的foc框架外,还考虑了时序相关处理,采样及foc计原创 2022-05-10 12:26:38 · 5675 阅读 · 2 评论 -
永磁同步电机控制笔记:相电压处理及通过滤波器信号的恢复
永磁同步电机控制算法中,相电压是一个很关键的状态量。目前的方案中有以下几种方式处理相电压。方式1,使用给定电压代替反馈电压。该方式得到相电压最为简单,同时计算量最小。可以省掉3路adc资源占用。但是因为死区及逆变器的非线性影响,给定电压与真实的相电压之间有一个无法精准计算的误差。并且在同步机低速工作时,这个误差占比很大,会严重影响控制性能。方式2,电路上添加截至频率接近开关频率的rc滤波,通过adc采集相电压信号。该方法能够获取更真实的电压信号,增加的计算量也不大。但是采样信号中依然包含一定成分的开关噪原创 2021-12-22 10:25:11 · 3374 阅读 · 3 评论 -
Simulink永磁同步电机控制仿真系列八:使用自抗扰控制(adrc)实现速度闭环以及扰动估计
引言最近对环路进行了一些思考,我们知道对于永磁同步电机的电流环控制,往往假定电流环的控制对象是电阻和电感的串联,这样的一个系统开环响应类似于一阶惯性系统,适合使用pi控制,并且可以根据电机的定子电阻和电感设置pi参数达到较好的控制效果。但是实际上,当电机运行起来之后,dq轴之间会存在明显的耦合,更不理想的是,q轴的电压中,占主导成分的是反电动势,在一些对环路响应要求较高的场合,使用pi控制并无法实现理想的效果。在速度环应用pi控制也有类似的问题,在一些负载不断变化的应用场景下,如风机类负载,不可能做到一组原创 2021-07-18 23:16:46 · 13114 阅读 · 16 评论 -
Simulink永磁同步电机控制仿真系列七:使用脉振高频注入法的位置估计
引言在一些要求低速大负载的永磁同步电机无传感器驱动方案中,仅靠电机的基波模型很难实现理想的带载能力。上一篇文章中使用基于电压电流模型的磁链观测器进行位置估算,在仿真中取得了良好的效果。但是因为开关器件的非线性,电流采样误差等因素,实际硬件实现过程中低速带载能力跟仿真效果还是有一定差距。为了实现有效的低速带载,有必要研究更可靠的方案。前面提到的滑膜法位置估计以及电压电流模型实现的位置估计都是建立在电机参数已知的前提下。两种方式都是通过分离出电机模型中包含转子位置信息的成分去解算转子位置。对电机参数依赖较强原创 2021-06-27 19:33:31 · 12604 阅读 · 11 评论 -
永磁同步电机控制笔记:电机参数离线辨识方法
文章目录概述1、定子电阻离线辨识1.1、定子电阻离线辨识原理1.2、定子电阻离线辨识的误差来源及补偿方法1.3、电阻离线辨识的具体方法方法一方法二2、定子电感离线辨识2.1、定子电感离线辨识原理2.1.1 输入阶跃电压2.1.2 输入脉冲电压2.1.3 输入高频电压2.2、电感辨识的具体方法及误差来源2.2.1、零状态响应法2.2.2、斜率法2.2.3、高频电压法3、永磁体磁链辨识3.1、永磁体磁链常数辨识原理及方法3.2、永磁体磁链常数辨识仿真验证3.3、小结概述永磁同步电机在使用转子磁场定向(foc原创 2021-06-20 15:37:34 · 18210 阅读 · 46 评论 -
使用matlab进行人工神经网络拟合
已知函数 z=sin(xy),采用人工神经网络实现该函数的拟合:定义: -π≤x≤π, -π≤y≤π,在 x, y 定义域中等距各取 30 各点,绘制 z=sin(xy)图像; 将上述数据集随机拆分成训练样本集(70%)、校验数据集(15%)、测试数据集( 15%)进行人工神经网络拟合,将拟合结果和原始函数绘制在同一张图中。(1)一张图中首先z=sin(xy)是三维图像,三维图像绘制不能简单的将x与y相乘。将使用meshgrid函数。 具体代码如下: 结果...原创 2020-05-12 20:35:10 · 13784 阅读 · 12 评论 -
使用matlab解析Keil导出数组
一、导出到文件调试代码过程中经常将变量储存在大数组中,以分析数据的变化趋势。使用TI的ccs时,数组可以方便的导出。但是keil并没有直接导出数组的功能,好在keil提供了其他方法。Keil无法导出watch窗口的内容,但是可以导出memory窗口的内容。导出方式如下:1、 将需要导出的变量添加到memory窗口2、 使用sava命令导出内存区域Save命令格式如下:SAVE d:\d...原创 2020-04-14 19:30:34 · 4185 阅读 · 0 评论 -
matlab实现文本内容批量替换
文章目录一、 目的二、 基本思想三、 代码实现四、 其他工作五、 补充一、 目的工作中有时候感觉编程也是一种重复性劳动,尤其是涉及到读写数据一类的内容,还有一些需要进行配置的场合,有时候就想,既然是重复性的劳动,为什么不交给工具来做呢,这就产生了使用代码生成代码的想法。本文提到的实现文本内容批量替换是实现代码自动生成的一个步骤,实现了找到文本中指定的段落,并把该段落换成另外的内容。二、 基本...原创 2020-04-03 15:14:26 · 8026 阅读 · 1 评论 -
永磁同步电机控制笔记:空间矢量调制svpwm实现及分析
一、 逆变器输出范围根据逆变电桥6个开关管状态可以定义如下图8组矢量。其中1表示上桥开下桥关,0表示下桥开上桥关。八组矢量分别用V0(000),V1(001),V2(010),V3(011),V4(100),V5(101),V6(110),V7(111)表示。其中V0(000)表示三相同时接负母线,V7(111)表示三相同时接正母线。V0和V7也称为零矢量。电机任意一相到电机中性点之间电...原创 2020-03-31 21:09:47 · 7998 阅读 · 4 评论 -
Matlab 文件夹读取以及文本文件转码
先交代一下背景,工作需要,开发环境发生了变更,数十个程序源代码全部乱码,(小厂IDE只支持一种编码),身为程序员,让我一个个文件新建、复制、粘贴是不存在的,祭出我的matlab才是王道。第一步,先把所有文本文件读出来。f = dir(startPath)查看结果,没有问题,返回值是结构体,每个文件对应一个结构体,判断f的维度即可知道文件数目。所以呢,f_num = length(f);...原创 2020-03-19 15:38:25 · 1057 阅读 · 0 评论