- 1、本文档共51页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
2.4 无刷直流电动机驱动控制程序
//##########################################################################
###///
//无刷电机控制源程序
//TMS320F2812
//
//#############################################################################
//=====================================================================
//头文件调用
//=====================================================================
#includeDSP28_Device.h#includemath.h#includefloat.h
//=====================================================================
//常量附值
//=====================================================================
#defineIdc_max3000 /电/流给定最大值#defineIdc_min0 /电/流给定最小值
//=====================================================================
//标志位
//=====================================================================
charIab_Data=0;
structFlag_Bits { //bits description
Uint16
Send:1;
//
0
串口发数
Uint16
Test:1;
//
1
串口测试
Uint16
Vflag:1;
//
2
转速更新
Uint16
SendEnd:1;
//
3
串口发送结束
Uint16
Sign1:1;
//
4
上一次给定转向标志
Uint16
Sign2:1;
//
5
本次给定转向标志
Uint16
Openint:1;
//
6
启动标志
Uint16
Adfrist:1;
//
7
保留
Uint16
Spdoff:1;
//
8
保留
Uint16
Zero:1;
//
9
转速过零标志
Uint16
Mode:3;
//
10-12
保留
Uint16
Dshow:1;
//
13
保留
};
Uint16
Sign:1;
//
14
当前转向标志
unionFlag_Reg{Uint16 all;
structFlag_Bits bit;
}FlagRegs;
//=====================================================================
//全局变量
//=====================================================================
//串口通信变量
unsignedintSci_Rx[8]={0,0,0,0,0,0,0,0};//接收数据数组unsignedintSci_Tx[8]={0,0,0,0,0,0,0,0};//发送数据数组
charT_pointer=0; 发送//数据数组指针
charR_pointer=0; 接收//数据数组指针
charT_length=1;
发送/数/
据长度
charR_length=0;
接收/数/
据长度
chara2=0;
//控制参数
unsignedintspd_kp=0;unsignedintspd_ki=0;unsignedintid_kp=0,id_ki=0;signedintspd_given=0;signedintspd_given1=0;signedintspd_given2=0;
转/速/环P参数转/速/环I参数电//流PI参数
转/速/给定转/速/给定转/速/给定
//控制变量
unsignedintcap1=0;unsignedintcap2=0;unsignedintintruptcount=0;
前/次/换向标志位本/次/换向标志位
定//时器1下溢中断次数
unsignedintspeed_given=1000
文档评论(0)