发新帖本帖赏金 190.00元(功能说明)我要提问
返回列表
打印
[活动]

【活动结束】《基于28377的伺服驱动系统调试》第一期/共...

[复制链接]
11736|115
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
第一期ID
34720
24不可说
yangweiping
bioger2
hbzjt2011
21IC896
hu519922633
wujianwei3980
619888476
荣丰宇
地瓜patch
yang_alex
做人要专业
LED2013
tpgf
sunnyblust
gaon2
百川入海
hellobug
gujiamao12345
小庄2
ivy8966
blue44
WoodData
一心爱你
zhoupxa
sn89758
tom_xu
licaijunzhuce
cxz_00
877049204
17710856995
landeng
shakencity
fangsir1996
wqm8181
cxz_00
田舍郎
皈依
zxzhaha
study1234

恭喜以上网友,每人获得5元红包奖励!!!红包将发放到本帖下方。请注意查收。



基于28377的伺服驱动系统调试
》有奖问答


活动时间:6月4号~6月8号(18:00)



伺服驱动系统(Servo System)简称伺服系统,是一种以机械位置或角度作为控制对象的自动控制系统,例如数控机床等。使用在伺服系统中的驱动电机称为伺服电机。伺服电机为了达到生产的精准控制,一般采用三闭环负反馈PID调节的控制系统,分别为最里环的电流环,中间环的速度环,以及最外环的位置环。
艾睿电子(ARROW)推出了基于TI的Delfino™TMS320F2837xD的开发套件SEED-DBS28377,完全满足伺服系统的控制要求。TMS320F2837xD是一款功能强大的 32 位浮点微控制器单元 (MCU),针对高级闭环控制应用而设计,例如工业驱动器和伺服电机控制、太阳能逆变器和转换器、电力输送以及电力线通信等。
我们将分4次与大家分享使用TMS320F28377D调试伺服系统的核心步骤和心得,内容分别为 ①电机驱动控制的基石-ePWM,②使用AD模块或Sigma-Delta模块的电流环调试,③使用eQEP模块的电机速度环与位置环调试,④伺服驱动系统中的保护策略。
SEED-DBS28377基本介绍
SEED-DBS28377是艾睿电子(ARROW)推出的基于TMS320F28377D的开发套件。该套件可以实现BLDC、PMSM、Step-motor 等多种类型电机的控制。为了增强扩展性,该套件采用核心板和底板的分离设计。
核心板是一块TMS320F28377D最小子系统板,包含主芯片TMS320F28377D,容量为64M Bit的SDRAM,用于主芯片供电的电源管理模块等。该板还外扩了标准的14Pin JTAG仿真接口,可方便地使用SEED-XDS系列仿真器进行仿真。
底板是以核心板为基础,扩展了TMS320F28377D的多种外设。部分外设如ePWM、eQEP、SDFM、ADC、GPIO等扩展至底板插座。其它外设则通过驱动芯片转换为标准通讯接口,例如支持OTG功能的USB2.0、CAN、RS232、RS485等。
第一篇 电机驱动控制的基石- ePWM
伺服系统中开环控制为整个调试的首要步骤。开环控制是指系统没有对执行元件位置检测结果的反馈装置,即执行指令信息发出后,执行元件的实际移动值不再反馈回来。开环控制系统的特点是结构较简单、成本较低,但是其位移精度受伺服电机和传动件精度及动态特性影响,不能达到很高。
开环控制过程中,最基本的需求是控制MOSFET或IGBT的PWM。TMS320F28377D拥有12个ePWM通道,每通道包括2个输出信号(EPWMxA/EPWMxB),具有复杂波形的生成、死区设置、灵活的同步策略、高级的trip-zone等功能。TMS320F28377D的ePWM模块包含以下8大子模块:
ü 时基(Time-base)子模块
每个ePWM模块都有独自的时基子模块,用来产生ePWM的定时事件,且内置的同步系统,可以让多个ePWM模块有序的工作,实现灵活的同步策略。
ü 计数比较(Counter-compare)子模块
实现了与时基子模块的比较和控制。产生CMPA、CMPB比较事件,且可以控制PWM的占空比。
ü 功能限定(Action-qualifier)子模块
主要作用于构造波形和PWM生成。根据不同事件转换为不同的操作类型,从而产生所需的PWM波形。
ü 死区控制(Dead-band)子模块
在同步整流和桥式电机驱动时,控制上下臂MOSFET或IGBT的导通和关闭过程存在延时,可能导致上下臂同时导通而产生器件损坏。死区控制子模块可以采用极性边缘增加死区的技术快捷有效地防止器件损坏现象的发生。
ü PWM斩波(PWM-chopper)子模块
PWM斩波子模块可以将PWM波调制成为高频载波信号,在使用PWM控制功率开关的应用中,此模块将发挥作用。
ü 事件触发(Event-trigger)子模块
由时基、计数比较、数字比较模块的触发源输入,产生CPU中断或者ADC SOC信号源。
ü Trip-zone子模块
当系统接收到TZ信号时,Trip-zone子模块可以使ePWM的输出作出所期望的响应。每个ePWM模块可连接6个TZ信号,其中TZ1-3可由任意GPIO获取,TZ4由eQEP模块的EQEPxERR信号获取,TZ5连接到系统时钟故障逻辑信号,TZ6来自CPU的EMUSTOP输出。这些信号用来指示系统外部故障。
ü 数字比较(Digital Compare)子模块
将外部的信号和ePWM模块进行比较,直接生成PWM的中断或者动作,然后反馈给事件触发器、trip-zone和时基模块。还支持窗口功能,可以滤去一些DC信号的噪声或者不需要的信号。
在软件编程上,TMS320F28377D的ePWM模块还提供了丰富的寄存器,通过配置寄存器即可输出预想的波形。

