- 博客(16)
- 收藏
- 关注

原创 你的SVPWM该换了之SYPWM
一、简介本文主要以matlab 2019b版本建模,引入SYPWM调制算法,相比SVPWM算法更加简洁,不用区扇区,计算简单,适合嵌入式代码。SVPWM算法(空间矢量PWM)是从事电控最常用的算法,向量分解、扇区确定、向量时间计算、占空比计算,计算过程比较繁琐。这种算法在工程上应用并没有什么问题,不过公式求解过程太复杂和繁琐,不利于理解。SYPWM主要是将三项目标电压进行平移和拼接,实现与SVPWM算法几乎一样的效果,但是计算量小了很多,不用计算扇区,可以直接得出三项PWM占空比二、SYPW
2020-05-22 14:28:47
2026
7
原创 NXP S32K358 davinci cfg can驱动配置
NXP S32K358一共有8路can,都支持Can FD和Classical Can。其中FlexCan0-2是增强型CAN,支持8byte的mailbox 96个。FlexCan3-7支持8byte的mailbox 64个。
2023-12-27 19:09:24
1813
原创 FreeRTOS Heap_1、Heap_2、Heap_3、Heap_4、Heap_5的区别
FreeRTOS提供了五种内存管理的方式,下文将对以下五种内存分配进行说明:1.Heap_1Heap_1 堆大小通过FreeRTOSConfig.h中的configTOTAL_HEAP_SIZE定义设置,在源码通过数组的总大小configTOTAL_HEAP_SIZE(bytes)定义设置,允许使用pvPortMalloc(),但没有实现vPortFree()。当调用pvPortMalloc()时,heap_1分配方案将一个简单数组细分为更小的块。这个数组被称为FreeRTOS堆。每个创建的
2021-11-10 16:24:10
5166
原创 Matlab命令
1.管理会话的命令命令 描述说明 clc 清初命令窗口 clear 从内存中删除变量 exist 检查文件或变量是否存在 global 声明变量为全局变量 help 搜索帮助主题 lookfor ...
2020-05-25 15:51:54
399
原创 使用simulink生成Autosar C/S接口代码
一、简介本文主要以matlab 2019b版本,主要讲解怎么用simulink生Autosar C/S接口:1.设置生成嵌入式C代码;2.生成自己想要变量代码;3.生成自定义名称函数二、具体实现方法
2020-05-21 17:51:48
8355
4
原创 Matlab 2019b simulink 生成C代码(二)用fixed point tool 生成定点代码
一、简介本文主要以matlab 2019b版本,主要讲解怎么用simulink和fixed point tool生成嵌入式定点c代码:在嵌入式代码设计中,由于浮点运算特别占用CPU资源,我们通常使用将浮点转化成定点再运算。下面讲用fixed point tool 生成定点嵌入式代码。Fixed-Point Tool用户界面,可自动执行Simulink®模型中指定定点数据类型的任务。该工...
2020-03-08 15:17:34
5227
1
原创 Matlab 2019b simulink 生成C代码(一)
一、简介本文主要以matlab 2019b版本,主要讲解怎么用simulink生成嵌入式c代码:1.设置生成嵌入式C代码;2.生成自己想要变量代码;二、具体实现方法1.我们以FOC控制坐标变换Clark变换为例:Ialpha = Ia;Ibeta = (Ia+2*Ib)/先在configuration->solver,设置如下图,代码运行周期设置为50...
2020-03-08 14:40:43
11649
5
原创 Stateflow建模与应用
Stateflow简介Stateflow是有限状态机(finite state machine)的图形工具,它通过开发有限状态机和流程图扩展了Simulink的功能。Stateflow使用自然、可读和易理解的形式,可使复杂的逻辑问题变得清晰与简单,并且还与MATLAB\Simulink紧密集成,为包含控制、优先级管理、工作模式逻辑的嵌入式系统设计提供了有效的开发手段,是本书的核心内容之一。读者...
2020-01-16 16:49:43
1313
转载 浪涌-雷击浪涌的防护
1、电子设备雷击浪涌抗扰度试验标准电子设备雷击浪涌抗扰度试验的国家标准为GB/T17626.5(等同于国际标准IEC61000-4-5 )。标准可以再www.hw100k.com网站 可靠性板块 进行下载:http://www.hw100k.com/forum.php?mod=viewthread&tid=3528&extra=标准主要是模拟间接雷击产生的各种情况:...
2018-11-12 10:55:57
3970
原创 迭代法定点求actan代码实现
#define NEG_PI_BY_2 (-16384)#define PI_BY_2 (16384)#define PI (32767)#define NEG_PI (-32767)uint16_t CORDIC_DATA[16] = {0x2000,0x12E4,0x09FB,0x0511,0x028B,0x0146,0x00A3,0x0051 ...
2018-06-20 17:10:37
1163
1
原创 KEIL5将背景设置成黑色的方法
1.第一步找到这个文件2.将下面代码复制替换下图框中的地方font.monospace.cpp=Fixedsysstyle.cpp.32=font:Fixedsys,size:10,fore:#9CDCFE,back:#1E1E1Estyle.cpp.4=font:Fixedsys,size:10,fore:#4EC9B0,back:#1E1E1Estyle.cpp.10=font:Fixedsy...
2018-06-09 09:59:37
56884
24
原创 SVPWM基本原理
SVPWM 的理论基础是平均值等效原理,即在一个开关周期内通过对基本电压矢量加以组合,使其平均值与给定电压矢量相等。在某个时刻,电压矢量旋转到某个区域中,可由组成这个区域的两个相邻的非零矢量和零矢量在时间上的不同组合来得到。两个矢量的作用时间在一个采样周期内分多次施加,从而控制各个电压矢量的作用时间,使电压空间矢量接近按圆轨迹旋转,通过逆变器的不同开关状态所产生的实际磁通去逼近理想磁通...
2018-05-14 09:53:54
13569
5
原创 ESD静电保护(ESD器件保护原理及选型)
通常情况ESD保护电路如下当系统没有干扰,正常工作时,TVS可以忽略,几乎不起作用当外部接口电压超过TVS的击穿电压(VBR),TVS开始起作用,并将电流分流到地。实际TVS的工作电压(VRWM)与击穿电压(VBR)的区别,选择TVS应该选择系统工作电压小于TVS的工作电压(VRWM),例如系统是0~5V,那么我们应该选择工作电压(VRWM)大于5V的TVS。单向TVS和双向TVS,双向TVS可以...
2018-05-11 15:54:49
41795
18
原创 关于接触载荷的注意事项(继电器的使用)
1.最小负载 在高于最小负载的电压和电流下使用继电器; 否则接触电阻会增大,信号不能正确传输。 这是因为在最小负载下无法预期接点的稳定性。 (一定的负载水平将消除接触表面上产生的微小物质。)另外,即使负载处于最大额定值范围内,请注意,在携带时电流不会低于最小负载。2.切换负载 继电器有两种类型的负载电流控制。 一个是“非工作”。 它是由晶体管等负载电流开关,继电器只承载负载电流。 另...
2018-03-08 10:05:47
1949
原创 SVPWM实现概述
SVPWM是FOC的基础,其实现流程大致如下所示:1. 判断合成矢量所在扇区2. 计算相邻矢量作用时间3. 计算各桥臂导通时间4. 得到各相PWM占空比5. 更新相应寄存器值 SVPWM目标矢量是根据其所在扇区选择非零矢量与零矢量合成而成,有五段式、七段式、混合式,七段式开关次数较多,但谐波较小;五段式开关次数是七段式的一半,但谐波较大,下
2018-01-30 11:46:38
7162
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人