DSP的PWM电机控制程序代码分析_第1页
DSP的PWM电机控制程序代码分析_第2页
DSP的PWM电机控制程序代码分析_第3页
DSP的PWM电机控制程序代码分析_第4页
DSP的PWM电机控制程序代码分析_第5页
免费预览已结束,剩余10页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、中南大学DSF原理及应用课程代码分析报告报告题目:DSP的PWM电机控制程序代码分析 学 院:专业班级:姓 名:学 号:0909082203指导老师:刘建成目录1. 基本原理、头文件和变量2. 数据存储空间(汇编源程序) 声明( C 源程序)分析3. 算法分析与流程图4. 总结1. 基本原理1. 每个240X器件都包含两个事件管理模块 EVA和EVB,每个时间管理器模块 包括通用定时器、比较单元、捕获单元,以及正交编码脉冲电路。2. 直流电机控制:直流电动机是最早出现的电动机,也是最早能实现调速的电动机。近年来, 直流电动机的结构和控制方法都发生了很大的变化。随着计算机进入控制领域, 以及新型

2、的电力电子功率元器件的不断出现, 使采用全控型的开关功率元件进行 脉宽调制(PWM)控制方式已成为绝对主流。PWM调压调速原理:直流电动机转速n的表达式为:U IR nK其中,U为电枢端电压;I为电枢电流;R为电枢电路总电阻;为每级磁通量;K为电动机结构参数。所以直流电机的转速控制方法可分为两类: 对励磁通进行控制的励磁控制法 和对电枢电压进行控制的电枢控制法。其中励磁控制法在低速时受磁极饱和的限 制,在高速时受换向火花和换向器结构强度的限制,并且励磁线圈电感较大,动态响应较差,所以这种控制方法用得很少。现在,大多数应用场合都使用电枢控 制法。绝大多数电流电机采用开关驱动方法。 开关驱动方式是

3、使半导体功率器件 工作在开关状态,通过脉宽调制 PWM来控制电动机电枢电压,实现调速。具体 电路如下图。up超 16C1ALr:D DU1DMOTE2. 数据存储空间(汇编源程序)、头文件和变量声明(C源程序)分析在此程序中定义了如下变量(C源程序)/global.c*7extern uksiifled int $丹1佩训2問冊卩吋冋卿;extern unsigned int WDCBIDKEV:extern URsijntd int MRrIFI,PIIRirVS0t;extern unsized int MCRA.HCRI.MCHC.PflDAIBlPBDATDIH.rCMnil.KMni

4、tPFDnOIH;extern unsigned int 眦TRLMDCTRL?川WONU邮EL刑邮FL叫邮WQ3附血Qh;extern unsized int AlirOSEIJSR RESULT RESULTI.RfSLLTS, RESULTS RESULT?;extern unsigreti int 耶HO®HTGR£RN删期帼乩冊顺R2MMGR1 疋RHE恥隔端extern unsized int帥NCFM肪旧朋胆札倔肚酣脚血吐州肚;PKtern unsigned int CAHIDmjCnHtDSLDNCTRLOfCANEMOfl.CAffiXBBANBXOCjC

5、ANBXOO;PKterfl unsigned int GAKIEIH.CRHIDlL.CAIETHLI.CANeXIRRWBftNBKICANBMD;extern unsigned int CAHID2HICAHID2L,CAHCTRL2ICAH6X2AJCAHei!2STCAHDX2CICANBX2D;PKtern unsigned int聽帕03儿蚀川蚀問1£即直理用欄1:噸监盼血11瞄眄蚀丽鹉片extern unsigned int 即NID4H#RHM札.CRHCTRL*朋BKUbCR蔺胡盼皿冊汕C,C側册呱;extern unsigned int渤ID5H#ANI瓯,MN

