恭喜以下获奖网友!
第二期/ 使用AD模块或Sigma-Delta模块的电流环调试
活动时间:2018.06.11~06.15(18:00) 伺服系统中电流环控制为整个闭环控制系统中的最里环。电流环控制是系统对执行元件扭矩、功率控制最有效的方法。电流环控制根据电流采样点在桥式驱动的位置分为高边电流采样、相(线)电流采样和低边电流采样,行业内大多采用相电流或低边电流采样。相电流采样具有电流实时性高、算法简单等优点,但因其采样点在桥式驱动上下臂之间而采样器件成本偏高。低边电流采样因采样点一端与GND连接,在采样器件成本上具有很大优势,但在控制算法中需增加相电流重构算法而降低控制器效率。 在伺服电机控制系统中,电流检测的方案有多种。常见的一种方案是使用霍尔传感器,将电流信号经过电磁转换,变换为直流电压信号输出,通过运放和比较器构成的处理电路处理后输入到处理器;另一种方案是采集采样电阻两端的电压,经线性光藕器件或者隔离放大器进行信号隔离,调理后接A/D转换器输入进行数字化,获取电流的采样值。而数字化的过程可以利用处理器中的A/D转换通道实现,也可以利用根据Σ-Δ原理实现的模拟量转换数字量的隔离调制芯片来实现。 TMS320F28377D同时具有ADC模块和Sigma-Delta模块(Sigma Delta Filter Module)。在我们的项目中使用了相电流采集方案,分别配合TI带有隔离功能、专门针对电阻采样优化的AMC1301与AMC1305完成相电流采样工作。AMC1301输出差分模拟信号,适合使用TMS320F28377D中ADC的差分模式。AMC1305输出Delta-Sigma(Δ-Σ)的数字信号,TMS320F28377D中的Sigma-Delta模块可以直接读取数据。 TMS320F28377D有4个ADC模块: Ø 为单端模式时,拥有24个吞吐量高达3.5MSPS的外部通道,如图1所示: 图1 ADC单端输入模型 Ø 为差分模式时,拥有12个吞吐量高达1.1MSPS的外部通道。如图2所示: 图2 ADC差分输入模型 TMS320F28377D的每个ADC模块有以下特点: √ 单端模式仅支持12-bit结果 √ 差分模式仅支持16-bit结果 √ 一个采样保持器 √ 16个可配置的SOC(start-of-conversion) √ 16个可单独寻址的结果寄存器 √ 多种触发源: ■ 软件触发 ■ ePWM触发 ■ GPIO XINT2触发 ■ 每个C28x核心的CPU Timer 0/1/2触发 ■ ADCINT1/2触发 √ 4个PIE中断 √ 突发模式 √ ADC转换的硬件集成后置处理: ■ 饱和偏移校准 ■ 定点计算误差 ■ 具有中断功能的高、低和过零比较 ■ 从触发到采样的延迟捕捉 SDFM(Sigma Delta Filter Module)是专为电机控制应用中的电流采样和旋转变压器位置解码而设计的数字滤波器。每个通道可以接收一个独立Delta-Sigma(Δ-Σ)调制器比特流。比特流通过4个可编程数字滤波器进行处理。SDFM模块包括一个快速比较器,用于即时数字阀值的比较,可用于过流/压或者欠流/压监测。
TMS320F28377D共有2个SDFM模块,每个模块有4个滤波器,有如下特点: √ 每个模块包括8个外部引脚 ■ 4个Sigma-Delta数据输入引脚 ■ 4个Sigma-Delta时钟输入引脚 √ 4种可配置调制器时钟模式 ■ 模块0:调制器时钟速率等于调制器数据速率 ■ 模式1:调制器时钟速率为调制器数据速率的一半 ■ 模式2:调制器数据是曼特斯特编码,无需调制器时钟 ■ 模式3:调制器时钟速率为调制器数据速率的两倍 √ 每个SDFM模块有4个独立可配置比较器单元 ■ 4种Sinc滤波器可选(Sinc1/Sinc2/Sincfast/Sinc3) ■ 能够检测高于或者低于预设值 ■ 比较器的OSR(采样率因子)从1到32可编程 √ 每个SDFM模块有4个独立可配置的Sinc滤波器单元 ■ 4种Sinc滤波器可选(Sinc1/Sinc2/Sincfast/Sinc3) ■ 滤波器的OSR(采样率因子)从1到256可编程 ■ 每个滤波器模块可单独启用或禁用 ■ 可通过MFE位或PWM信号同步4个滤波器 √ 数据滤波器的输出可为16位或者32位 √ PWM可用于生成SDFM时钟
在调试过程中,我们分别使用ADC与SDFM进行了电流的采集工作。TMS320F28377D的ADC模块有专用采集引脚,无需针对引脚进行设置。但在原理设计时要注意ADC差分模式有固定引脚配对,具体配对如下表。 SDFM模块需要将GPIO初始化为SDFM的数据与时钟功能,需要进行如下简单的SDFM引脚初始化过程。时钟信号源可以使用ePWM作为信号源也可以使用外部信号源,时钟频率最高可达20MHz。我们在项目中使用FPGA输出作为SDFM可控的信号源。
// Setup GPIO for SDFM GPIO_SetupPinOptions(16, GPIO_INPUT, GPIO_ASYNC); GPIO_SetupPinMux(16,0,7); GPIO_SetupPinOptions(17, GPIO_INPUT, GPIO_ASYNC); GPIO_SetupPinMux(17,0,7);
伺服系统中电流环控制较为重要的是电流采样时刻问题。采样时刻应与我们FOC算法的中断函数进入时刻一致,以保持电流信息的实时性。一般情况下都采用桥式驱动高边MOSFET或IGBT全部打开时间的一半,即ePWMxA的高电平中间点作为电流采集时刻。FOC算法的中断函数、ePWM、电流采样时刻都按这一要求严格时间节点。
如图3所示。 图3 电流采集时刻
TMS320F28377D的ADC模块支持ePWM直接触发采样,而SDFM仅支持ePWM11、ePWM12作为数据更新的外部触发信号。ePWM11、ePWM12的CMPC或CPMD对应SDFM的Filter,详细如图4所示。因此,根据电机PWM频率即可计算出与算法函数保持一致的电流采样时刻。 图4 PWM与SDFM接口 ADC或SDFM对电流采样的同步时刻要求如图3在ePWMxA的高电平中间点。ADC根据驱动电机的ePWM设置采样时刻;SDFM根据图4配置Filter对应的ePWM11、ePWM12的CMPC或CPMD设置采样时刻。
ADC的软件配置如下: AdcaRegs.ADCSOC1CTL.bit.CHSEL = 3; // SOC2 will convert pin A3 AdcaRegs.ADCSOC1CTL.bit.ACQPS = 30; // sample window in SYSCLK cycles AdcaRegs.ADCSOC1CTL.bit.TRIGSEL = 5; // trigger on ePWM1 SOCA/C // Setting up link from EPWM to ADCA EPwm1Regs.ETSEL.bit.SOCASEL = ET_CTR_PRD; // Select SOC from counter at ctr = prd EPwm1Regs.ETPS.bit.SOCAPRD = ET_1ST; // Generate pulse on 1st even EPwm1Regs.ETSEL.bit.SOCAEN = 1; // Enable SOC on A group SDFM的软件配置如下: // Setup SDSYNC EPwm11Regs.CMPC = EPwm11Regs.TBPRD - SDFM_TICKS*(OSR_RATE+1)*3/2;
综上所述,通过ADC或者SDFM进行相电流采样,不需要电流重构的步骤。通过数据寄存器直接读取当前电流结果,参与FOC控制算法的运算。最重要的是应保证算法与电流采集时刻的一致性,确保电流信息的实时性。 问题1:TMS320F28377D的ADC模块的哪种工作模式支持16bit数据精度?
问题2:电流检测的方案有多种,常见的方案有哪些?
问题3: ADC或SDFM在FOC控制策略中对电流采样时刻的要求是?
活动奖品:
活动时间内,按照所在楼层占总楼层的百分比,获得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、如获奖重复,奖金将顺延
|