
MATLAB
文章平均质量分 90
介绍MATLAB的相关使用知识
LEODWL
To Do Something More and Fun......
展开
-
基于F28335的Simulink代码生成(六)——如何修改变量的存储类型
在Simulink代码生成的应用中,我们经常需要用到变量的声明,假如默认拖入一个变量,这个变量在代码中是属于一个结构体的成员,调用的时候需要调用结构体,然而结构体名是与模型的名字有关的。这样的设计着实让人有点难受,极不方便移植给其他主机直接应用。另外,在CCS的变量显示时,我们经常需要通过变量名来查看对应的数值,但是由于SImulink中的常规变量都是结构体类型的,所以每次都需要自己根据结构体名和变量名来输入,操作存在不简明和复杂性。因此本博客介绍了SImulink中如何修改变量存储类型。原创 2022-04-05 20:26:04 · 2205 阅读 · 4 评论 -
永磁同步电机MTPA与id=0的控制原理
1.1MTPA控制方式与id=0控制方式的区别永磁同步电动机主要可分为:表面式和内置式。在表贴式永磁同步电动机中,永磁体通常呈瓦片形,并位于转子铁心的外表面上,这种电机的重要特点是直、交轴的主电感相等(Ld=Lq),又称隐级式;而内置式永磁同步电机的永磁体位于转子内部,永磁体外表面与定子铁心内圆之间有铁磁物质制成的极靴,可以保护永磁体。这种永磁电机的重要特点是直、交轴的主电感不相等(Ld!=Lq) ,又称凸级式。一般情况下,MTPA与id=0控制是分别用于内嵌式和表贴式的电机的,其主要原因就是这两种电机原创 2020-11-15 16:17:41 · 13805 阅读 · 3 评论 -
基于F28335的Simulink代码生成(五)——DMA的使用
DMA的使用可以很大程度上减少CPU的运行负担,在前面的文章中,我通过记录的方式,已经将我基于MBD开发永磁电机矢量控制的过程中遇到的一些个问题都写出来了,其实也不算基础教程,就是作为一个对于Simulink较为熟练的人在做MBD中完成一些和底层链接的工作。后期想要的样子肯定是通过通信实现可视化操作的,希望有机会实践。原创 2022-01-12 10:56:22 · 1987 阅读 · 0 评论 -
基于F28335的Simulink代码生成(四)——如何链接可以访问底层文件的外部源文件和头文件
终于找到将外部的C文件链接到底层文件的办法了,我这个C文件有点不同,它内部是需要访问底层文件的。所以该C文件需要链接工程的底层硬件文件。之前一直想通过S Function Builder的lib来链接,但是存在打不开工程内头文件的问题,指明了文件路径已经存在问题。接下来我提供一种新的方法。原创 2021-12-20 16:26:12 · 2210 阅读 · 8 评论 -
基于F28335的Simulink代码生成(三)——EQEP模块获取光电编码器的速度与角度信息
随着对于各种模块的使用越来越深入,逐渐感受到了代码生成的不友好与不完善性。基于一开始的目的,我进行代码生成的目的只是为了解决电机无位置控制中的滤波以及注入的复杂编程才进行的。但是目前代码生成对于底层的链接方式让我感到很不舒服。原创 2021-12-20 13:50:01 · 4413 阅读 · 7 评论 -
基于F28335的Simulink代码生成(二)——EPWM模块同步设置问题
EPWM模块同步输出设置EPWM模块两个概念如何同步所有的EPWM时基的时钟如何同步时基计数器EPWM模块28335由于其强大的浮点运算能力而被广泛用于逆变以及电控等相关领域。PWM作为一种常用的外设功能,其准确的使用对于电控等场合是非常重要的。两个概念对于EPWM,我们在设置好频率以及占空比输入,死区设置后仍然需要进行一些配置,例如中断,又如对于电控的使用,因此就会产生对于EPWM信号的同步需求,那么就会涉及到其时基的配置。ePWM的同步分为两个步骤: 1、时基的时钟同步,同步所有的ePWM原创 2021-12-14 21:53:22 · 6304 阅读 · 2 评论 -
基于F28335的Simulink代码生成(一)——搞懂模型的运行逻辑
最近由于一下项目有幸得到一些资料,从而能给我机会快速熟悉快速原型这个玩意儿。这东西说实话确实比工程代码来的方便,但是这仅限于简单一些的工程,另外的话就是对于初学者相对友好,不需要非常深入寄存器的一些知识以及写代码的一些技巧。不过我目前做的一些东西反而让我觉得快速原型并不好用,因为因为他的运行逻辑更像是并行的,而不会像代码中那样从上往下写的串行逻辑。而且模型能实现的东西很有限,为了实现一些模型做不了的事情,必须对寄存器以及代码的东西很熟悉才行。快速原型与我们传统的工程代码编写相比,快速原型的优势我也不再赘原创 2021-11-19 19:54:34 · 3561 阅读 · 2 评论 -
Matlab滤波器的设计与实现
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、在simulink中设计滤波器二、在Matlab中绘制Bode图总结前言在使用simulink时难免需要用到滤波器的设计与使用,同时为了作图或者其他的需要,我们需要查看滤波器的相频特性,所以一般需要用到Matlab来编写滤波器的传递函数来实现。提示:以下是本篇文章正文内容,下面案例可供参考一、在simulink中设计滤波器Simulink是个非常强大的工具,我们很多反正都要在上面跑。同时他也具备很多完善的功能。原创 2021-07-21 17:41:57 · 7732 阅读 · 0 评论 -
Matlab新版S-Function Builder使用总结
文章目录前言一、S-Function Builder的界面二、S-Function函数编写1.参数的初始化2.函数的编写总结前言此次我使用的是Matlab2020b上的S-Function Builder,并且使用C语言编写。提示:以下是本篇文章正文内容一、S-Function Builder的界面二、S-Function函数编写1.参数的初始化在此处可以进行输入输出和函数内部使用的参数进行设置和初始化,另外需要注意的是,对内部使用的参数进行区别:连续和离散。首先需要确定离散或原创 2021-01-22 00:53:58 · 11067 阅读 · 9 评论 -
PMSM矢量控制的初步学习仿真实验
分别使用SVPWM矢量控制和电流滞环矢量控制的方法完成电机转速、转矩等结果的测试对比。原创 2020-09-02 10:13:24 · 2423 阅读 · 0 评论 -
关于Simulink中的S Function Builder的一些小总结
S Function Builder上图是builder的界面,有很基本的诸如模块名字输入输出啥的可以很直观的看到。其中比较基本的反正稍微查一下资料都能弄懂,我对于这个Builder的使用也是浅尝辄止。这次使用也是为了做毕设,具体的话就是希望用这个模块实现将输入电压进行划分,然后给两个变量进行输出的赋值。如果用模块做我觉得是相当麻烦的。但如果是编程的话就相当容易,不过是几个if语句而已。而MA...原创 2020-04-17 16:39:04 · 4400 阅读 · 3 评论