《基于DSP的直流电机控制系统(共41页).docx》由会员分享,可在线阅读,更多相关《基于DSP的直流电机控制系统(共41页).docx(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上太原科技大学课程设计报告直流电机的控制设 计 人:成凤强专 业:电子信息工程班 级:电子学 号: 4指导教师: 张 雄二零一六年十二月专心-专注-专业第一章设计目的及要求一、设计目的1.学习用C语言编制中断程序,控制VC5416 DSP的通用I/O管脚产生不同占空比的PWM信号。2.学习VC5416DSP的通用I/O管脚的控制方法。3.学习直流电机的控制原理和控制方法。二、设计要求开始运行程序后,电机以中等速度转动(占空比=60,转速=2)。在小键盘上按数字1一5键将分别控制电机从低速到高速转动(转速=1 -5) 。在小键盘上按数字0键将控制电机停止转动。在小键盘上按
2、+或一键切换电机的转动方向。第一章 设计原理与方案一、设计原理第一步TMS初始化。第二步PWM调速。第三步键盘控制 1.TMS320VC516 DSP的McBSP引脚:通过设置McBSP的工作方式和状态,可以实现将它们当成通用I/O引脚使用。2. 直流电机控制:直流电动机是最早出现的电动机,也是最早能实现调速的电动机。近年来,直流电动机的结构和控制方式都发生了很大的变化。随着计算机进入控制领域,以及新型的电力电了功率元器件的不断出现,使采用全控型的开关功率元件进行脉宽调制(Pulse Width Modulation,简称PWM)控制方式已成为绝对主流。3. PWM调压调速原理直流电动机转速n
3、的表达式为:n=U-IRK其中,U为电枢端电压;I为电枢电流;R为电枢电路总电阻;中为每极磁通量;K为电动机结构参数。所以直流电动机的转速控制方法可分为两类:对励磁磁通进行控制的励磁控制法和对电枢电压进行控制的电枢控制法。其中励磁控制法在低速时受磁极饱和的限制,在高速时受换向火花和换向器结构强度的限制,并且励磁线圈电感较大,动态响应较差,所以这种控制方法用得很少。现在,大多数应用场合都使用电枢控制法。绝大多数直流电机采用开关驱动方式。开关驱动方式是使半导体功率器件工作在开关状态,通过脉宽调制PWM来控制电动机电枢电压,实现调速。上图是利用开关管对直流电动机进行PWM调速控制的原理图和输入输出电
4、压波形。图中,当开关管MOSFET的栅极输入高电平时,开关管导通,直流电动机电枢绕组两端有电压Us。t1秒后,栅极输入变为低电平,开关管截止,电动机电枢两端电压0。t2秒后,栅极输入重新变为高电平,开关管的动作重复前面的过程。这样,对应着输入的电平高低,直流电动机电枢绕组两端的电压波形如图中所示。电动机的电枢绕组两端的电压平均值Uo为:占空比表示了在一个周期T里,开关管导通的时问与周期的比值。的变化范围为0a 16 )CTRGR=1;nCount=0;nScanCode=CTRKEY;/ 读扫描码nScanCode&=0x0ff;/ 低8位/uWork1=CTRCLKEY;/ 清除键盘缓冲区i
5、f ( nScanCode!=0 )if ( nScanCode=SCANCODE_Enter )break;elsecKey=ConvertScanToChar(nScanCode);if ( cKey!=0 & cOldKey!=cKey )cOldKey=cKey;switch ( cKey )case 0: uN=100; break;case 1: uN=70; break;case 2: uN=50; break;case 3: uN=30; break;case 4: uN=10; break;case 5: uN=1; break;case +:uN1=uN;uN=60;/ 降
6、速Delay(1024);SPSA0=0;uWork1=SPSD0;uWork1&=0xfffe;SPSD0=uWork1;SPSA0=0x0e;uWork1=SPSD0;uWork1|=0x1101;/set Motors direction to 1SPSD0=uWork1;PRD=nSpeed; nDir=0; Delay(1024);uN=uN1;break;case -:uN1=uN;uN=60;/ 降速Delay(1024);SPSA0=0;uWork1=SPSD0;uWork1&=0xfffe;SPSD0=uWork1;SPSA0=0x0e;uWork1=SPSD0;uWork1
7、|=0x1100;/set Motors direction to 0uWork1&=0xfffe;SPSD0=uWork1;PRD=nSpeed; nDir=1;Delay(1024);uN=uN1;break;TCR = 0x412;REGISTERCLKMD=0;CTRGR=0;CTRGR=0x80;CTRGR=0;exit(0); void Delay(unsigned int nDelay)int i,j,k=0;for ( i=0;inDelay;i+ )for ( j=0;juN )uWork|=4;elseuWork&=0x0fffb;SPSD1=uWork;nCount+;n
8、Count1+; nCount1%=100;char ConvertScanToChar(unsigned char cScanCode)char cReturn;cReturn=0;switch ( cScanCode )case SCANCODE_0: cReturn=0; break;case SCANCODE_1: cReturn=1; break;case SCANCODE_2: cReturn=2; break;case SCANCODE_3: cReturn=3; break;case SCANCODE_4: cReturn=4; break;case SCANCODE_5: c
9、Return=5; break;case SCANCODE_6: cReturn=6; break;case SCANCODE_7: cReturn=7; break;case SCANCODE_8: cReturn=8; break;case SCANCODE_9: cReturn=9; break;case SCANCODE_Plus: cReturn=+; break;case SCANCODE_Minus: cReturn=-; break; return cReturn;参考文献1刘艳萍,李志军.DSP技术原理及应用教材,北京航空航天大学出版社,第三版,2012.82方华刚.DSP原理与应用,北京机械工业出版社,2006.13程佩青.数字信号处理教程,清华大学出版社,第二版,2001.84姜阳,周锡青.DSP原理与应用实验,西安电子科技大学出版社,2008