首页 > 应用与设计 > 工业应用 > TI 电机控制系统软硬件架构简介 >

电机驱动

最新课程

热门课程

TI 电机控制系统FOC参考软件架构介绍

大家好 欢迎大家参加TI工艺研讨会 我是 TI Central FE Igor An, 主要负责数字电源 及电机控制算法开发 今天我们将继续为大家介绍 TI为大家提供的 电机控制系统的主要软硬件架构 这个章节我们将着重为大家介绍 TI为大家提供的 电机控制算法的软件结构 从框图上我们看到 TI为大家提供的这个 电机控制算法的 整个控制环路框图 包含了位置控制环路 速度控制环路 IQ环路以及FOC控制算法 所需要的clarke park变换 以及park反变换 和SVPWM发生模块 以及跟外设相关的PAM 外设的控制模块 软件支持包 以及ADC的软件支持包 和后面的这个delta sigma 调制解调模块的这个软件支持 和我们这个电机反馈 位置反馈相关的一些软件解码 那这里要着重提到的就是 我们resolver和这个绝对位置编码器 它的一些解码工作 我们是通过软件库的形式 去实现的 节省了一个resolver的专用解码芯片 这个绝对位置编码器也是一样 我们节省了一个 绝对位置编码器的这个解码芯片 完全用这种纯软件的方式 去实现了这种解码工作 同时我们会有一些这个 在C2000的这个芯片设计中 考虑了一些这个工业上 常用的这些这个通讯接口的要求 以及 这是C2000这个 和最近一代的C2000 特意考虑进去的这个 功能安全方面的这个需求 那我们从框图上看到的这一些 每一个这个不同颜色的这种方块 其实都对应的一个C2000 系列的里面的一个软件的一个库 或者是一个软件包 大多数这些软件包都是开源的 大家可以直接访问到源码 而且每一种方式 都有多种的 不同的实现方式供您选择 比如说这个SVPWM发声方式 我们就五段式是七段式 以及七段式里面也有不同的这种 算法实现七段式SVPWM 这些源码都是在我们的这个 TI的一些这个像control suite motor ware C2000ware 这些共享工具里面 这些软件里面 大家可以直接下到源码 去阅读去参考 那像跟外设相关的这些驱动 模块这些我们都是有 现成的这个驱动库 供您直接选择 我们之前通过介绍 大家应该知道 我们TIC2000 有几个主要的这个 资源共享的平台 其实就是几个 可以在TI官网免费下载的软件 一个叫control suite motor ware C2000ware 那在这些control suite 和 motor ware等等这些软件里面 我们建立了很多的参考程序 比如说在电机应用领域 我们就有很多的这种 无传感电机的这种算法 有传感的算法 用不同传感器类型的这种 这个参考程序包 以及和这些参考程序包 相配套的这个硬件的EVM版 如果大家有这个EVM版的话 可以直接用这个软件包 在EVM版上去测试这些程序 或者是学习TI的这些 电机控制算法 那我们为了方便大家去 逐步的上手 熟悉这个软件和硬件的平台 我们在设计这些历程的时候 是step by step就是一步一步的 去增加这些软件的功能 让大家对软件硬件系统 有一个逐步了解的过程 所以我们通过的方式 就是我们有一个预编译红 我们可以把预编译宏 去改变它的lenovo的值 去增加我系统中的环路的复杂度 比如说lenovo1 可能我只是发生一个PWM信号 那相当于是一个开环的 PMW发生器 那我主要去验证我的空间 SVP到M是不是发的正确 同时我可能会验证一些我 功率部分的驱动是不是正常 我可能会去测一些我实际功率的 输出端是不是按照我想要的 形式去产生了一些它的输出信号 那如果第一步我验证结束之后 我可以把我的预编译宏的 buildlenovo变成2 那去验证ADC等等这些反馈 那三可能就是验证我电流环的 PID参数是否合理 四我验证我无传感的 估算器是不是正常 五就是我的速度还的PAD 六可能就是我把整个环路 都闭起来 实现一个闭环的FC控制环路 那下面我们就是一步一步的 给大家介绍 我们每一步的 这个是我们 control suite 一个历程的 举这个历程的例子 那在 B to level1里面 就像刚才我们讲到 我们会验证SVPWM的输出 那这个不同历程 会有不同的输出方式 那比如说我可能有 120度的这种SV的输出方式 那实际上就是 类似于方波的这种输出方式 或者就是我们的正常的 SV sin的这种方式 那同时我可以用一个DAC 去验证我输出的方式的基波 是不是我们想要的这种马安波 那BO level2 可能就是我去检测我的这些反馈 那我们的思想签 有一个内部的画图功能 我可以通过内部把AD采回来 建一个buffer,去画图 来验证我的这些反馈是否正常 同时校验校正我们的这一些电流 这种反馈里面的of site BO level3可能我们就 可以把电流环闭起来了 因为前面验证过我的 PM输出是正常的 到公率驱动整个环路都走通了 那我的AD采样反馈 我也验证了它是正常的范围 那在B to lenovo2的时候 我们去验证AD采样 除了验证我们的值是否正确 还要验证我的衰减比例 我理论上计算的衰减比例是否和 硬件上面的实际电路相匹配 这些都验证好了之后 第三步我们可以初步地 将电流环的PAD形成闭环 那这个闭环很多时候 我们PID在开始调节的时候 可以直接简单的先用一个P 就把A的值设成零 就不让它产生积分效应 来初步的验证一下我们这个 尤其是我们的正反馈 负反馈是否正确 因为有一些系统我的电流采样的 支付号反了 如果一电流闭环立马会产生过流 然后在这一步我可以去 初步的验证一下我的KPR 或者这种速度反馈信息 那这种有的时候我们可以通过 用手动的方式去旋转转子 然后去采集它反馈的信息 是否跟我们想的这个是一致的 当上面这些都验证好了之后 我们会到level 4 那这个level 4我们是 建了一个开环角度 那在开环角度 实际上就是我们把 FOC 里面要用到的这个角度 我认为得定一个 让他按一定频率 旋转的这个开环角度 然后在这个开环角度下 当然这个开环角度运行的 速度值不能太大 来保证我用开环的这种发生方式 能够让我的电机旋转起来 那在这个情况下我去验证 无论是我的无传感 或者是我们有传感的QUP这些 它的反馈信息是否 跟我的开环角度基本一致 从而验证我的无传感算法 或者是我的速度反馈 这个环节是否是正常 那当把前面的这些环节 都验证好了之后 就说明我的FOC控制算法的 主要的这几个信息 一个是电流 一个是电机转子的信息 整个这些通路全都是已经走通了 都已经正常工作了 那么我们后面可以加入我们的 速度反馈 速度控制闭环 那这个速度反馈 首先就是通过前面一步的 对于位置信息 和速度反馈的这个验证 我们能够得到一个 正确的速度反馈值 那有了正确的速度反馈值 再加上我们的速度参考 就可以把我们的速度环 形成一个闭环测试起来 在这一环节中 我们可能会需要去调一些 速度环的PID参数 这个就是我们也可以 参考电流环的这种调试方式 首先在调试之初 我可以只用一个简单的KP 那看我们整个环路 有没有基本工作正常 当然我们知道 我只用KP的话会有一个 静态误差存在里面 但是只要我们的方向是对的 那后面我们是逐渐的加入 这个KI的参数 来使我们这个控制系统 更加的消除它的净差 好 最后一步就是 因为我们把所有的都验证好了 我们把所有的环路都闭合起来 那形成一个完整的 双闭环的FOC控制环路 最后一页是给大家展示 我们这个软件Control suite 一个专门为电机控制 所建的一个库叫DMC库 那在这个库里面 有电机控制相关的 几乎所有的数学算法的这些功能 比如说克拉克park 以及我们列出了 计算这些克拉克park的时候 我们C2000 需要的智能周期 当然当前这个表 是我们上一代C2000 就是PCo和DEfo 就是2802 2803 2805 2806以及335 等等这些芯片 它的所需要的CPU指令 之所以讲这是上一代 C2000的指令周期的数目 是因为在新一代的 C2000芯片中 比如说28075 2807系列 2837系列 还有我们马上要量产的这个 28004系列这个芯片中 我们加入了一个三角函数的 加速器这个硬件加速器单元 那有了这个三角函数 加速器这个单元 我们计算SIN和COS以及除法 等等这些三角函数 就是我们电机里Clarke变化 这些常用的三角函数 运算的职能周期会大大缩短 以计算这个sin为例 在没有我们叫TMU的 这个三角函数加速单元的 这个老款C2000芯片中 它需要用的计算一个sin的 职能周期大概是 30个cpu职能周期 那如果加了三角函数加速器的 这个C2000芯片 它计算一个sin的职能周期 是只需要4到5个职能周期 所以几乎这是四五倍的 一个性能上的增长 会大大缩短我们的计算时间 好 对于C2000系列芯片 和我们TA能够为大家提供的 电机控制算法的主要架构 我们就给大家介绍到这里 更多信息欢迎大家 访问TA.com去查询 更多您需要的相关信息 谢谢大家

