- 博客(48)
- 资源 (9)
- 收藏
- 关注

原创 svpwm 不同ualpha ubeta 对应的 占空比波形
使用svpwm改变ualpha和ubeta比例观测占空比变化(比较器值)看以看出当ualpha =ubeta时占空比都是马鞍波如果不相等就波形会变化,但是duty1始终自身中心对称,duty2和duty3两个保持镜像关系。Ualfa大的时候duty2两边低中心高...
2019-08-19 19:27:36
3352

原创 stm32fc8 常见问题
4 观察的数据Watch实现实时刷新;3、KEIL编译出现错误“source file is not valid utf-8” 表明有中文输入的字符,标点符号或者空格等等,删掉用英文输入即可。 2、flash stm32f103c8flash读写操作发现stm32f103flash并0x0800FFFF截止(64K) 地址超出会报错 上升沿与下降沿都能中断的,然后...
2019-02-19 17:52:27
824
原创 电机控制从入门到吹牛-FOC 坐标变换
为什么要进行坐标变换呢?个人认为这是因为FOC控制要求三相电流为正弦波,并且正弦度会影响到扭矩波动,正弦度越好,则扭矩波动越小,但是三相相电流互相耦合,难以同时进行控制,进行clark 和park 变换后三相正弦电流信号转变为两相独立的直流信号,从而可以对两个直流信号分别进行闭环控制。)是永磁同步电机中避不开的一个话题,磁场定向控制主要有坐标变换和svpwm 实现。svpwm是把要控制的电压从alpha beta 两相坐标系转换到三相电压。每个变换所处的位置如下图所示。功率不变clark变换推导过程。
2025-03-02 22:29:35
215
原创 使用matlab 对传递函数分析bode图和阶跃函数
如果已知一个系统的传递函数,想看一下bode图,可以通过simulink 建模,但是simulink运行起来相对比较慢,我一般都是直接通过matlab 的m语言写脚本实现。运行后可以获得结果,博得图显示的带宽和我们设置的100 一致。如 我们有一个一阶低通传递函数 sys=wn/(s+wn)在matlab中首先定义一个变量。
2025-02-09 14:38:32
750
原创 通过最小二乘法实现对电机控制器的电阻和参数的辨识
如果在工作中领导突然给你一个电机让你实现对这个电机的控制,这个时候我们往往第一步是想测量电机的电感和电阻,但是小编是个社恐的人,不想总是去接电桥,为了解决这个问题,小编无奈之下对电机离线参数辨识进行了研究
2024-07-20 21:57:44
438
1
原创 verilog 从入门到看得懂---matlab 自动生成verilog
matlab 的强大不用多说,以前经常用simulink 生成c,最近尝试用simulink进行了verilog的生成,方法也很简单。一个简单的示例如下。3.点击 generation HDL Code。1,新建一个模型文件,并且根据需要进行模型搭建。2.配置HDL生成模块。
2024-04-24 23:28:52
1896
原创 verilog 从入门到看得懂---verilog 结构说明语句
如 always@(posedge clock or posedge rest) //在时钟上升沿或者rest 上升沿的时候才会触发always后面跟随的语句 or 也可以使用‘,’代替。最简单的always always #10 a= ~a;调用的时候 my_task(v,w,x,y,z)//和上面端口定义的顺序匹配。// 再延迟10个周期后为2。2)always说明语句(敏感参数触发的时候调用)// 延迟10个周期后为1。// 再延迟10个周期后为3。// 再延迟10个周期后为4。
2024-04-04 11:16:29
429
原创 verilog 从入门到看得懂---verilog 的基本语法各种语句
本篇文章主要介绍verilog里面常用的语句, 包括条件语句、循环语句块语句和生成语句。这里case后面跟得是一个常数,下面的选择则为变量,具体含义为sel[n]为1的时候则执行对应的回路,综合后的电路如下。2.case 语句, 对于需要多分支选择的条件,可以使用case语句,避免使用大量的if else。1,if 语句,在需要判断逻辑的时候可以使用if语句,如 从输入a,b中找出最大值。verilog 语句之间一般是并行关系,但是对于顺序块语句中的程序会顺序执行。#30// 本处延迟30个clock。
2024-03-28 22:16:14
1135
原创 verilog 从入门到看得懂---verilog 的基本语法数据和运算
数子常用的表现形式包括二进制十进制和十六进制,下面展示了用不同进制表示一个字为10二进制 4'b1010;十进制 4’d10;十六进制 4‘hA;如果直接写10,则默认是十进制。对于负数则如下表示:二进制 -4'b1010;十进制 -4’d10;十六进制 -4‘hA;对于c编程中一个bit只能有两种情况 true或者false 也即 1或者0.但是对于实际电路中出了0或者1 还有另外两个值,使用x表示不定值,使用z/?代表高阻值如二进制 4'b101z;十进制 4’dz;
2024-03-17 20:42:21
914
原创 电机控制从入门到吹牛
工作后一直从事电机控制相关工作,本系列主要是对目前所学的电控相关知识进行总结,可能总结不会很深入(比较电控博大精深),但是本系列力争广度,从而保证入门以及对标题吹牛的呼应。
2024-03-11 22:37:03
242
原创 verilog 从入门到看得懂---verilog 介绍
Verilog HDL 是一种硬件描述语言,HDL是 hardware description language发缩写。可以用于数字电子下系统的设计。通俗点说就是在设计数字芯片或着使用cpld 或者fpga的时候用到,比如在设计电路的时候,如果要试一下一个计数功能,不适用硬件描述语言,就需要自己亲自选择元器件进行设计,如下图所示:但是当你选择使用verilog的时候可以通过下面的语言实现,通过用编程语言更加直观的表现运行的逻辑,并且可以尽量分离硬件和算法,减小工作的复杂度。
2024-03-11 22:19:09
709
原创 电机系统工况平均效率计算
针对三合一系统(控制器、电机和减速器)已经被完全整合在一起,在研发前期根据台架的测试数据,对电控系统进行评估是很重要的。
2022-04-04 23:33:58
3856
11
原创 FFT 软件分享
导入一组原始数据,y=5*SIN(2*PI()*5*t)+2*SIN(2*PI()*10*t) 采样频率为1k;02.1531072522.2981822.4351160682.563832492.6842853582.7964595452.9003703122.9960627963.0836113813.1631189613.2347160873.2985600183.3548336653.4037444373.4455230033.480421963.508714.
2021-11-15 22:28:09
2114
2
原创 新能源电动汽车电驱动系统效率计算
以前做的一些研究,记录一下,否则都快尘封了。根据输入的工况和已知电机系统的map数据,绘制对应工况下的效率。插值选择不同转速下的效率点 ,这里是对应的NEDC工况最后计算出来对应的实时效率并且会输出工况的平均效率瞬时功率...
2020-08-26 22:05:51
3988
6
原创 vs2015 给组件绘制边框颜色
在属性 里有一个Paint 点击进入cs编写框。private void g_Paint(Object sender,PaintEventArgs e){e.Graphics.Clear(this.BackColor);SizeF frontSize=e.Graphics.MeasureString(gB1.text,gB1.Font);//重新制定文字 字体 画刷 制定位置上绘制字符串e.Graphics.DrawString(gb1.text,gb1.Font,Brush...
2020-08-11 10:30:10
662
原创 下载网站TS格式文件进行合并
IDM可以下载视频网站的文件,但是很多下载下来的都是ts文件,需要合并。合并方法win+R 调出cmd文件然后输入copy /b (ts文件目录) (输出文件目录)回车运行 合成
2020-07-31 13:16:48
2334
转载 Zedgraph 在曲线上添加显示数据
转自:https://www.cnblogs.com/xiongeee/archive/2007/11/09/953972.html总结:在曲线上有的时候需要显示一些点的数值,搜索了网络发现都是通过PointPair 实现的,for (int i = 0; i < y.Length; i++) { // Get the pointpair PointPair pt = curve.Points[i]; /...
2020-07-08 11:34:51
1714
1
原创 C# 大量数据写入文件方法
方法1: using (System.IO.StreamWriter file = new System.IO.StreamWriter(@FileAddress, true)) { foreach (string line in bufferStr1000) { //if (!line.Contains("second")) ...
2020-07-06 15:07:41
3068
原创 逻辑分析仪 抓取串口数据
接线 :地接好,A+接通道0.设置串口属性,波特率9600 8个数据位,1个停止位没有奇偶校验小端在前设置显示属性,这里是十六进制显示结果如下:一定要保证物理上接线牢固,软件上参数设置正确...
2020-06-30 15:37:13
3543
原创 电磁学基础
磁学基础物理系统都是由势、流和阻抗三个组成。 对于电磁由磁动势、磁通和磁阻组成。磁通量同电流一样也要有一个完成的回路,规定从北极出发从南极回来,并且和所有的系统一样,只能同时控制三个变量中的两个,另外一个变量由系统特性也即上面的公式决定。比如 一个电源直接加在电阻两端,电源电压和电阻阻值确定后,电流就确定了,对于一个固定的电阻,不可能要求系统同时满足任意给定的电压和电流。不同材料的用磁导率u,表示导磁能力,磁导率越高,则表明同等条件该种材料磁阻越小,真空磁导率记为:(真空中两.
2020-06-27 15:57:41
9070
1
原创 dsp 28335 #Define 数字超量程
用#define定义了 #define A 600在进行乘法运算的时候总是错误 A*A后来发现是A*A超数据范围了改成 (float)A*(float)A就可以正常计算
2020-06-18 15:58:33
337
原创 DH参数结果推导坐标转换矩阵
通过建立RQP三个中间坐标系,这样可以简化推导过程根据DH建模标定后的参数代入下式,可以获得坐标系i中的点在i-1坐标系中的描述。对于整个机械臂这可以通过每个关节的转换矩阵进行转换从关节角度可以推倒出工作空间坐标,也可以推导驱动器的执行命令。这样可以实现机器人的驱动。...
2020-06-08 15:22:38
7065
1
原创 机器人运动学 DH参数
对于一个机械臂,这里已旋转副连接为例,描述需要用到两个参数,连杆转角和连杆长度。这连个都是机械臂本身结构决定的参数。用于描述机械臂两端连接轴的数学关系,转角和公垂线的距离在用于描述两个机械臂之间的关系时候,可以使用简化后的模型描述,也即使用两个公垂线的偏距和夹角表述连接关系。定义公垂线在空间的轴线上的偏移为连杆偏距,偏差的角度定义为关节角。连杆和连接之间的关系可以使用上述的四个参数:连杆长度、连杆转角、连杆偏距和关节角 描述。关节角由驱动电机进行控制,其他三个参数都是由结构确定的,结
2020-06-07 11:48:12
11275
1
原创 zedGraph 绘制实时曲线 卡顿
zedGraph是一个开源的曲线绘制插件,由于要制作上位机显示实时数据,百度搜索到了zedgraph,优点是开源,功能也够使用。缺点是看网址08年后就没有更新过。尝试使用了一下,感觉还可以。曲线绘制直接看下图。原理很简单。设置一个曲线属性,然后一直给曲线加点,就会在图上显示。网上也有很多历程。下面是一个生成两个图幅的例子通过定时器更新曲线,在vs中使用c#实现,网上可以找到源代码。有很多类似的public partial class Form1 : Form { .
2020-05-20 17:38:55
2408
3
转载 [解决办法]创建组件“XXX”失败,错误消息为:System.Runtime.InteropServices.COMException (0x8004D745):项目中已经存在对组件“XXX”的引用
方案整理者:wanghuadun 发布时间:2011-11-20如题。删除一个窗体控件后再加入时引发的错误。解决办法如下:在解决方案资源管理器中显示所有文件,展开引用项,删除提示已引用的组件。此时会爆出N多的错误提示。没关系的,在任一窗口添加该控件,自动重新正确引用。问题解决。无意间产生的,原因不明,解决它倒困惑了好久。也搜了论坛未果。特贴出来供碰上同样问题的兄弟姐...
2020-04-24 11:35:12
3008
1
原创 matlab simulink 两个采样时间不同的系统串联工作 可以使用Rate Transition在中间连接
对于个系统,由于任务调度时间不同,执行周期不同,在中间连接信息交换的时候,simulink会报采样周期不一致错误;想了很多办法,最后发现matlab有现成的模块,ratetransition只要放在两个系统中间,把两个系统的采样时间分别设置,然后用ratetransition把两个系统传递的信号链接上,就直接可以兼容不同的采样时间,非常简单,如下:...
2020-02-03 10:57:43
11649
2
原创 matlab simulink 调用function 如何使用全局变量
smulink可以很方便的搭建系统模型,通过使用function可以移植c代码,验证实际的离散系统性能。Matlabfunction函数框如下:1、首先定义全局变量globala; 通过EditData 新建变量a,并且属性Scope选择Data store memory2、通过simulink View-》ModelExplore——》BaseWo...
2020-02-01 13:28:27
6591
1
原创 vs code 提示未定义的标识符 不能提示变量 vscode 未找到任何定义
{ "configurations": [ { "name": "Win32", "includePath": [ "${workspaceFolder}" ], "defines": [ "_DEBUG", ...
2019-12-04 10:40:56
16262
3
原创 stm32f103 根据库函数查寄存器配置
stm32基本都是用库做配置,查找库配置后对应的寄存器关系如下,用定时器举例:传递的参数1为一个指针 指向要配置的模块的首地址,后边是配置后的结构体。函数就是把结构体里参数给寄存器赋值。 TIM_TimeBaseInit(TIM1,&TIM_TimeBaseInitStructure);通过在TIM1上右键可以找到定义#define TIM1 ...
2019-12-03 11:36:57
853
原创 stm32F103重映射
103可以进行重映射映射选项根据REMAP寄存器的值确定 。如tim3 TIME3_REMAP[1:0]=0则使用PA6 PA7PB0 PB1 =10B PB4 PB5 PB0 PB1 = 11...
2019-12-02 17:31:25
2930
原创 dsp flash 程序搬运到ram
SECTIONS{ /* Allocate program areas: */ .cinit : > FLASHB PAGE = 0 .pinit : > FLASHB, PAGE = 0 .text : > FLASHB PAGE = 0...
2019-07-18 16:51:17
645
原创 Intel Hex文件解析
ccs属性设置可以生成hex文件,hex是标准的16进制格式,包含数据起始标志、数据长度、数据地址、数据类型、数据内容和校验和,下边是用vs对hex文件进行读取和解析,得到地址和内容。 include"stdio.h" #include"MCU_header.h"/*void writeExcel(void) { FILE *fp = NULL; float t;...
2019-07-17 10:54:27
1574
原创 指向函数的指针
#include"stdio.h"void func(void){ printf("hello world\n");}void main(){ //定义了一个指向func的函数指针 //func_p的值等于func的地址 但是其类型为函数指针 void (*func_p)(void) = func; (*func_p)(); (func_p)(); printf...
2019-07-10 10:42:28
483
原创 dsp gpip操作 data set 和clc
GpioDataRegs.GPBDAT.bit.GPIO53=1; / GpioDataRegs.GPBSET.bit.GPIO53=1; 当对gpio置位或者清零操作时,直接操作dat要在前后加5个指令周期的延时,否则连续操作,可能不起作用如果是通过set或者clc,经过测试可不用...
2019-06-28 10:48:29
1014
电控系统效率计算 根据工况进行计算效率
2022-04-04
Motor map绘制使用说明.pdf
2020-11-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人