[发明专利]基于ADRC的无刷直流电机伺服系统软件设计方法在审

专利信息
申请号: 202010331087.6 申请日: 2020-04-24
公开(公告)号: CN111510029A 公开(公告)日: 2020-08-07
发明(设计)人: 熊威 申请(专利权)人: 合肥工业大学
主分类号: H02P6/17 分类号: H02P6/17;H02P27/08
代理公司: 长沙湘驰达知识产权代理事务所(普通合伙) 43242 代理人: 罗若愚
地址: 230000 *** 国省代码: 安徽;34
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 adrc 直流电机 伺服系统 软件设计 方法
【权利要求书】:

1.基于ADRC的无刷直流电机伺服系统软件设计方法,其特征在于,包括以下步骤:

S1、软件总体设计:DSP通过eCAP接口捕捉霍尔传感器信号的高低变化,根据信号改变逆变桥路的输出,驱动电动机设计要求运转,12次eCAP中断时,磁极对数为2的电动机转子转动了一圈,此时配合10us计时器的中断次数,就可以计算出电动机的转速;

ADRC控制器将PWM占空比作为控制系统的输出,把电动机转速当作控制对象的反馈,与设定转速一起进行控制运算,运算过程是设定转速经过跟踪微分器(TD)计算出输入的一阶跟踪和二阶微分V1、V2,扩张状态观测器通过被控对象的反馈(电动机转速)和控制系统的输出(PWM占空比)得到系统状态的一阶输出跟踪、二阶输出微分和系统干扰,然后通过非线性组合(NLSEF)更新PWM占空比输出;

S2、系统初始化:初始化包括两部分,一是DSP芯片初始化,二是电动机主动模块初始化;

a、DSP芯片初始化:这段程序是TI公司提供的初始化例程,用作初始化内部模块和器件到默认状态

1.initsysctrl();

初始化系统控制:PLL,看门狗,使能外围时钟,这个功能在dsp2833x_sysctrl.C文件中实现;

2.initgpio();initxintf16gpio();

初始化GPI0(通用输入输出接口),这个功能在dsp2833x_gpio.C文件中实现,目的是设置GPI0为默认状态;

3.initpiectrl();

清除中断向量表,初始化PIE:禁用CPU的中断,初始化PIE控制寄存器为系统默认状态;

默认状态是所有PIE中断和标志都清除,该函数是在dsp2833x_piectrl.c中实现;

禁用CPU的中断和清除所有的CPU中断标志:

IER=0x0000;

IFR=0x0000;

initpievecttable();

功能在dsp2833x_pievect.C中实现;

初始化PIE矢量表中断指针和中断服务程序(ISR);

程序将覆盖整个表,有利于程序调试;

b、电动机驱动模块初始化

初始化定时器,以10us为周期定时中断,之后以该时钟计算电动机转速;

InitCpuTimers();

//此例中仅初始化CPU时钟

ConfigCpuTimer(CpuTimer0,150,10);

//150MHZ CPU,定时周期10us,此中断用于判断电动机的转速,为了保证计时的准确性,中断服务程序要尽可能简化,只有一个时钟计数功能

StartCpuTimerO();

//初始化Cap接口,用来捕捉霍尔传感器信号,当电动机的三个霍尔传感器任//意一个发生变化时,进入中断程序改变开关管状态

InitCapl();

//初始化PWM生成器,设定载波频率和PWM工作方式

EPwmSetup();

//初始化AD采样模块

InitAdc();

//设置中断

IER|=M_INT4;

IER|=M_INT1;

PieCtrlRegs.PIEIER4.bit.INTx1=1;

PieCtr1Regs.PIEIER4.bit.INTx2=1;

PieCtr1Regs.PIEIER4.bit.INTx3=1;

PieCtrlRegs.PIEIER1.bit.INTx6=1;

PieCtrlRegs.PIEIER1.bit.INTx7=1;

//打开全局中断和实时调试中断

EINT;//允许全局中断

ERTM;//允许实时调试中断