以PMSM电机控制中的FOC控制为例,软件的配置流程如下:
// Setup GPIO for PWM functions
InitEPwm1Gpio();
InitEPwm2Gpio();
InitEPwm3Gpio();
// Initialize PWM module
EALLOW;
CpuSysRegs.PCLKCR0.bit.TBCLKSYNC = 0;
EDIS;
// Inverter PWM configuration
PWM_1ch_UpDwnCnt_CNF(1,10000,200);
PWM_1ch_UpDwnCnt_CNF(2,10000,200);
PWM_1ch_UpDwnCnt_CNF(3,10000,200);
// Open TB module
EALLOW;
CpuSysRegs.PCLKCR0.bit.TBCLKSYNC = 1;
EDIS;

通过以上配置过程,ePWM1A/ ePWM1B、ePWM2A/ ePWM2B、ePWM3A/ ePWM3B输出如图1带有死区时间的Inverter PWM波:
图1        带有死区的Inverter PWM波

在带有死区的Inverter PWM波输出时有两个问题需要重点考虑:3组PWM的同步与死区的控制问题。
FOC控制要求3组PWM在输出时不应存在相位差,ePWM模块提供了丰富的同步策略,整体同步框架如下图2。

根据同步框架则需要将ePWM2/ ePWM3做如下设置:
        // configure 2 and 3 as slaves
        EPwm2Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;
        EPwm2Regs.TBCTL.bit.PHSEN    = TB_ENABLE;
        EPwm2Regs.TBPHS.bit.TBPHS    = 2;
        EPwm2Regs.TBCTL.bit.PHSDIR   = TB_UP;
        EPwm3Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;
        EPwm3Regs.TBCTL.bit.PHSEN    = TB_ENABLE;
        EPwm3Regs.TBPHS.bit.TBPHS    = 2;
        EPwm3Regs.TBCTL.bit.PHSDIR   = TB_UP;

