自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 FOC电机数学模型

Rs:定子的电阻Ls:定子的电感Eα,Eβ:反电动势。

2025-04-21 11:48:18 241

原创 const关键字理解

但是有一点,被const修饰后内容,后期通过指针访问地址可以直接修改,除非这个地址确实在编译器编译的时候被存入到了ReadOnly段里面。const关键字主要的作用是告诉编译器这个东西是个常量,不可被修改。或者是用来和指针玩一些奇奇怪怪的东西,这玩意面试八股文常青树。在一些函数里面进行限制,比如限制指针类型的形参等。

2025-04-11 15:59:10 259

原创 关于柔性数组

柔性数组主要是再结构体里面定义一个长度为0的数组,这里和定义一个指针式存在明显去别的。定义一个指针会占用内存,但是定义一个长度为0的数组不会占用空间。总体来说,柔性数组具有极大的灵活性,主要是用作底层接口实现,对外只需要使用一个指针实现不定长数组,减少代码的风险。以前确实没关注过这个问题,一直都是直接定义固定长度的数组,尽量减少指针的操作。

2025-04-09 14:35:41 371 2

原创 Simulink磁链观测器仿真

非线性磁链观测器仿真

2025-04-09 10:29:33 380

原创 CAN总线快慢恢复理解

CAN总线快慢恢复处理

2025-04-09 09:32:26 229

原创 SimulinkFOC控制MTPA仿真

一般对于那种表贴式的PMSM电机,定子在D-Q轴坐标系下的D轴电感和Q轴电感是一致的,在电流环控制力矩的过程中直接令D轴的电流为0就行了,当进入弱磁区的时候,给D轴负电流去抵消一部分转子永磁体产生的磁场就行了。对于内嵌式的PMSM电机,定子在D-Q轴坐标系下的D轴电感和Q轴电感是有差异的,用表贴式PMSM的控制方式是可以的,但是并不是最优解。记录一下自己关于MTPA仿真控制,只是公式法实现(原理),查表法和曲线拟合还在实现,后面会在这里更新。实际测试结果,Q轴电流。实际测试结果,D轴电流。

2025-03-05 16:50:14 185

原创 FOC无感开环启动算法

FOC无感开环启动排除掉高频注入这种直接识别当前转子dq轴的位置直接闭环启动,大部分的常规启动方式就是三段式启动,对齐-强拖-观测器介入-观测器误差稳定后平滑过渡-闭环。这里就只写出I/F(V/F)启动的角度输出的代码,力矩就是一条y=kx+b的直线,没什么好说的。这里的逻辑是我搭建的Simulink仿真的逻辑。该开环启动算法是在1ms的周期执行的实测如下。simulink仿真如下图。

2025-03-04 17:21:23 486

原创 滑膜观测器建模仿真

记录一下自己仿真滑膜观测器,具体的电机模型见前面的,有感FOC仿真。这里就记录一下滑膜观测器,滑膜观测器的原理我前面给出过文章。电角度跟踪测试,实际使用加上一点角度补偿就可以了。实际转速跟踪,里面那个蓝色的是实际转速。

2025-03-03 18:34:11 192

原创 Simulink有感FOC仿真

搭建速度环位置环双闭环FOC控制模型,后续考虑在这个模型上实现滑膜观测器,实现无感FOC模型。

2025-02-20 16:07:54 403

原创 Simulink仿真有感BLDC控制

整个文章很长,还请大家耐心看完,我会从Simulink控制参数和仿真建模全部截图展示出来,保证通过这个建模可以理解有感BLDC的控制原理。建议先去补充simulink的一些基础操作支持。

2025-02-18 15:01:35 556 2

原创 从Simulink使用Embedded Coder生成代码

1、利用Simulink搭建自己的控制模型,然后在上方工具栏的APP中选择Embedded Coder,在打开的新的C代码的工具栏里面选择快速向导,会弹出一个操作框,系统就选自己的simulink模型,输出根据需求来选就可以。部署会自动辨识你的模型,可以不用管。选中下面那个,再value行双击,然后点击右侧的三个点,点击浏览,进入设置区域,然后选择该变量,右键选择转换为参数对象。模型还存在一些内部模型,它们的对象接口一般是不开放的,为了能够进行访问,需要显示配置,具体操作如下。然后点击生成代码就好了。

