ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:903.20KB ,
资源ID:20442918      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20442918.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(DSP直流电机解读文档格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

DSP直流电机解读文档格式.docx

1、器件上集成了多种先进的外设,具有灵活、可靠的控制和通信模块,完全可以采用单芯片实现电机控制系统的控制和通信功能,使得电机控制系统简单化、模块化,为电机及其他运动控制领域应用的实现提供了良好的平台。本文设计和实现了基于TI公司TMS320F2812 DSP芯片的无刷直流电机控制系统,整个系统结构紧凑,功能完善。1.课题要求本文主要研究基于DSP的直流电机控制系统,通过控制算法和调速方法的分析,利用电机调速、DSP芯片控制、上位机通信等的基本原理及相关知识,实现对电机的速度控制。可以实现以下功能:1.能够完成电机启动、停止;2.能够完成正、反转;3.在完成以上功能的基础上实现电机的加速与减速。2

2、硬件设计 2.1 系统硬件设计系统的硬件框图如图1所示,可以看出基本上包括一个以TMS320F2812 DSP为核心的DSP控制板,一块配套的功率驱动板和一台无刷直流电机。本系统设计控制的无刷直流电机采用霍尔元件作为位置反馈机制,从反馈的脉冲信号中获得位置信息和转速情况。控制核心DSP根据采集到的实际转速,修正控制转速,实现系统对电机转速的闭环控制。此外,系统从电机的驱动器件IGBT处获得电流信息。通过综合这三个信息,使得整个电机调速系统安全、稳定、可靠地工作。图1 系统硬件框图2.2 部分硬件设计整个系统由控制、驱动、显示及电源四部分组成, 结构框图如下图所示:2.2.1控制部分硬件设计控制

3、板部分以TMS320F2812为核心,加上一部分外围电路及接口构成。实现的主要功能是控制指令的接收和执行,速度信号的接收和计算处理,电流采样信号接收和转换,速度闭环和电流闭环控制算法的执行等。对电机的控制主要使用F2812片上的两个电机控制专用外设EVA和EVB。利用通用定时器T1配合PWM发生器来产生驱动功率器件所需的六路 PWM信号,通过GPIO接口将三路电机霍尔传感器信号输入捕获单元,从而获取三个转子的位置,进而控制电机的换相和进行电机转速的计算。两个12位AD 模块对相电流信号Iphase和输入的速度调节电压信号Vref进行转换和存储,分别作为电流环的反馈信号和速度环的参考信号。通过片

4、上的通用输入输出接口(GPIO),实现与功率驱动部分的连接,输出启动停止信号,正反转信号,紧急制动信号等,同时接收输入的保护信号,故障信号等。通过片上的SCI模块实现与计算机的通信,接收上位机的控制指令。控制部分硬件结构如图2所示。图2 控制板电路框图 2.2.2 功率驱动部分硬件设计 功率驱动部分的硬件电路,主要由前置驱动芯片和六个功率MOSEFET管组成,实现对控制部分传送过来的换相信息的处理和PWM信号的隔离放大,控制功率MOSFET管的导通和关断,以此来控制电机的工作状态和速度。除此之外,还有电源电路,电流检测电路,过流保护和紧急制动电路等辅助电路,以及与电机和控制板的接口电路。前置驱

5、动芯片采用的是IR公司的MOSFET驱动芯片IR2131,具有集成度高、可靠性好、速度快、过流欠压保护、调试方便等特点。IR2131 内部设计有过流、过压及欠压保护。功率驱动电路采用24V供电,驱动电路与电机的连接采用三相全桥方式,电机工作在三相六状态模式下。以任一时刻电机只有两相导通的方式来控制换流元件。PWM调制的方式是软斩波方式,即导通时下桥臂功率管始终保持开状态,上桥臂功率管的开关由PWM信号决定。功率开关管采用HITACHI公司的集成功率开关器件6AM15,其内部集成3个N型MOSFET管和P型MOSFET管,构成三相全桥功率开关电路。与采用六个分立MOSFET管相比,有利于提高集成

6、度,减少电路板面积,增加可靠性。每个MOSFET管自带超快恢复二极管,在MOSFET管关闭期间起反向续流作用。功率驱动部分电路框图如图3所示。图3 功率主回路电路框图3. 系统控制策略及软件设计 系统软件设计思想是通过不断采集电机转速,与给出的速度指令相比较后,利用PID算法,同时综合滤波算法,不断修正速度误差,直到采集到的电机转速与系统给定的转速相同,程序就认为系统已经入锁了。系统控制时始终监视电机电流和位置反馈,一旦出现异常,就启动相应的报警机制,并让电机停止转动。 3.1系统控制策略由直流电机的数学模型可知,其转速基本上跟电压成正比,转矩基本上和相电流成正比。为了达到控制精度和动态性能,

7、本系统选用了转速、电流双闭坏调速系统。电流环采用PI调节器,速度环采用遇限削弱积分的积分分离PI控制算法。它具有良好的起动和抗干扰性能,可以满足本系统的需要。 在此控制方案中,霍尔传感器的信号加到TMS320F2812的捕获单元端。将捕获端设置为I/O 口,然后采集捕获单元的电位情况。根据捕获单元的电位情况可以判断电机处于那个区间。根据两次捕获的时间可以计算出电机运行速度。此速度作为速度参考值的反馈量,然后经过速度PI 调节后可以得到参考电流Iref。另外通过电流检测电路可以得到相电流Iphase信号,此信号通过A/D转换后作为参考电流Iref的反馈量,经过电流PI 调节后,得到的输出量调节输

8、出的PWM信号的占空比,用此PWM信号接到驱动端.这样可以根据电机运行的情况而调节MOSFET 管的导通时间达到控制电机转速的目的。3.2 软件设计本实验采用Ccs3.3软件,及串口调试软件,通过串口调试工具向f2818发送串口数据,来控制f2812中的程序,来实现电机的速度调控。程序流程图如下:3.2.1数字PID模块:改模块实现数字PID算法,对转速误差和电流误差进行调节计算,控制PWM信号的占空比。通过占空比的改变来调节电动机的转速。程序如下:temp=(Sci_VarRxj-1&0x0f); temp1=EvaRegs.T1PR/16; pwm=temp1*(16-temp); Eva

9、Regs.T1CMPR = pwm; startmotor();3.2.2 PWM波的产生TMS320F2812的事件管理器模块有两个,即EVA和EVB。每个管理器包括通用定时器(GP)、比较器、PWM单元、捕获单元以及正交编码脉冲电路(QEP)。EVA和EVB在功能上完全相同,只是在模块的外部接口和信号有所不同。PWM波形发生模块:主要是通过设置DSP内部事件管理器模块的PWM波形发生器,将通用定时器T1设置成连续升序计数模式,对应20kHz的 PWM频率,计数周期设成50s。然后根据电流环输出的占空比对三个全比较单元的比较寄存器值进行刷新。同时,通过查表法,获得当前换相指针所对应的 ACT

10、R(全比较动作控制寄存器)值,并送到ACTR寄存器,完成对PWM1PWM6引脚状态的定义,设计程序见附录。4实验步骤及结果分析 4.1 实验步骤 1.打开ccs,并将f2812与pc机连接,通过Debugconnect将ccs与f2812连接,在左下角显示已连接状态。 2.程序下载:通过Project-open打开程序,并编译,然后通过file-load program 下载 .out文件即可运行。 3.检测串口:将sci程序打开,选择Sci_VarRx接收数组放到watch-window,打开串口调试工具,并自动发送01数据,观察Sci_VarRx值的变化,显示如下,则说明程序与串口连接正常

11、:4.2 实验结果1正转及变速 通过串口发送15、1A、1F,观察电机的转速及方向,并通过示波器观察电机下端的波形图。波形图如下:15 1A 1F 1反转及变速 通过串口发送25、2A、2F,观察电机的转速及方向,并通过示波器观察电机上端的波形图,与正转波形相同。25 2A 2F 结果分析:由正反转波形图可以得出,当占空比越小时,电机的转速越快,因此可以通过改变占空比的大小来调节电机转速。虽然系统调试过程中出现了一些误差,并存在一些干扰现象,但这些都是在所难免的。经过最后的总体调试之后,本系统基本完成了课题研究的内容,达到了预期的目标,实现了电机正反转,加速,减速,停止等功能。5 结论对无刷直

12、流电机调速系统的研究,涉及到电机、电力电子、自动化、计算机控制和数字信号处理等多门学科,由于其应用的广泛性因此对它的研究有一定的理论意义和实用价值。本电机调速系统经实际测试,控制精度高、运行稳定可靠,带载时的控制精度也在75转偏差内,与理论值接近,实际调试时进行过载及超速等实验,系统反应灵敏,控制过程安全可靠。由于整个电机控制所需的各种功能都是由DSP来实现的,因此,大幅度地减小了目标系统的体积,减少了外部元器件的个数,使得整个系统结构更加简单,功能更强,可靠性更高。本系统使用了功能强大的DSP(TMS320F2812)芯片,系统扩展空间大,可根据实际应用需要进行扩展。附录:1. 主程序设计#

13、include DSP28_Device.h#include comm.hmcbsp.hgui_string.hmotor.h#define DATATYPE 0 /* 0代表edit菜单;1代表选项菜单*/unsigned int i,j;unsigned int send_flag;/*/unsigned int Send_Flag;void InitEvA(void);void delay(unsigned int m);Uint16 Speed,OldSpeed=0;Uint16 count=0,CountAverage;unsigned int dir=1;/电机转动方向unsign

14、ed int start=0;/电机启动停止标志unsigned int setflag=0;/表示是否进行速度设定unsigned int sdxsjs=0; /速度到pwm的初始值unsigned int pwm; /pwm的占空比unsigned int Sci_VarRx100;/*/unsigned int Edit_result,temp,temp1;unsigned int i,k,j=0; /定义变量及数组/*/void main(void) /*初始化系统*/ InitSysCtrl();/*关中断*/ DINT; IER = 0x0000; IFR = 0x0000; /*

15、初始化PIE*/ InitPieCtrl(); /*初始化PIE矢量表*/ InitPieVectTable(); /*初始化PWM*/ InitEvA(); /*GPIO*/ InitSci(); for(k = 0; k 100; k+) Sci_VarRxk = 0; EINT; / Enable Global interrupt INTM ERTM; / Enable Global realtime interrupt DBGM stopmotor(); /调用电机停止子程序/以下为电机控制设计程序部分:while(1) if(SciaRx_Ready() = 1) Sci_VarRx

16、j = SciaRegs.SCIRXBUF.all; Send_Flag = 1; j+; if(Sci_VarRxj-1)&0x10)=0x10) /接收到xxx1xxxx EvaRegs.T1CMPR = 0x1d4c; / 比较 EvaRegs.T2CMPR = 0xffff; /T1低于T2电压/电机正转 temp=(Sci_VarRxj-1& /改变占空比 /调用转动子程序 else if(Sci_VarRxj-1)&0x20)=0x20) /接收到xx1xxxxx EvaRegs.T1CMPR = 0xffff; EvaRegs.T2CMPR = 0x1d4c; / T1低于T2电

