FOC 电流采样方案对比(单电阻/双电阻/三电阻)
如果本文帮到了你,帮忙点个赞;
如果本文帮到了你,帮忙点个赞;
如果本文帮到了你,帮忙点个赞;
创作不易 谢谢支持
文章目录
1 电流采样的作用
在FOC算法中,电流采样在反馈环节是相当重要的一部分,无论是有感FOC,还是无感FOC,相电流是交流三相同步电机在进行坐标变换的关键,最终通过SVPWM实现电机转子磁场和定子磁场的同步转动,通常这里有三种方案,单电阻采样,双电阻采样,三电阻采样,关系到整体系统的成本,算法的复杂程度和最终运行的效果,这里需要更加项目的具体需求进行选择。本文参考ST的单电阻和三电阻采样以及TI的双电阻采样,还有microchip的资料,结合实际中可能需要注意的地方进行总结分析。
几种电流采样方案的对比;
| 电流采样 | 成本 | 算法 |
|---|---|---|
| 单电阻 | 低 | 复杂 |
| 双电阻 | 适中 | 适中 |
| 三电阻 | 高 | 简单 |
2 硬件架构
硬件上的设计通常是采集三相电流,通过运算放大器加偏置电压,这样可以就可以采集正负电流,最终在MCU中处理的时候减去偏置电压就行,以Infineon XC167CI SK Board单电阻的方案为例子,具体电路拓扑图如下;

下面是TI C2000 的方案

AP1608410 原文链接
运算放大器

3 采样关键
采样的关键是需要在三相逆变器高端关闭,低端打开的情况下进行采样,这是整体的采样点。因此,采样会存在窗口时间,因为ADC转换完成需要一定数量级的时间,也就是说,在ADC转换完成之前,桥低端是不能关闭的,在这里,双电阻和单电阻采样需要考虑窗口时间的限制,而三电阻采样则不存在窗口时间(PWM占空比接近100%),可以根据SVPWM当前所在象限,进行分类,只需要采集其中不受窗口时间限制的两相电流,然后根据 Ia+Ib+Ic=0I_{a}+I_{b}+I_{c} = 0Ia+Ib+Ic=0,进行电流的重构。
4 采样方案
电流采样比较关键的地方主要是硬件的设计和采样点的设置,这里在后面会涉及到通过相应的触发信号去通知ADC进行电流采样,最后进行电流重构。
5 三电阻采样
TI的三电阻采样

5.1 三电阻采样点
正如前面所提到的三电阻采样可以避免窗口时间,如下图所示;在不同扇区需要采样的相电流,可以看到,共同点是避免去采样PWM占空比接近100%的那一相电流。

可以参考一下ST的电机库的做法,通过TIMER_CH4作为ADC采样的触发信号,而采样则可以通过修改TIM_CCR4寄存器去改变采样点,相当灵活的做法;

5.2 双电阻采样
双电阻采样无法避免窗口时间,所以需要限制最终PWM的占空比,为ADC转换预留足够的时间;

5.3 双电阻采样点

5.4 单电阻采样
单电阻采样需要在一个PWM周期内进行两次采样,下面需要在SVPWM六个扇区进行相电流的分类,这里可以对SVPWM的原理进行分析,从而了解如何对电流进行重构;单电阻的电路结构如下图所示;

为了便于理解整个采样的过程,为了表示逆变器的开关管的状态,
Sa表示A相的上下管,同理Sb表示B相的上下管;
这里规定:
Sa = 1表示上管导通,下管断开;
Sa = 0表示下管导通,上管断开;
Sb和Sc以此类推;
5.4.1 Sa Sb Sc:100

5.4.2 Sa Sb Sc:110

5.4.3 SVPWM的开关状态
| 开关状态 | AH | BH | CH | 电流 |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 1 | 1 | 0 | 0 | IAI_{A}IA |
| 2 | 1 | 1 | 0 | −IC-I_{C}−IC |
| 3 | 0 | 1 | 0 | IBI_{B}IB |
| 4 | 0 | 1 | 1 | −IA-I_{A}−IA |
| 5 | 0 | 0 | 1 | ICI_{C}IC |
| 6 | 1 | 0 | 1 | −IB-I_{B}−IB |
| 7 | 1 | 1 | 1 | 0 |
因此,单电阻采样,需要在一个PWM周期内进行两次采样;具体如下图所示;

图中的SAL,SBL,SCL分别对应整流桥的下管,因此在一个周期内分别进行了Sample 1和Sample 2这两次采样,对照上表可以推出;
- Sample 1:采集了开关管状态为
SAL SBL SCL:101==>SAH SBH SCH:010,此时采样电流为 IBI_{B}IB; - Sample 2:采集了开关管状态为
SAL SBL SCL:100==>SAH SBH SCH:011,此时采样电流为 −IA-I_{A}−IA;
原理搞清楚之后,下面要注意的地方还有两点采样点的确认和窗口时间的限制;
5.4.4 ST方案