2025-02-17 14:58:53 467

原创 Matlab基于C语言的代码生成

在report的界面的工具栏上会有一个package打包的按钮,在执行命令生成完代码后的report界面里点击该按钮可以将整个生成的代码打包出来,包括没有显示一些依赖关系等。matlab存在输入的灵活性,所以转化成C语言的代码时会存在问题,所以有两种方式来确定C语言函数的输入,一个按最大的大小控制输入,另一个方式是输入变量时同时输入大小。matlab生成C语言代码有两种主要的方式,一个是提高阅读性(代码量较大,运行时间较长),另一种是提高运行效率(代码量小,运行时间短,阅读性差)

2025-02-17 13:15:48 596

原创 Simulink控制设计考量

然后设置仿真的工况点的时间,大部分控制都是阶跃信号(可以根据自己实际的控制模型选择对应的线性化模型),生成响应图,然后再阶跃图中右键特征可以看到系统的响应时间,超调量,稳态时间等。最后我们可以根据这个模型来用simulink的PID模块进行调节,导入刚刚的线性化模型,利用调整工具调节,然后显示参数可以查看调节的效果,然后点击更新模块到PID模块里面。对于线性系统的拟合可以用线性化工具,先用线性化管理工具确定系统的输入和输出,一般都是闭环的负反馈控制,所以线性化管理器中的输入选择输入扰动,输出选择输出测量。

2025-02-16 15:58:03 212

原创 Matlab中StateFlow状态机建模梳理

4、在流程图中使用到的数据需要指定其类型,是input、output、Local,同时在调试流程图时可以在symbols的列表框显示。during:在entry后到State执行到了一个正确的Transition条件,跳转到其他State的过程中会一直执行的操作。1、创建StateFlow,创建多个State,同时必须要有一个默认的Transition指向其中的一个State。exit: 在State执行到了一个正确的Transition条件,跳转到其他State前执行的操作。1)条件判断+执行动作。

2025-02-16 11:08:52 359

原创 Simulink的离散数学关系建模和连续数学关系建模梳理

对于离散的数学关系(差分方程),存在y(k) = f( y(k - 1) ),则可以按照以下的思路进行建模处理。2)确定所需的数量即推导关系,y(kn) = f( y(kn - 1)),n=1,2,......N。3)添加相关的模块Unit Delay,左侧输入为y(k),右侧输出为y(k-1)4)将方程右侧的等式利用simulink的数学公式实现。5)设置所有推导关系的离散系统的初始条件和采样时间。1)将最高阶的导数关系列到等式左侧,其余的放在右侧。1)将y(k)写于等式的左边,其他的写于等式的右边。

2025-02-14 15:51:19 198

原创 MATLAB入门

这里记录一下MATLAB的一些基本操作,包括变量建立,文件保存,以及一些基础的数据关系,逻辑运算和数据分析操作。具体可以参考MATLAB官方的学习课程,MATLAB入门之旅。

2025-02-13 09:54:34 332

原创 C#中WinForm按键事件

Win Form按键响应

2025-01-22 08:38:43 269

原创 FreeRtos调试过程一些问题记录

FreeRtos

2025-01-18 09:38:59 160

原创 C#关于接口和抽象类的个人理解

接口、抽象类

2025-01-17 11:22:04 191

原创 FOC控制算法滑膜观测器实现

接下来就是锁相环来解析出角度,锁相环就是这个系统,这个我实话实说是网络上找的,我本来是打算直接反正切得到角度然后用一个位置式的PI系统去跟踪输出角度,但是网上找了一圈都没有这样做的,找了一圈全都是锁相环然后配这个图。函数实现,这几个宏定义第一个是阻尼系数一般都是0.7,第二个是角速度相关的这个实际要根据自己的实际的来调试,反正我这里测试的角度是500ms走完360°电角度,所以我选择4Hz。测试结果,最上面的角度是虚构的开环角度,然后假定电机的q轴电流为1A,实际滑膜观测器的输出。

2024-09-21 15:01:10 2031 2

原创 FOC控制霍尔角度处理

带HallFOC控制角度估算

2024-09-20 11:39:07 1770 2

原创 PID代码实现

PID算法实现

2024-09-11 17:07:18 568 1

原创 FOC SVPMM算法C语言实现