17、压/电机反转 temp1=EvaRegs.T2PR/16; pwm=temp1*(16-temp); EvaRegs.T2CMPR = pwm; startmotor(); else stopmotor(); /*/延时程序void delay(unsigned int m) unsigned int i,j; for(i=0;im;i+) for(j=0;j1500;j+) 2. 转动、停止子程序Void startmotor(void)EALLOW; EvaRegs.T1CON.all = 0x1042; EvaRegs.T2CON.all = 0x1042; EDIS;void stop

18、motor(void) EALLOW; EvaRegs.T1CON.all = 0x1040; EvaRegs.T2CON.all = 0x1040;3.产生PWM波子程序:void xnitgpio() EALLOW; GpioMuxRegs.GPEMUX.bit.XINT2_ADCSOC_GPIOE1=1; GpioMuxRegs.GPEQUAL.BIT.QUALPRD=0x0ff; XIntruptRegs.XINT2CR.bit.ENABLE=1; XIntruptRegs.XINT2CR.bit.POLARITY=0;void InitEvA(void)/设置GPIO GpioMux

19、Regs.GPAMUX.all=0x00ff; EDIS;/ 初始化定时器控制寄存器 (EV A) EvaRegs.GPTCONA.all = 0;/设置定时器1/ 设置定时器1的周期和比较; EvaRegs.T1PR = 0xffff;/10khz; / 周期EvaRegs.T1CMPR = 0x1d4c;/ 中断使能 EvaRegs.EVAIMRA.bit.T1PINT = 1; EvaRegs.EVAIFRA.bit.T1PINT = 1;/ 清除计数寄存器 EvaRegs.T1CNT = 0x0000;/ 设置定时器控制寄存器/连续递增/递减计数,定时器使能,比较使能/设置定时器2/

20、设置定时器2的周期和比较; EvaRegs.T2PR = 0xffff;/0x0fff; EvaRegs.T2CMPR = 0x000; EvaRegs.T2CNT = 0x0000; EvaRegs.T2CON.all = 0x1040; EvaRegs.EVAIMRB.bit.T2PINT = 1;/定时器2周期中断允许 EvaRegs.EVAIFRB.bit.T2PINT = 1;/清除标志 /设置T1PWM和T2PWM/比较逻辑驱动T1/T2PWM EvaRegs.GPTCONA.bit.TCOMPOE=1;/定时器1比较其极性设置为低电平有效 EvaRegs.GPTCONA .bit .T1PIN =1;/定时器2比较其极性设置为低电平有效 EvaRegs.GPTCONA .bit .T2PIN =1; 参考文献【1】 陈滨,吴忠. 无刷直流机DSP控制系统与PC机串行通信的Matlab实现. 微计算机信息,2005,21(07):95-117.【2】张琛.直流无刷电动机原理及应用北京:机械工业出版社,1996【3】张卫宁.TMS320C28x系统DSP的CPU与外设(下)【M】.北京:清华大学出版社,2005

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1