6、CTRL几朋哪井問删唧,他删丸,朋册曲;extern unsigred int 離ICCR靑tICTU,SUHE細釘SC】UIW0dl:I(;TL2mRXST.SCIRXENI.SCJRXBUF.SCHXIUF,SC1FRI;蹴PM unsigned ilt SHCDHAJICNTJIPHJICON.TCNT.IZPRJCDH.EUAlMRflJUAlMRBJUAIFHftJUAIFRB;»tern unHqn凶 int 即TMNEJMNTJ斜PRJ3PRJ剜HQIONA/济陆MT饲陆柑IPIH,口时删上朋IFRA;在此程序中定义如下数据空间(汇编程序):ine.asna inclu

7、de Include"lfZWati011 F24A7tECS.il11.gintiai .qlotal _ g altialB qilulbdl iglobal .ylubal .glnlial .1)1 nHba.qlalltial.glofedlZC A Hl D OLh_CfiiHIDOH._C AHC TRL Q_CAhBXM,.CAHBXaB,_CftHBX0C B._CfiNBX®.glokal_C nHHI>1L._CaHiID1H t_C KHC TRL 1CnNBXICt.=CflNBX1l>Bglaljdl_CAHD2La_CfiHID3H

8、._CfiHCTRL2.CRIVXSA._CAHEK2B._CinNBX2P glotial"c R Hl D3L »2c AHI 阳H 二C; AM; 1 RL 33cnMXMpJCIWBK30:.CfllHBK3CVsDfiNBK3D.qianalJi: A Ml OWL , C AM ! D 81a _C RHC1 HL llcnr>iJXi«C!.g砒a】_CflHll>GL /cAHilDGH s1 KLS-CM1BK5B,LAMI2CSC /CANUXStlglobal'SCICCR. SCClLI, SCIHHAUD,SCILSf

9、tUP,SCCIL2pSC1RX1T.SC1RXEHU« SCIRX8UF, VCnXBUFt SCIPRI;.glaliiil gluNbdl .glutodl Hqjnt)aT2PRbT2C0HGPTCOm <wT1CNT _T1PR fi_T1CDN,_T2CHT EUflirRA .lEUfi I HRB _E VAIFR .JEUfil IFRIB . _F I URGPICDHn,_T3CHI ._13011,_13,_1300«,_00«0111._1101««|,_0010 ,Cirni,_EUB1iWft P_(U0IF

10、RftWSI;hc_inrnR_fi_tnti* c_int?I MR, IFR SCSftll B SCSR2, jKJHnCR, KIH12CRWDIDHTR p UDKE¥,_WDCR憎 M,離朋.MCHCa_PmTDIR._PB&ftWlR,_PCDftTDlRi_PEDflTDIRwjPFmi?IR flDCTRL! ,_ftDCTHL2t JlflXCOHU#_CHSELSEQ 1 t_CHSELSEQ2P_CHSELSEQ3._CHSELSEQ>i AIIV n SFqSR P_R ES1II Ilp.RF SUL 11 fr_RFSlJLT?F SIUL

11、TRRFSUI T9CHIVDER, CAMER CAIWcEllp :HHICR , CAWER2?_CDNH:CR1 ,_CAHESR f _CANESR CfiNCLC, UfiHlFH. UAHIHH . JJmMLRMNHa JUAHL AMliL由于程序设置使用 CAN总线传输电机转速数据,故在程序中开辟了CANIDxL和CANIDxH存储CAN总线数据标识符ID的单元),CANCTRLx存储CAN总线控制寄存器位单元), CANBXnA/B/C/D(存储总线传输数据单元)。在汇编程序中还将在程序中涉及的变量开辟空间由于在程序中要用到中断,故在汇编程序中定义了中断向量地址表:;建寺

12、中断向量表".vectors.sectRSVECTBc intoINTIBPHANTOMIHT2Bc int2IHT3BPHANTOMI NTHBPHANTOMI NTSBPHANT0HINT6BPHANTON;中断子向量入口定义-textPHrtHTOH:KICK_DCG RET.end具体变量和块在存储器中的地址为:*TMS320C24xx COFF Lin kerVersio n 7.02*OUTPUT FILE NAME:<ex.out>ENTRY POINT SYMBOL: "_c_i ntO"address: 00008904SECTION

