最近的科研项目需要使用到SVPWM算法,网上相关的原理介绍很多。对于纯应用的需求来说,或许有些内容上的冗余。本文的目的就是简要并且明确的给出具体的计算步骤,可以帮助快速上手。同时利用MATLAB进行了简单算法验证。2022年10月20日更新:由于之前的代码没有考虑电压的量化问题,今天重新修改进行了补充~目录1算法流程1.1扇区判断1.2基本矢量作用时间计算1.3逆变器开关切换时间计算1.4利用三角波改变开关状态2MATLAB仿真验证(不考虑电压量化)4MATLAB仿真验证(考虑电压量化)5参考文献1算法流程算法部分,结合网上博主的文章主要分为四个部分:扇区判断、基本矢量作用时间长度计算、逆变器
-云质QMS原创文章,转载请注明来源-客户满意度是决定企业是否能够基业长青的关键因素之一。如果客诉处理的不好,会极大影响客户的满意程度。通常处理客诉分为两个阶段。第一个阶段是快反遏制,想方设法快速答复和解决客户提出的问题,做好服务,从短期维度尽快让客户得到满意的结果。第二个阶段是寻因改进,从根源上彻查问题的起因并寻求永久消除类似问题,改善产品和服务,以防再次发生,从长期维度让客户满意,占领客户心智。为什么越来越多的企业采取两个阶段处理客诉,是因为这两个阶段的出发点不同,决定了在处理客诉时要采取不同的策略与措施。1)反应速度及针对对象不同:第一个阶段的特点是要快,快速答复并解决客户提出的问题,避
无刷直流电动机基本转动原理等内容请参考《基于霍尔传感器的无刷直流电机控制原理》、《基于反电动势过零检测法的无刷直流电机控制原理》与《以GD32F30x为例定时器相关功能详解》,BLDC基本原理及基础知识本篇不再赘述。直流无刷电机由于定子绕组的反电动势与电机的转速成正比,所以电机在静止时反电动势为零或低速时反电动势很小,此时无法根据反电动势信号确定转子磁极的位置。因此,反电动势法需要采用特殊启动技术,从静止开始加速,直至转速足够大。通过反电势能检测到过零时,再切换至直流无刷电机运行状态。这个过程称为“三段式”启动,主要包括转子预定位、加速和运行状态切换三个阶段。这样既可以使电机转向可控,又可以保
碎碎念:经过近一周的调试与查错(不好意思我实在太菜了),才终于从MATLAB代码的基础上,实现了Verilog对SVPWM算法的实现,同时给出仿真的结果。2022年10月20日更新:实在抱歉,由于之前在算法中没有考虑到输入电压值量化以及死区时间的问题,我也是在电路测试过程中才发现这个错误,今天进行了更正与修改。电压值量化的具体原理可以参考我的上一篇文章~目录1主要思路2模块代码2.1my_SVPWM模块2.2Jud_sec模块2.3 Cal_time模块2.4 Switch_time模块2.5Tri_gener模块2.6测试模块3仿真结果3.1MATLAB计算结果3.2Vivado2018.3
碎碎念:经过近一周的调试与查错(不好意思我实在太菜了),才终于从MATLAB代码的基础上,实现了Verilog对SVPWM算法的实现,同时给出仿真的结果。2022年10月20日更新:实在抱歉,由于之前在算法中没有考虑到输入电压值量化以及死区时间的问题,我也是在电路测试过程中才发现这个错误,今天进行了更正与修改。电压值量化的具体原理可以参考我的上一篇文章~目录1主要思路2模块代码2.1my_SVPWM模块2.2Jud_sec模块2.3 Cal_time模块2.4 Switch_time模块2.5Tri_gener模块2.6测试模块3仿真结果3.1MATLAB计算结果3.2Vivado2018.3
一段式、二段式、三段式状态机是按照书写FSM时使用的always块数目进行划分的,一般而言对于简单的状态机,可以使用一段式,其代码量以及使用资源都最少,但如果状态机较复杂,一段式状态机会对代码维护产生很大的不便,因此多使用便于维护的三段式状态机。下面对几种状态机进行介绍。一段式状态机 一段式FSM在一个时序always块中完成所有的状态转移以及输出工作,使用非阻塞赋值,如以下代码//一段式状态机moduleFSM1(input clk,input rst_n,input [3:0] i,output reg [3:0] o);parameter S1 =4'b0001;pa
一段式、二段式、三段式状态机是按照书写FSM时使用的always块数目进行划分的,一般而言对于简单的状态机,可以使用一段式,其代码量以及使用资源都最少,但如果状态机较复杂,一段式状态机会对代码维护产生很大的不便,因此多使用便于维护的三段式状态机。下面对几种状态机进行介绍。一段式状态机 一段式FSM在一个时序always块中完成所有的状态转移以及输出工作,使用非阻塞赋值,如以下代码//一段式状态机moduleFSM1(input clk,input rst_n,input [3:0] i,output reg [3:0] o);parameter S1 =4'b0001;pa
A.20时序逻辑实例四:状态机(三段式描述)什么叫做三段式描述的状态机?三段,可以理解为三个always程序块。(1)第一个always程序块采用同步时序逻辑电路描述状态转移。(2)第二个always程序块采用组合逻辑电路判断状态转移条件并描述状态转移规律。(3)第三个always程序块采用同步时序逻辑将结果寄存后输出。两者的区别是将原先第二个always程序块中对y和z的组合逻辑输出改为了第三个always块的时序逻辑的寄存输出。其实就这么简单,不少网络以及相关书籍上把它讲复杂了,甚至还给讲错了。网络上随便搜索“三段式状态机”,基本给出的第三段always块的例子基本都是基于next_sta
A.20时序逻辑实例四:状态机(三段式描述)什么叫做三段式描述的状态机?三段,可以理解为三个always程序块。(1)第一个always程序块采用同步时序逻辑电路描述状态转移。(2)第二个always程序块采用组合逻辑电路判断状态转移条件并描述状态转移规律。(3)第三个always程序块采用同步时序逻辑将结果寄存后输出。两者的区别是将原先第二个always程序块中对y和z的组合逻辑输出改为了第三个always块的时序逻辑的寄存输出。其实就这么简单,不少网络以及相关书籍上把它讲复杂了,甚至还给讲错了。网络上随便搜索“三段式状态机”,基本给出的第三段always块的例子基本都是基于next_sta