6 总结
本文介绍和对比了三种电流采样方案,简单给出了需要注意的地方,由于本人能力有限,文中难免出现错误和纰漏,请大佬不吝赐教。
7 附录
microchip 资料汇总
TI 1-, 2-, and 3-Shunt FOC Inverter Reference Design
FOC 电流采样方案对比(单电阻/双电阻/三电阻)的更多相关文章
- FOC 电流采样为什么不准?你忽略了这个细节
文章目录 1 引言 2 延迟类型及典型时间 3 延迟源详细分析 3.1PWM死区时间插入 3.2 光耦延迟和预驱动器延迟 3.3晶体管开关延迟 3.4其他延迟 4 结语 在电机驱动的FOC控制开发过程 ...
- python中的单引号,双引号,三引号
转载自: http://blog.csdn.net/wanghai__/article/details/6285310 先说1双引号与3个双引号的区别,双引号所表示的字符串通常要写成一行 如: s1 ...
- FOC中的电流采样
电流采样是FOC的基础,具体有电流传感器采样.电阻采样,电阻采样以其简单低成本的应用广泛使用. 电阻法采样有单电阻采样.双电阻采样.三电阻采样. 一. 单电阻采样 单电阻采用分时采样,在一个PWM周期 ...
- [硬件项目] 2、汽车倒车雷达设计——基于专用倒车雷达芯片GM3101的设计方案与采用CX20106A红外线检测芯片方案对比
前言 尽管每辆汽车都有后视镜,但不可避免地都存在一个后视镜的盲区,倒车雷达则可一定程度帮助驾驶员扫除视野死角和视线模糊的缺陷,提高驾驶安全性.上一节已经分析清倒车雷达的语音模块(上一节),本节将深入分 ...
- 三维重建:深度相机方案对比-KinectFusion的基本原理(尺度)
算法原理请参考此文: kinect fusion 3D重建基本算法 http://log.csdn.net/xiaohu50/article/details/51592503 三维重建为三维空间实 ...
- 烂泥:nagios监控单网卡双IP
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 公司的业务有几台服务器存放在IDC机房中,说是双线路.但是我看到网卡的配置是单网卡双IP的形式.如下: 而公司这边的线路是联通的IP,如下: nagio ...
- hive 压缩全解读(hive表存储格式以及外部表直接加载压缩格式数据);HADOOP存储数据压缩方案对比(LZO,gz,ORC)
数据做压缩和解压缩会增加CPU的开销,但可以最大程度的减少文件所需的磁盘空间和网络I/O的开销,所以最好对那些I/O密集型的作业使用数据压缩,cpu密集型,使用压缩反而会降低性能. 而hive中间结果 ...
- Word中一条删除不掉的单或双横线的解决办法
Word中一条删除不掉的单或双横线 有时你或许会遇到这样一种情况:在word中,有一条单或双横线怎么都删除不了,并且具有这样的特点: 在上面输入文字,横线会自动下调一行,如果文章过页,每页的尾部会有一 ...
- 数据结构与算法之PHP实现链表类(单链表/双链表/循环链表)
链表是由一组节点组成的集合.每个节点都使用一个对象的引用指向它的后继.指向另一个节点的引用叫做链表. 链表分为单链表.双链表.循环链表. 一.单链表 插入:链表中插入一个节点的效率很高.向链表中插 ...
随机推荐
- 简单的Tuple声明和输出
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 提高万恶的KPI,切忌要避开这六个低效的编程习惯
作者:程序员小跃 Slogan:当你的才华还无法撑起你的野心时,那应该静下心来好好学习 上次的翻译,引起了很大的反响,大家都想知道自己和高级工程师的差距,看了我的文章,是不是都在默默地做着比较呢?如果 ...
- 【题解】P3349 [ZJOI2016]小星星 - 子集dp - 容斥
P3349 [ZJOI2016]小星星 声明:本博客所有题解都参照了网络资料或其他博客,仅为博主想加深理解而写,如有疑问欢迎与博主讨论✧。٩(ˊᗜˋ)و✧*。 题目描述 小 \(Y\) 是一个心灵手巧 ...
- JavaScript表达式和运算符 —— 基础语法(4)
JavaScript基础语法(4) 运算符 运算符用于将一 个或者多个值变成结果值. 使用运算符的值称为操作数,运算符和操作数的组合称为表达式 JS中的运算符可以分成下面几类: 算术运算符 逻辑运算符 ...
- 理解java容器底层原理--手动实现LinkedList
Node java 中的 LIinkedList 的数据结构是链表,而链表中每一个元素是节点. 我们先定义一下节点: package com.xzlf.collection; public class ...
- 算法笔记刷题3(codeup 5901)
今天刷题的速度依旧很慢(小乌龟挥爪.jpg) 我觉得codeup5901中回文串的处理很妙,如果是我自己写的话可能会把数组直接倒过来和原来对比.按照对称规律进行比对的话,工作量可以减少一半. #inc ...
- 2019-2020-1 20199329《Linux内核原理与分析》第八周作业
<Linux内核原理与分析>第八周作业 一.本周内容概述: 理解编译链接的过程和ELF可执行文件格式 编程练习动态链接库的两种使用方式 使用gdb跟踪分析一个execve系统调用内核处理函 ...
- python字符串 提取括号中的内容
返回值是一个列表 re.findall(r'[(](.*?)[)]', str1)
- 工程师泄露5G核心技术文档 被判有期徒刑三年缓刑四年
2002 年至 2017 年 1 月,黄某瑜就职于中兴通讯公司,担任过射频工程师.无线架构师等职务.2008 年 4 月至 2016 年 10 月,王某就职于中兴通讯公司西安研究所,担任过 RRU 部 ...
- Python 3之bytes新特性
转载: Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分. 文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示. Python 3不会以任意隐式的方 ...