大家好

欢迎大家参加TI工艺研讨会

我是 TI Central FE Igor An,

主要负责数字电源

及电机控制算法开发

今天我们将继续为大家介绍

TI为大家提供的

电机控制系统的主要软硬件架构

这个章节我们将着重为大家介绍

TI为大家提供的

电机控制算法的软件结构

从框图上我们看到

TI为大家提供的这个

电机控制算法的

整个控制环路框图

包含了位置控制环路

速度控制环路

IQ环路以及FOC控制算法

所需要的clarke

park变换

以及park反变换

和SVPWM发生模块

以及跟外设相关的PAM

外设的控制模块 软件支持包

以及ADC的软件支持包

和后面的这个delta sigma

调制解调模块的这个软件支持

和我们这个电机反馈

位置反馈相关的一些软件解码

那这里要着重提到的就是

我们resolver和这个绝对位置编码器

它的一些解码工作

我们是通过软件库的形式

去实现的

节省了一个resolver的专用解码芯片

这个绝对位置编码器也是一样

我们节省了一个

绝对位置编码器的这个解码芯片

完全用这种纯软件的方式

去实现了这种解码工作

同时我们会有一些这个

在C2000的这个芯片设计中

考虑了一些这个工业上

常用的这些这个通讯接口的要求

以及 这是C2000这个