13、 ALLOCATION MAPoutputsect ionpageoriginlengthattributes/in put sect ions.vectors 0000080000000000e000080000000000eDefi ne.obj (.vectors).text00008860000001490000886000000006Define.obj (.text)0000886600000000global.obj (.text)000088660000009eMain.obj (.text)0000890400000027rts2xx.lib : boot.obj (.tex

14、t)0000892b00000050: exit.obj (.text)0000897b0000002e: saverest.obj (.text).cinit0 000089a900000010000089a900000009Main.obj (.cinit)000089b200000006rts2xx.lib : exit.obj (.cinit)000089b800000001-HOLE- fill = 0000.data1 0000086000000000UNINITIALIZED0000086000000000Define.obj (.data)0000086000000000rts

15、2xx.lib : saverest.obj (.data)0000086000000000: exit.obj (.data)0000086000000000: boot.obj (.data)0000086000000000Main.obj (.data)0000086000000000global.obj (.data).bss10000088000000025UNINITIALIZED0000088000000022rts2xx.lib : exit.obj (.bss)000008a200000000: boot.obj (.bss)000008a200000000global.ob

16、j (.bss)000008a200000000rts2xx.lib : saverest.obj (.bss)000008a200000000Define.obj (.bss)000008a200000003Main.obj (.bss).const10000086000000000UNINITIALIZED.switch00000886000000000UNINITIALIZED.stack1000008a5000000a0UNINITIALIZED000008a500000000rts2xx.lib : boot.obj (.stack).system10000086000000000U

17、NINITIALIZED3. 算法分析与流程图六、程序流程图算法分析:/*Mai n.c*/*PWM电机控制程序,正反转,默认设置的工作频率1kHz*/#i nclude "global.c"void Systeml nit();void PWM _ln it();void KickDog();int numled0=200;unsigned int t0=0;unsigned int XPWM=0;main()SystemInit(); / 系统初始化/IOPB0-6 设为 IO 口模式/ 所有 LED=0/ 所有 LED=1MCRA=MCRA & 0xC0FF;

18、PBDATDIR=0xFFC2;PBDATDIR=PBDATDIR |0x003D;XPWM=2400; / 最大值 2500/* when xpwm=0900, 逆时针方向旋转 ,值越小 ,转速越 快when xpwm=16002500, 顺时针方向旋转 , 值越大 , 转速越快when xpwm=9001600, 电机两端电压太低 ,基本上 不足以起转 */asm(" CLRC INTM ");while(1);void SystemInit()asm(" SETC INTM "); /* 关闭总中断 */asm(" CLRC SXM &q

19、uot;); /* 禁止符号位扩展 */asm(" CLRC CNF ");/* B0 块映射为 on-chip DARAM*/asm(" CLRC OVM ");/* 累加器结果正常溢出 */SCSR1=0x83FE;/* 系统时钟 CLKOUT=20*2=40M */* 打 开 ADC,EVA,EVB,CAN 和 SCI 的时钟, 系统时 钟CLKOUT=40M */WDCR=0x006F;/* 禁止看门狗 ,看门狗时钟 64 分频 */PWM_Init() ;/ 定时器初始化KickDog();IFR=0xFFFF;IMR=0x0002;/* 初始化看门狗 */* 清除中断标志 */* 打开中断 2*/void PWM_Init()MCRA=MCRA | 0x00C0;/PA6-PA7 为 PWM 口EVAIFRA=0xFFFF;/ 清除中断标志ACTRA=0x0006;/PWM1,2 低有效DBTCONA=0x0530;/ 使能死区定时器 1, 分频 40M/16=2.5M, 死区时间5*0.4us=2usT1PR=2500;/ 定时器 1 周期值 ,定时 0.4us*25

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论