TI 电机控制系统FOC参考软件架构介绍
Loading the player...
将在30s后自动为您播放下一课程
大家好 欢迎大家参加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工艺研讨会
我是 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工艺研讨会
我是 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在电机控制系统中各个环节提供的软硬件解决方案及芯片选择。
//=$v1;?>
//=$v['id']?>//=$v['down_category']?>//=$v['link']?>//=$v['is_dl']?>//=$v['link']?>//=$v['name']?>//=$v['name']?>
//=$v['id']?>//=$v['down_category']?>//=$v['path']?>//=$v['is_dl']?>//=$v['path']?>//=$v['name']?>//=$v['name']?>
////=count($lesson['bbsinfo'])?>
//=$elink?>//=$elink?>//=$tags[0]?>//=$tags[0]?>//=$elink?>//= $elink?>//=$tags[1]?>//=$tags[1]?>
//=$lesson['bbs'];?>
//=count($lesson['bbsinfo'])?>