和最近一代的C2000

特意考虑进去的这个

功能安全方面的这个需求

那我们从框图上看到的这一些

每一个这个不同颜色的这种方块

其实都对应的一个C2000

系列的里面的一个软件的一个库

或者是一个软件包

大多数这些软件包都是开源的

大家可以直接访问到源码

而且每一种方式

都有多种的

不同的实现方式供您选择

比如说这个SVPWM发声方式

我们就五段式是七段式

以及七段式里面也有不同的这种

算法实现七段式SVPWM

这些源码都是在我们的这个

TI的一些这个像control suite

motor ware C2000ware

这些共享工具里面

这些软件里面

大家可以直接下到源码

去阅读去参考

那像跟外设相关的这些驱动

模块这些我们都是有

现成的这个驱动库

供您直接选择

我们之前通过介绍

大家应该知道

我们TIC2000

有几个主要的这个

资源共享的平台

其实就是几个

可以在TI官网免费下载的软件

一个叫control suite motor ware C2000ware

那在这些control suite 和 motor ware等等这些软件里面

我们建立了很多的参考程序

比如说在电机应用领域

我们就有很多的这种

无传感电机的这种算法

有传感的算法

用不同传感器类型的这种

这个参考程序包

以及和这些参考程序包

相配套的这个硬件的EVM版

如果大家有这个EVM版的话

可以直接用这个软件包

在EVM版上去测试这些程序

或者是学习TI的这些

电机控制算法

那我们为了方便大家去

逐步的上手

熟悉这个软件和硬件的平台

我们在设计这些历程的时候

是step by step就是一步一步的

去增加这些软件的功能

让大家对软件硬件系统

有一个逐步了解的过程

所以我们通过的方式

就是我们有一个预编译红

我们可以把预编译宏

去改变它的lenovo的值

去增加我系统中的环路的复杂度

比如说lenovo1

可能我只是发生一个PWM信号

那相当于是一个开环的

PMW发生器

那我主要去验证我的空间

SVP到M是不是发的正确

同时我可能会验证一些我

功率部分的驱动是不是正常

我可能会去测一些我实际功率的

输出端是不是按照我想要的

形式去产生了一些它的输出信号

那如果第一步我验证结束之后

我可以把我的预编译宏的

buildlenovo变成2

那去验证ADC等等这些反馈

那三可能就是验证我电流环的

PID参数是否合理

四我验证我无传感的

估算器是不是正常

五就是我的速度还的PAD

六可能就是我把整个环路

都闭起来

实现一个闭环的FC控制环路

那下面我们就是一步一步的

给大家介绍 我们每一步的

这个是我们

control suite 一个历程的

举这个历程的例子

那在

B to level1里面

就像刚才我们讲到

我们会验证SVPWM的输出

那这个不同历程

会有不同的输出方式

那比如说我可能有

120度的这种SV的输出方式

那实际上就是

类似于方波的这种输出方式

或者就是我们的正常的

SV sin的这种方式

那同时我可以用一个DAC

去验证我输出的方式的基波

是不是我们想要的这种马安波

那BO level2

可能就是我去检测我的这些反馈

那我们的思想签

有一个内部的画图功能

我可以通过内部把AD采回来

建一个buffer,去画图

来验证我的这些反馈是否正常

同时校验校正我们的这一些电流

这种反馈里面的of site

BO level3可能我们就

可以把电流环闭起来了

因为前面验证过我的

PM输出是正常的