记录自己手写FOC算法的SVPWM算法实现

2024-09-11 11:10:02 1005 3

原创 C#线程同步问题

C#多线程问题

2022-06-10 09:34:30 119

原创 C语言数据逆序操作处理

此文用于记录用C语言开发进行嵌入式开发,对位操作的相关处理手段。以下是详解假设data = 0x59 ,二进制表示位 0101 1001第一步操作:将前后四位进行交换data << 4 变成了 1001 0000 ,data >> 4变成了 0000 0101 ,将 1001 0000 和 0000 0101进行位或处理,有1为1,全0为0。得到的结果为 data = 1001 0101。可以发现四位已经交换了。第二步操作:将数据两两进行交换第一步操作之后

2021-03-06 13:12:49 1018

原创 QT发布exe文件供给客户使用

使用QT开发完上位机后,就面临这发布交付给客户的问题。可以发现直接在windows下启动QT编译生成的可执行文件,会发现提示缺少DLL库的错误。第一种解决方案是去设置系统的环境变量,将QT安装目录下的相关路径配置好,再次去执行生成的文件就可以运行,这种方法不推荐,感兴趣的自己去百度。这样做在自己的PC上玩玩还行,发布软件后还要客户去安装QT,配置环境变量?那是找死。本人更推荐第二种方法,将可执行文件复制出来到一个新的空文件夹下,打开64位或32位的控制台,这个根据自己QT中配置构建环境去选择。利用控

2021-01-30 14:03:05 294

原创 CAN波特率计算

Can控制器器只需要进行少量的设置就可以进行通信,就可以像RS232/48那样使用。其中较难设置的部分就是通信波特率的计算。CAN总线能够在一定的范围内容忍总线上CAN节点的通信波特率的偏差,这种机能使得CAN总线有很强的容错性,同时也降低了对每个节点的振荡器精度。实际上,CAN总线的波特率是一个范围。假设定义的波特率是250KB/S,但是实际上根据对寄存器的设置,实际的波特率可能为200~300KB/S(具体值取决于寄存器的设置)。简单介绍一个波特率的计算,在CAN的底层协议里将CAN数据的每一位时

2021-01-30 10:05:46 2568 1

原创 QTCreator导入DLL的问题

初次使用QT编写上位机,遇到了问题。留个记录,供以后参考。使用QTCreator开发芯片烧录的上位机软件。QT的版本为开源的使用mingW编译器,用的VS2019编写的下位机USB驱动的dll库。开发完界面及文件功能后,往QT导入DLL库,发现运行出错,报错程序运行异常,后面发现该问题是QT编译器是32位而本人开发的USB驱动是64位的,好家伙直接重新开始写32位的USB驱动。再次导入DLL库,编译出错。确定了是编译器不同,mingw和MSVC两者对于函数的编译结果不太一样,于是开始更换QT的版本,这也是网

2021-01-29 18:41:45 1015

原创 ssm整合

本篇内容是基于上篇的基础完成的。上篇内容:https://blog.youkuaiyun.com/javacode123456/article/details/106342332在maven的框架搭建完毕后便可以开始着手ssm框架的整合。首先是进行spring和mybatis框架的整合。1、利用maven去下载相关的jar包。在这里给出porm.xml相关代码 <properties> <!-- spring版本号 --> <spring.version>

2020-05-25 22:16:25 352

原创 maven+ssm框架的实现

基于MyEclipse2017使用maven来帮助快速搭建SSM框架。1、maven的下载及配置。这里不多赘述,网络上有很多的实现教程。2、框架搭建(1)创建一个MavenWeb工程。红色圈起来的部分因人而异,可以自己命名。项目搭建完毕后会出现The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path的错误,是因为缺少jar包,我们可以在porm.xml中添加依赖

2020-05-25 21:45:24 310

原创 MyEclipse解决创建mavenweb工程没有src/main/java文件夹的问题

创建maevn web项目,在选择maven_archetype_web原型后,默认只有src/main/resources这个Source Floder。 按照maven目录结构,添加src/main/java、src/test/java等Source Floder时,会报目The folder is already a创建mavenweb项目,在选择maven_archetype_web原型后,默认只有src/main/resources这个Source Floder。 按照maven目...

2020-05-24 16:44:00 811

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除