- 本课程为精品课,您可以登录eeworld继续观看:
- 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去查询
更多您需要的相关信息
谢谢大家
猜你喜欢
换一换
推荐帖子
- 学习MSP430过程超低功耗经验总结
- 前端传感器制作完成,硬件没有问题,各个模块测试顺利达到预期。为了保证前端传感器在1600mAh的电池供电下,稳定工作5年以上,我们设置:每天一小时传输一次温度数据,单片机在LPM3下,zigbee断电,tmp100在shutdown模式,所有不用的I/O设置输入(高阻态,或者相应的电平)。预期工作电流23mA,节电状态1.5uA左右。 插曲:TMP100无法读到正常数据,...
- Aguilera 微控制器 MCU
- C2000晒晒 + TMS320F28035 experimenter kits (海量资料,肯定有你需要的!!)
- 秀秀刚刚买到手的28035开发板,呵呵,64pin的,P板非常简洁、做工很好,我喜欢!上电试了一下,工作正常,呵呵可惜没有光盘资料,去TI的网站上查了半天也没查到,有点郁闷。没办法,自己找吧,呵呵,EEWORLD非常好,资料很多啊,有待挖掘啊。下面是搜到的一些资料,共享给大家,共同进步吧,呵呵 [ 本帖最后由 aoxiaoche918 于 2011-12-1 12:59 编辑 ]...
- aoxiaoche918 微控制器 MCU
- MSP430 ADC12采样转换模式详解
- ADC12提供4种转换模式: 单通道单次转换 对选定的通道进行单次转换要进行如下设置: x=CSStartAdd,指向转换开始地址 ADC12MEMx存放转换结果 ADC12IFG.x为对应的中断标志 ADC12MCTLx寄存器中定义了通道和参考电压 转换完成时必须使ENC再次复位并置位(上升沿),以准备下一次转换。在ENC复位并再次置位之前的输入信号将被忽略。 序列通道单次转换 ...
- Aguilera 微控制器 MCU
- Timer0的Cdoe
- Q1:這是我仿照TI範例所打的code,在建構的時候是 0 Errors, 0 Warnings, 0 Remarks 但跑的時候進入到if迴圈就沒有動作了..可以幫我看看是哪邊出了問題嗎? 我用的是F28027但不太清楚系統頻率是多少、所以我打了100在"ConfigCpuTimer(&CpuTimer0,100,1000000);"這裡 跟這會有關係嗎? #incl...
- mickey18250 DSP 与 ARM 处理器