到公率驱动整个环路都走通了

那我的AD采样反馈

我也验证了它是正常的范围

那在B to

lenovo2的时候

我们去验证AD采样

除了验证我们的值是否正确

还要验证我的衰减比例

我理论上计算的衰减比例是否和

硬件上面的实际电路相匹配

这些都验证好了之后

第三步我们可以初步地

将电流环的PAD形成闭环

那这个闭环很多时候

我们PID在开始调节的时候

可以直接简单的先用一个P

就把A的值设成零

就不让它产生积分效应

来初步的验证一下我们这个

尤其是我们的正反馈

负反馈是否正确

因为有一些系统我的电流采样的

支付号反了

如果一电流闭环立马会产生过流

然后在这一步我可以去

初步的验证一下我的KPR

或者这种速度反馈信息

那这种有的时候我们可以通过

用手动的方式去旋转转子

然后去采集它反馈的信息

是否跟我们想的这个是一致的

当上面这些都验证好了之后

我们会到level 4

那这个level 4我们是

建了一个开环角度

那在开环角度

实际上就是我们把

FOC 里面要用到的这个角度

我认为得定一个

让他按一定频率

旋转的这个开环角度

然后在这个开环角度下

当然这个开环角度运行的

速度值不能太大

来保证我用开环的这种发生方式

能够让我的电机旋转起来

那在这个情况下我去验证

无论是我的无传感

或者是我们有传感的QUP这些

它的反馈信息是否

跟我的开环角度基本一致

从而验证我的无传感算法

或者是我的速度反馈

这个环节是否是正常

那当把前面的这些环节

都验证好了之后

就说明我的FOC控制算法的

主要的这几个信息

一个是电流

一个是电机转子的信息

整个这些通路全都是已经走通了

都已经正常工作了

那么我们后面可以加入我们的

速度反馈 速度控制闭环

那这个速度反馈

首先就是通过前面一步的

对于位置信息

和速度反馈的这个验证

我们能够得到一个

正确的速度反馈值

那有了正确的速度反馈值

再加上我们的速度参考

就可以把我们的速度环

形成一个闭环测试起来

在这一环节中

我们可能会需要去调一些

速度环的PID参数

这个就是我们也可以

参考电流环的这种调试方式

首先在调试之初

我可以只用一个简单的KP

那看我们整个环路

有没有基本工作正常

当然我们知道

我只用KP的话会有一个

静态误差存在里面

但是只要我们的方向是对的

那后面我们是逐渐的加入

这个KI的参数

来使我们这个控制系统

更加的消除它的净差

好 最后一步就是

因为我们把所有的都验证好了

我们把所有的环路都闭合起来

那形成一个完整的

双闭环的FOC控制环路

最后一页是给大家展示

我们这个软件Control suite

一个专门为电机控制

所建的一个库叫DMC库

那在这个库里面

有电机控制相关的

几乎所有的数学算法的这些功能

比如说克拉克park

以及我们列出了

计算这些克拉克park的时候

我们C2000

需要的智能周期

当然当前这个表

是我们上一代C2000

就是PCo和DEfo

就是2802 2803

2805 2806以及335

等等这些芯片

它的所需要的CPU指令

之所以讲这是上一代

C2000的指令周期的数目

是因为在新一代的

C2000芯片中

比如说28075

2807系列 2837系列

还有我们马上要量产的这个

28004系列这个芯片中

我们加入了一个三角函数的

加速器这个硬件加速器单元

那有了这个三角函数

加速器这个单元

我们计算SIN和COS以及除法

等等这些三角函数

就是我们电机里Clarke变化

这些常用的三角函数

运算的职能周期会大大缩短

以计算这个sin为例

在没有我们叫TMU的

这个三角函数加速单元的

这个老款C2000芯片中

它需要用的计算一个sin的

职能周期大概是

30个cpu职能周期

那如果加了三角函数加速器的

这个C2000芯片

它计算一个sin的职能周期

是只需要4到5个职能周期

所以几乎这是四五倍的

一个性能上的增长

会大大缩短我们的计算时间

好 对于C2000系列芯片

和我们TA能够为大家提供的

电机控制算法的主要架构

我们就给大家介绍到这里

更多信息欢迎大家

访问TA.com去查询

更多您需要的相关信息

谢谢大家

视频报错
手机看
扫码用手机观看
收藏本课程

视频简介

TI 电机控制系统FOC参考软件架构介绍

所属课程: TI 电机控制系统软硬件架构简介 发布时间:2017.05.04 视频集数:7 本节视频时长:00:13:13
介绍TI在电机控制系统中各个环节提供的软硬件解决方案及芯片选择。
TI培训小程序