FOC 转子初始位置检测(图文详解)
本文介绍了PMSM的转子初始位置的各种情况;
文章目录
1 什么是转子的初始位置?
其实转子的初始位置是不确定的,但是在电机启动的时候,我们需要得到电角度,这样才可以进行矢量控制;所以,这里将转子与A轴重合作为初始位置,此时电角度也恰好为零,具体如下图所示;

)
至于原理下面会详细分析,这样在转子到初始位置后,也可以得到准确的电角度,就可以实现磁场和转子的同步转动。
2 如何让转子运行到初始位置?
其实这是一个很简单的问题,在这里我将它放大了,简单地分析了一下推导了一下,首先我们期望的结果是转子和A轴重合,准确地说是转子磁链和A轴重合。
之前在分析单电阻采样,对不同时刻的转子位置,处于不同的扇区时,电流的状态做了简单的分类讨论,首先看下图;

显然,当转子磁链与A轴重合的时候,逆变器的开关状态为:
SA:SB:SC—1:0:0
S_{A}:S_{B}:S_{C}—1:0:0
SA:SB:SC—1:0:0
这里规定上管打开,下管关闭的时候,SA=1S_{A} = 1SA=1;上管关闭,下管打开的时候,SA=0S_{A} = 0SA=0
因此可以得到
IA=IDCIC=IB=−IDC2I_{A} = I_{DC} \\
\\
\\
I_{C} = I_{B} = -\cfrac{ I_{DC}}{2} \\
IA=IDCIC=IB=−2IDC
静止坐标系αβ\alpha\betaαβ,α\alphaα轴的电流分量为iαi_{\alpha}iα,iβi_{\beta}iβ,则Clark变换满足以下公式:
iα=iAiβ=13∗iA+23∗iBi_{\alpha} = i_{A} \\
\\
i_{\beta} = \cfrac{1}{\sqrt{3}}*i_{A}+\cfrac{2}{\sqrt{3}}*i_{B}iα=iAiβ=31∗iA+32∗iB
所以根据Clark变换公式可以得到:
iα=IA=IDCiβ=13∗IA+23∗IB=13IDC−13IDC=0i_{\alpha} = I_{A} = I_{DC}\\
\\
i_{\beta} = \cfrac{1}{\sqrt{3}}*I_{A}+\cfrac{2}{\sqrt{3}}*I_{B} = \cfrac{1}{\sqrt{3}} I_{DC} - \cfrac{1}{\sqrt{3}} I_{DC} = 0iα=IA=IDCiβ=31∗IA+32∗IB=31IDC−31IDC=0
根据park变换:
id=iα∗cosθ+iβ∗sinθiq=−iα∗sinθ+iβ∗cosθi_{d}=i_{\alpha}*cos\theta+i_{\beta}*sin\theta \\
i_{q}=-i_{\alpha}*sin\theta+i_{\beta}*cos\thetaid=iα∗cosθ+iβ∗sinθiq=−iα∗sinθ+iβ∗cosθ
因为当前电角度为零,所以将 IA=IDC,IB=0,θ=0I_{A} = I_{DC},I_{B} = 0 ,\theta = 0IA=IDC,IB=0,θ=0 代入park变换的公式中,最终得到;
id=IDCiq=0i_{d}=I_{DC} \\
i_{q}=0id=IDCiq=0
所以可以设置id=IDC,iq=0i_{d}=I_{DC} ,i_{q}=0id=IDC,iq=0;然后通过park反变换得到Uα,UβU_{\alpha},U_{\beta}Uα,Uβ输入到SVPWM,就可以将转子驱动的和A轴重合的位置。
ipark_parameter.Ds = 0;
ipark_parameter.Qs = 20000;
ipark_parameter.Angle = 0;
ipark_calc(&ipark_parameter);
sv.Ualpha = ipark_parameter.Alpha;
sv.Ubeta = ipark_parameter.Beta;
svpwm_calc(&sv);
svpwm_update(ipark_parameter.Qs, &sv);
以上代码是实际测试中使用的,20000是电流的Q格式,最终可以实现预期的效果。
那么,如果iq=IDC;id=0;θ=0i_{q}=I_{DC} ;i_{d}=0;\theta = 0iq=IDC;id=0;θ=0;转子会出现什么样的情况呢?
3 iq=IDC;id=0;θ=0i_{q}=I_{DC} ;i_{d}=0;\theta = 0iq=IDC;id=0;θ=0
因为存在机械角度和电角度存在:电角度=机械角度*极对数;
所以如果电机极对数为1时:转子磁链与A轴夹角的机械角度为90°

所以如果电机极对数为2时:转子磁链与A轴夹角的机械角度为45°