c、ADRC参数设置

(1)、跟踪微分器(TD)参数

r为速度因子,决定跟踪速度;h0为滤波因子,对噪声进行滤波;h为ADRC系统离散化的计算步进,在扩张状态观测器(ES0)跟跟踪微分器(TD)中使用同一个离散化后的步进值;为了方便调试中修改控制器参数,实际数值在文件中先直接定义;

#define tdh 0.5;

#define tdh0 0.5;

#define tdr 1;

然后在程序中引用,如:

fst1.h=tdh;

fst1.h0=tdh0;

fst1.r=tdr;

(2)扩张状态观测器(ESO)参数

ESO中采用fal()函数,对一二三阶状态进行修正,d为fal函数误差上下限,fal函数实现大于d的误差小增益,小于d的误差大增益;a1,b1;a2,b2.是fal函数参数,决定fal函数的曲线形状和增益系数;

b是扰动参数,决定抗扰动的增益大小,根据控制对象的模型来决定;b1和b2基本上决定了ESO的性能;基本规律为:b1较小时,z1跟踪输出y较慢,但较大时可能出现振荡;b2一般比b1大,但过大时会引起z1的超调过大;a1越大,a2越小时,反应越快,超调越大;

esol.al=esoal;

esol.a2=esoa2;

eso1.b1=esobl;

esol.b2=esob2;

esol.b3=esob3;

esol.b=esob;

esol.d=esob;

(3)非线性组合

PID通过线性累加P、I、D各自输出得到控制量u,ADRC中采用非线性组合(NLSEF)对一阶误差、二阶误差,和扰动误差进行计算得到控制量u;一阶误差、二阶误差通过fal函数实现“大误差小增益,小误差大增益”,扰动误差则单独通过参数b进行设置;a1,a2,b1,b2调节fal函数的响应曲线;非线性组合的误差参数d采用eso的d;

ctrl.b=esob;

ctr1.a1=ctra1;

ctr1.a2=ctra2;

ctr1.b1=ctrb1;

ctr1.b2=ctrb2;

S3、定时中断及AD转换算法:

定时器中断设置为10us一次,主要提供计时功能;如电动机转动1圈时,计算10us中断的次数就可以得到电动机的转速;软件中Count为中断次数,转速公式为:Speed(转/分)=60×105/count;

TMS320F28335的ADC模块是12位带流水线的模数转换器,具有有16个输入通道,既可以配置成两个eCAP模块所需的独立8个通道,也可以级联成一个16通道模块;ADC时钟频率12.5MHz,转换速度快;ADC模块包含12位的ADC转换核心,内含采样/保持电路;ADC模块可以转换的电压为0-3V,采样结果与输入电压的关系为:转换的数字值=4095*(输入模拟电压-ADC)/3;

S4、转子位置计算及开关管状态:

系统采用霍尔元件确定当前转子的位置;在直流无刷电动机的定子上有3个霍尔位置传感器,它们相隔120度分布在定子圆周上;电动机的永磁体转子转动的时候,产生的磁场也随之转动,转动的磁场磁极变化会在霍尔元件上会产生宽180度的输出信号,如图2所示;

DSP通过经过eCAP接口捕捉霍尔元件输出信号,并转化成逆变器的开关管状态表,如图3所示;

S5、速度环自抗扰控制算法:

速度环自抗扰控制是先将输入设定值进行跟踪微分,得到设定速度跟踪值V1和二阶微分值V2,然后将电动机转速和控制量输出反馈到控制器的扩张状态观测器,得到当前输出的跟踪Z1、微分Z2和扰动分量Z3

在非线性组合(NLSEF)中输出跟踪Z1与设定转速的跟踪V1进行比较,微分Z2和输入微分Z2进行比较,分别获取误差e1和e2,通过非线性组合e1、e2和Z3得到控制量输出,完成一次闭环控制;

ADRC simulink结构图如图4所示;

ADRC 算法框图如图5所示。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥工业大学,未经合肥工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202010331087.6/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top