dsp课程设计报告电机控制

  • 格式:doc
  • 大小:222.50 KB
  • 文档页数:8

下载文档原格式

  / 8
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

一.实验设备 (3)

二.课程设计要求 (3)

三.课程设计思路 (3)

四.实验接线 (5)

五.相关代码的详细说明 (6)

六.设计总结 (9)

一.实验设备

1.PC机一台,操作系统为WindowsXP (或Windows98、Windows2000),安装了ccs3.1;

2.TI 2000系列的TMS320F2812 eZdsp开发板一块;

3.扩展实验箱一台;

4.示波器一台;

5.直流电机及其驱动箱一套。

二.课程设计要求

课程设计中使用的直流电机(THBLD-1型力矩电机控制)驱动有两种方式,可以使用其自带的驱动箱,也可以使用扩展实验箱中的驱动电路,因此可任选一种方式完成课程设计,具体要求:

方式一(使用电机自带的驱动箱):

①利用DSP的事件管理器产生一路PWM接入驱动箱,控制电机;

②利用按键检测控制电机,一个按键控制电机正转和反转(按键一次改变电机转向),

另一个按键控制电机转速(三级调速,按键一次改变一次速度);

③利用QEP采样电路检测电机转速;

④数码管显示电机当前转速。

方式二(使用实验箱上的驱动电路)

①理解直流电机双极性驱动电路的原理,利用事件管理器产生正确的PWM控制波形,

实现电机开环控制;

②利用按键检测控制电机,一个按键控制电机正转和反转(按键一次改变电机转向),

另一个按键控制电机转速(三级调速,按键一次改变一次速度);

③利用QEP采样电路检测电机转速;

④数码管显示电机当前转速。

三.课程设计思路

在本课程设计中,我们采用了直流电机(THBLD-1型力矩电机控制)驱动的第一种方式——使用电机自带的驱动箱驱动的方式。实验思路如下:

1.利用DSP的事件管理器产生一路PWM接入驱动箱,控制电机。

TMS320F2812处理器包含EVA和EVB2个事件管理器,每个事件管理器包含通用定时器(GP)、比较器、PWM单元、捕获单元以及正交编码脉冲电路(QEP)。PWM 单元主要应用于产生脉宽调制信号控制数字电机。在本课程设计中,我们使用了事件管理器EVA的通用定时器1来产生一路PWM信号——PWM1,来控制电机。

与通用定时器1相关的寄存器有GPTCONA(通用定时器全局控制寄存器)、T1PR (通用定时器周期寄存器)、T1CMPR(通用定时器比较寄存器)、T1CON(通用定时器控制寄存器)、T1CNT(通用定时器计数寄存器)。与比较单元相关的寄存器有COMCONA(比较控制寄存器)、ACTRA(比较操作控制寄存器)、DBTCONA(死区定时器控制寄存器)、CMPR1(比较寄存器)。

通过上一次的实验,我们知道,当CMPR1=0x8000时,PWM1输出占空比为50%

的方波,接入电机,电机不转;当CMPR1>0x8000时,PWM1输出占空比大于50%的矩形波,电机往一个方向转动,且CMPR1值越大,占空比越大,电机转动越快;当CMPR1<0x8000时,PWM1输出占空比小于50%的矩形波,电机往另一个方向转动,CMPR1值越小,占空比越小,电机转动越快。

相关设置见代码及注释部分。

2.利用按键检测控制电机,一个按键控制电机正转和反转(按键一次改变电机转向),另

一个按键控制电机转速(三级调速,按键一次改变一次速度)。

TMS320F2812芯片提供了56个多功能引脚(分为A~G一共8组),当引脚工作在数字量I/O模式时,可以通过方向控制寄存器(GPxDIP)控制数字量I/O的方向。

在课程设计中,我们使用了GPIOB来采样按键信号。根据课程设计要求,我们需要用到两个口,但是考虑到电机的安全起动,我们多采用了一个按键作为电机的电源信号,以防电机一上电就起动,保证了电机的安全起动。

采用GPIOB2作为电源输入信号,GPIOB2=1时,电机停转;GPIOB2=1时,电机转动。

采用GPIOB3作为电机转动方向控制信号,每按一次与其相连的按键,电机转动方向改变一次。

采用GPIOB4作为电机转速控制信号,并设置变量realspeedlevel对其模三取余,根据realspeedlevel的值改变CMPR1值的大小,实现三级调速。GPIOB2=1时,电机停转;GPIOB2=1时,电机转动。

当电机正转时,

①若realspeedlevel =0,CMPR1=0x8000,电机停转;

②若realspeedlevel =1,CMPR1=0x5000,电机一级加速;

③若realspeedlevel =2,CMPR1=0x2000,电机二级加速。

当电机反转时,

①若realspeedlevel =0,CMPR1=0x8000,电机停转;

②若realspeedlevel =1,CMPR1=0xB000,电机一级加速;

③若realspeedlevel =2,CMPR1=0xE000,电机二级加速。

考虑到用户随时都有可能按键,我们将按键的读取工作放在主程序中,以便随时响应用户需求。相关设置见代码及注释部分。

3.利用QEP采样电路检测电机转速。

QEP采样电路也需要用到事件管理器。EVA通用定时器GP2设置为QEP模式、方向加减计数,则GP2 以QEP脉冲作为时钟,设置计数初值M(如0x000f),使能周期中断;EVB通用定时器GP3作为定时器,计数初值设为x(如0xffff),设置溢出中断,计算定时器溢出次数n,用于计算产生QEP产生M个脉冲所需要的时间T,通用定时器默认时钟为75MHz。

由于电机每转一圈,QEP可检测到4096个边沿,所以产生M个QEP脉冲的电机实际转动圈数为R=M/4096。

GP3的计数值除以计数频率为计时时间,所以时间T= (n*x+T3CNT)/75M,单位为秒。所以电机转速S=60*R/T(单位:转/分钟)

在QEP部分,我们采用了中断的方式,设置见代码和注释部分。

4.数码管显示电机当前转速。

数码管显示部分也需要用到GPIO的相关寄存器。我们用数码管4、5、6、7分别显示测得的速度值。为了判断按键是否正确读入,用数码管1、2、3分别显示三个按键