图2 EPWM同步框架
为了使桥式电机驱动的上下臂MOSFET或IGBT在导通和关闭过程的延时不会损坏器件,需要加入死区时间。通过设置死区子模块的DBCTL寄存器可以很方便的加入死区时间。软件设置如下,其中重要的是设置IN_MODE、OUT_MODE与POLSEL。
        // Active high complementary PWMs - Set up the deadband
        (*ePWM[n]).DBCTL.bit.IN_MODE  = DBA_ALL;                         // IN_MODE = 0
        (*ePWM[n]).DBCTL.bit.OUT_MODE = DB_FULL_ENABLE;        // OUT_MODE = 3
        (*ePWM[n]).DBCTL.bit.POLSEL   = DB_ACTV_HIC;                // POSEL = 2
        (*ePWM[n]).DBRED.bit.DBRED = db;                                                // db = 200
        (*ePWM[n]).DBFED.bit.DBFED = db;                                                 // db = 200
与这三个寄存器位相关的框图如图3所示。
图3        ePWM的死区
总的来说,ePWM模块具有硬件自动机制,事件的产生使子模块之间相互作用。ePWM配置以后,不需要软件的干涉就能按照配置连续性地工作,大大降低了MCU的负担,使MCU可以更专注于算法的计算、外设的更新配置或者与外部设备的通讯。





答题区:
问题1:TMS320F28377D的每个PWM模块包含多少子模块分别是什么?

问题2:死区的作用是什么?

问题3:请写出ePWM的时基子模块停止与开始时基计数的软件实现



活动奖品:
活动时间内,按照所在楼层占总楼层的百分比,获得5元红包奖励。

2%、3%、5%、8%、10%、12%、16%、18%、19%、21%、23%、25%、27%、29%30%31%33%、36%、39%、41%、43%、45%、47%、49%、50%、52%、54%、57%、59%、62%、64%、66%、67%、70%、72%、75%、78%、80%、83%、85%、87%、89%、91%、93%、95%、97%、99%、100%、

以上楼层均可获得5元红包~
奖项密集,速来参加哦!~

(备注:打赏不重复ID,奖金为5元。)

好消息预告:
本期活动为连载活动!共四期活动!请大家每周踊跃参加哦!~
下周依旧继续精彩活动,更多惊喜等着您,记得来参加哟!~   




活动规则:
1、每位网友回复最多不超过3次(最高3帖,刷帖不予兑奖!)
2、每位网友只有一次获奖机会
3、如获奖重复,奖金将顺延



相关帖子

沙发
34720| | 2018-6-4 14:44 | 只看该作者
此帖仅作者可见
板凳
24不可说| | 2018-6-4 17:00 | 只看该作者
此帖仅作者可见
地板
blust5| | 2018-6-4 17:21 | 只看该作者
此帖仅作者可见
5
yangweiping| | 2018-6-4 17:34 | 只看该作者
此帖仅作者可见
6
yangweiping| | 2018-6-4 17:34 | 只看该作者
此帖仅作者可见
7
yangweiping| | 2018-6-4 17:35 | 只看该作者
此帖仅作者可见
8
bioger2| | 2018-6-4 18:09 | 只看该作者
此帖仅作者可见
9
bioger2| | 2018-6-4 18:10 | 只看该作者
此帖仅作者可见
10
bioger2| | 2018-6-4 18:10 | 只看该作者
此帖仅作者可见
11
ankeseng| | 2018-6-4 18:11 | 只看该作者
此帖仅作者可见
12
hbzjt2011| | 2018-6-4 18:21 | 只看该作者
此帖仅作者可见
13
21IC896| | 2018-6-4 18:45 | 只看该作者
此帖仅作者可见
14
21IC896| | 2018-6-4 18:45 | 只看该作者
此帖仅作者可见
15
lclhitwh| | 2018-6-4 18:59 | 只看该作者
此帖仅作者可见
16
lclhitwh| | 2018-6-4 18:59 | 只看该作者
此帖仅作者可见
17
lclhitwh| | 2018-6-4 19:00 | 只看该作者
此帖仅作者可见
18
孙玉其| | 2018-6-4 19:13 | 只看该作者
此帖仅作者可见
19
hu519922633| | 2018-6-4 20:26 | 只看该作者
此帖仅作者可见
20
hu519922633| | 2018-6-4 20:27 | 只看该作者
此帖仅作者可见
发新帖 本帖赏金 190.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:祝大家天天开❤ ///w/// 有问题咨询联系QQ:3326242524

2751

主题

6438

帖子

239

粉丝