DSP_TMS320F28027SPWM程序.doc

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DSP_TMS320F28027SPWM程序

课程名称:电机的DSP控制课程设计 院 系: 电子信息与电气工程学院 专 业: 电气工程与自动化 班 级: F0903006 学 号: 姓 名: 上 海 交 通 大 学 目录 摘要 3 第一章 LED和按键 4 1.1 程序功能 4 1.2 程序实现思想 4 1.3 程序流程图 5 1.4 程序评价 5 第二章 AD转换和LCD显示 6 2.1 程序功能 6 2.2 程序实现思想 6 2.3 程序评价 6 第三章 SPWM的产生 7 3.1 程序功能 7 3.2 程序实现思想 7 3.3 程序流程图 8 3.4 程序评价 9 SPWM附录程序(部分) 10 摘要 本报告主要内容是用TMS320C28027DSP芯片产生SPWM波,实现恒压频比控制。产生SPWM的方法有三角波与正弦波比较法(单极性和双极性)、数字方法,和具体的实现。此外,还有两个小任务。一个是利用该芯片实现按键判断和LED显示,另一个是AD转换和LCD显示。小任务的目的是熟悉实验板的操作,为SPWM波程序编写打下基础。 LED和按键 1.1 程序功能 该程序的功能是分辨按键的输入,不同的按键实现不同的功能,然后再LED上显示效果。 程序运行后,初始值为0,通过1个键,按一下加1,通过另一个键,按1下减1;(按着不放,超过1秒,不断加1或减1,时间超过5秒,不断加10,或减10)。通过四个按键设置两个数值,再按第五个按键计算两个数的乘积。 1.2 程序实现思想 按键的识别利用的BC7281芯片的相关功能,该模块提供了一个接口,变量KEY变低时说明有按键按下,利用Read_7281(0x13)函数就可以读取按键的地址(在BC7281中的存放地址为0x13),实现对按键的判断。 长按的功能通过定时器来实现。初始设定长按标志变量flag=0;在按下某个值时,如果flag=按键地址(1-4),重载定时器1预定标值,开启定时器1,中断周期为5秒;重载定时器2,开启定时器2,中断时间为1秒。如果flag=5,那么加减10;如果flag为6,那么加减1;如果为其他,加减1,令flag=按键地址。在中断函数内,flag=5或6,停止定时器。 1.3 程序流程图 图1-1 LED程序流程图 1.4 程序评价 该程序完成了要求的任务,并且采用中断而不是用delay来确定按键时间,提高了效率。 第二章 AD转换和LCD显示 2.1 程序功能 根据输入的电压值,把AD的结果显示出来,当输入电压变化时,显示值也变化。 2.2 程序实现思想 利用示例程序很容易调节ADC模块的采样频率,触发方式,采样精度等参数,LCD的显示通过接口函数很容易使用。这里将采样结果同样用LED显示。 2.3 程序评价 该程序很好的完成的既定的任务,在LCD和LED显示屏上都有稳定的显示,AD采样灵敏。 第三章 SPWM的产生 3.1 程序功能 生成6路PWM正弦波程序(变频器逆变需6路),PWM的开关频率为10KHz,其输出的正弦波频率为0~100Hz,根据AD的值变化,50Hz时输出100%电压,0~50Hz按V/f等于常数输出,死区时间取2us。频率值显示在数码管上。 3.2 程序实现思想 1、采用epwm模块的上下数模式,计数值为3000,计数周期为16.67ns; 2、改变比较寄存器里的数值改变中断时间,上数到比较值置高,下数到比较值置低,数到周期值置高,数到0置低; 3、每个epwm模块产生两路死区时间为2us的相互反向的pwm波; 4、计数到0出发中断,中断操作为更改比较值; 5、比较值利用等面积法计算出来,最低点设置为0,最高点设置为3000。 6、比较值存放在table[200]数组中,只存放半个周期的比较值,在50Hz以上的算法为 table[i]=sin((2*i+1)*pi/(2*SamNum))*1500; 式 3-1 其中SamNum为半周期比较的次数。1500为计数器的半周期值,更新比较值时,正半周要加上1500,后半周不需要;对50Hz一下频率(大于25Hz),算法为 table[i]= (workfre_div*sin((2*i+1)*pi/(2*SamNum))*1500)/50; 式3-2 其中workfre_div为正弦波频率,0~100Hz。当大于25Hz时,SamNum为半周期比较次数,当小于25Hz时,其为25Hz时的比较次数。 7、更新比较值策略:正半周比较值为相应表格中的数加上1500,后半周不加。当正弦波频率低于25Hz时,利用200个点来产生比较值,在第i次更新时取table中第i*wor

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档