FOC 转子初始位置检测(图文详解)的更多相关文章
- DELL R720服务器安装Windows Server 2008 R2 操作系统图文详解
DELL R720服务器安装Windows Server 2008 R2 操作系统图文详解 说明:此文章中部分图片为网络搜集,所以不一定为DELL R720服务器安装界面,但可保证界面内容接近DELL ...
- Windows XP硬盘安装Ubuntu 12.04双系统图文详解
Windows XP硬盘安装Ubuntu 12.04双系统图文详解 Ubuntu 12.04 LTS版本于2012年4月26日发布,趁着五一放假,赶紧在自己的Windows XP的电脑上安装下Ubun ...
- 全网最详细的Eclipse和MyEclipse里对于Java web项目发布到Tomcat上运行成功的对比事宜【博主强烈推荐】【适合普通的还是Maven方式创建的】(图文详解)
不多说,直接上干货! 首先,大家要明确,IDEA.Eclipse和MyEclipse等编辑器之间的新建和运行手法是不一样的. 全网最详细的MyEclipse里如何正确新建普通的Java web项目并发 ...
- 全网最详细的MyEclipse里如何正确新建普通的Java web项目并发布到Tomcat上运行成功【博主强烈推荐】(图文详解)
不多说,直接上干货! 首先,大家要明确,IDEA.Eclipse和MyEclipse等编辑器之间的新建和运行手法是不一样的. 如果是在eclipse里,则是File -> new -> ...
- SPSS学习系列之SPSS Modeler的功能特性(图文详解)
不多说,直接上干货! Win7/8/10里如何下载并安装最新稳定版本官网IBM SPSS Modeler 18.0 X64(简体中文 / 英文版)(破解永久使用)(图文详解) 我这里,是以SPSS ...
- 图文详解 Android Binder跨进程通信机制 原理
图文详解 Android Binder跨进程通信机制 原理 目录 目录 1. Binder到底是什么? 中文即 粘合剂,意思为粘合了两个不同的进程 网上有很多对Binder的定义,但都说不清楚:Bin ...
- cloudemanager安装时出现failed to receive heartbeat from agent问题解决方法(图文详解)
不多说,直接上干货! 安装cdh5到最后报如下错误: 安装失败,无法接受agent发出的检测信号. 确保主机名称正确 确保端口7182可在cloudera manager server上访问(检查防火 ...
- (转)CentOS 6下配置软RAID图文详解
CentOS 6下配置软RAID图文详解 原文:http://blog.51cto.com/hujiangtao/1929620 一.RAID 简介 RAID 是英文Redundant Array o ...
- (转)CentOS系统启动流程图文详解
CentOS系统启动流程图文详解. 原文:http://www.linuxidc.com/Linux/2017-03/141966.htm 熟悉系统启动流程对于我们学习Linux系统是非常有帮助的,虽 ...
随机推荐
- Atcoder E - Crested Ibis vs Monster、
一看到题目就觉得是一个背包问题,但是不知道怎么写. 题解:直接求背包容量为2*h时所需要的花费.然后h~2h都是满足条件的,去最小值即可. code: #include<bits/stdc++. ...
- lua 逻辑运算 and, or, not
这边并非说lua低级,为了方便区分才这么写的. 高级语言中的逻辑运算符是&&,||,! a&&b : 当a和b都为真, 结果返回为真,当a或者b有一个为假,结果返回为假 ...
- java多线程3:原子性,可见性,有序性
概念 在了解线程安全问题之前,必须先知道为什么需要并发,并发给我们带来什么问题. 为什么需要并发,多线程? 时代的召唤,为了更充分的利用多核CPU的计算能力,多个线程程序可通过提高处理器的资源利用率来 ...
- Redis安装部署(一主二从三哨兵)
需求:根据当前客户的生产环境,模拟安装部署Redis的测试环境,方便后续的功能测试. 1.准备工作 2.安装编译Redis 3.Redis运行环境配置 4.Redis启动和关闭 1.准备工作 Redi ...
- 最简单的懒人springcloud之Eureka(服务注册与发现)
本文开发软件是STS,是eclipse为springboot项目而生的一个软件,用这个软件开发spring的项目版本都会自己对应的,话不多说直接上代码 springboot版本2.1.8.RELEAS ...
- IDEA惊天bug:进程已结束,退出代码-1073741819 (0xC0000005)
由于昨天要写的文章没有写完,于是今天早上我四点半就"自然醒"了,心里面有事,睡觉也不安稳.洗漱完毕后,我打开电脑,正襟危坐,摆出一副要干架的态势,不能再拖了. 要写的文章中涉及到一 ...
- 15分钟从零开始搭建支持10w+用户的生产环境(三)
上一篇文章介绍了这个架构中,选择MongoDB做为数据库的原因,及相关的安装操作. 原文地址:15分钟从零开始搭建支持10w+用户的生产环境(二) 三.WebServer 在SOA和gRPC大行其 ...
- shell脚本:备份数据库、代码上线
备份MySQL数据库场景:一台MySQL服务器,跑着5个数据库,在没有做主从的情况下,需要对这5个库进行备份 需求:1)每天备份一次,需要备份所有的库2)把备份数据存放到/data/backup/下3 ...
- Linux查看端口或pid使用路径
1. lsof -i:10010 查看10010端口的占用情况 命令返回结果: 2. netstat -lpn | grep 80 查看80端口服务端socket占用状况 3. ll /proc/26 ...
- udp包最大数据长度是多少
因为udp包头有2个byte用于记录包体长度. 2个byte可表示最大值为: 2^16-1=64K-1=65535 udp包头占8字节, ip包头占20字节, 65535-28 = 65507 ...