-
大小: 630KB文件類型: .rar金幣: 2下載: 0 次發布日期: 2021-05-09
- 語言: 其他
- 標簽:
資源簡介
基于DSP2812的無刷直流電機伺服控制程序,用PID算法控制電機的轉動.rar

代碼片段和文件信息
///////////////////////////?無刷直流電動機?24V?seakeke@163.com?和我聯系//////////////////////////////////////////
#include?“DSP281x_Device.h“?????//?DSP281x?Headerfile?Include?File
#include?“DSPMotor_Head.h“
#include?“IQmathLib.h“
#include?“BLDCMotor.h“
#include?“parameter.h“
#include?
/////?函數聲明?////////////////////////////////////////////////////////////
interrupt?void?MainISR(void);
/////?全局變量聲明
float32?SpeedRef?=?0.20;???????????//?Speed?reference?(pu)
float32?T?=?0.001/ISR_FREQUENCY;???//?Samping?period?(sec)?see?parameter.h
Uint32?VirtualTimer?=?0;
Uint16?ILoopFlag?=?FALSE;
Uint16?SpeedLoopFlag?=?FALSE;
int16?DFuncDesired?=?0x1A00;??????//?Desired?duty?cycle?(Q15)=0.2
_iq?CurrentSet?=?_IQ(0.3);
Uint16?IsrTicker?=?0;
Uint16?BackTicker?=?0;
int16?DlogCh1?=?0;
int16?DlogCh2?=?0;
int16?DlogCh3?=?0;
int16?DlogCh4?=?0;
//?Instance?PID?regulator?to?regulate?the?DC-bus?current?and?speed
PIDREG3?pid1_idc?=?PIDREG3_DEFAULTS;
PIDREG3?pid1_spd?=?PIDREG3_DEFAULTS;
//?Instance?a?PWM?driver?instance
PWMGEN?pwm1?=?PWMGEN_DEFAULTS;
//?Create?an?instance?of?the?ADC?driver
ADCVALS?adc1?=?ADCVALS_DEFAULTS;
//?Instance?a?Hall?effect?driver
HALL3?hall1?=?HALL3_DEFAULTS;
//?Instance?a?ramp?controller?to?smoothly?ramp?the?frequency
RMPCNTL?rc1?=?RMPCNTL_DEFAULTS;
//?Instance?a?RAMP2?Module
RMP2?rmp2?=?RMP2_DEFAULTS;
//?Instance?a?MOD6?Module
MOD6CNT?mod1?=?MOD6CNT_DEFAULTS;
//?Instance?a?SPEED_PR?Module
SPEED_MEAS_CAP?speed1?=?SPEED_MEAS_CAP_DEFAULTS;
//?Create?an?instance?of?DATALOG?Module
DLOG_4CH?dlog?=?DLOG_4CH_DEFAULTS;?
//////////////////////////?主程序?//////////////////////////////////////////////
void?main(void)
{
//?Initialize?System?Control?registers?PLL?WatchDog?Clocks?to?default?state:
????????//?This?function?is?found?in?the?DSP281x_SysCtrl.c?file.
InitSysCtrl();
//?HISPCP?prescale?register?settings?normally?it?will?be?set?to?default?values
????EALLOW;???//?This?is?needed?to?write?to?EALLOW?protected?registers
????SysCtrlRegs.HISPCP.all?=?0x0000;?????//?SYSCLKOUT/1?
????EDIS;???//?This?is?needed?to?disable?write?to?EALLOW?protected?registers?
//?Disable?and?clear?all?CPU?interrupts:
DINT;
IER?=?0x0000;
IFR?=?0x0000;
//?Initialize?Pie?Control?Registers?To?Default?State:
????????//?This?function?is?found?in?the?DSP281x_PieCtrl.c?file.
InitPieCtrl();
//?Initialize?the?PIE?Vector?Table?To?a?Known?State:
????????//?This?function?is?found?in?DSP281x_PieVect.c.
//?This?function?populates?the?PIE?vector?table?with?pointers
????????//?to?the?shell?ISR?functions?found?in?DSP281x_DefaultIsr.c.
InitPieVectTable();
//?User?specific?functions?Reassign?vectors?(optional)?Enable?Interrupts:
//?Initialize?EVA?Timer?1/2:
????//?Setup?Timer?1/2?Registers?(EV?A)
????EvaRegs.GPTCONA.all?=?0;
????//?Set?the?Period?for?the?GP?timer?2
????EvaRegs.T2PR?=?SYSTEM_FREQUENCY*1000000*T;??//?Perscaler?X1?(T2)?ISR?period?=?T?x?1
????
????//?Clear?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄??????????0??2008-04-06?10:44??control
?????目錄??????????0??2008-04-06?10:44??control\Source
?????文件???????1793??2006-09-14?15:48??control\Source\DSP281x_EN.c
?????文件???????2177??2003-09-11?10:48??control\Source\DSP281x_CodeStartBranch.asm
?????文件???????2481??2003-09-11?10:48??control\Source\DSP281x_CSMPasswords.asm
?????文件????????898??2003-09-11?10:47??control\Source\DSP281x_DBGIER.asm
?????文件???????2265??2003-09-11?10:47??control\Source\DSP281x_XintfBootReset.asm
?????文件???????6980??2003-09-11?10:55??control\Source\DSP281x_GlobalVariableDefs.c
?????文件???????7986??2006-07-04?22:49??control\Source\DSP281x_SysCtrl.c
?????文件???????1157??2006-07-04?22:49??control\Source\DSP281x_Spi.c
?????文件???????1537??2006-07-04?22:49??control\Source\DSP281x_Sci.c
?????文件??????36609??2006-07-04?22:49??control\Source\DSP281x_SWPrioritizedDefaultIsr.c
?????文件???????1911??2006-07-04?22:49??control\Source\DSP281x_InitPeripherals.c
?????文件???????1706??2006-07-04?22:49??control\Source\DSP281x_Gpio.c
?????文件???????1111??2006-07-04?22:49??control\Source\DSP281x_Ev.c
?????文件???????5990??2006-07-04?22:49??control\Source\DSP281x_ECan.c
?????文件???????4656??2006-07-04?22:49??control\Source\DSP281x_CpuTimers.c
?????文件???????2551??2006-07-04?23:00??control\Source\DSP281x_usDelay.asm
?????文件???????5544??2006-07-04?22:49??control\Source\DSP281x_PieVect.c
?????文件???????2813??2006-07-04?22:49??control\Source\DSP281x_PieCtrl.c
?????文件??????25782??2006-07-04?22:49??control\Source\DSP281x_DefaultIsr.c
?????文件???????6225??2006-09-13?21:49??control\Source\DSP281x_Hall3.c
?????文件???????6668??2002-01-04?09:08??control\Source\DLOG4CHC.asm
?????文件???????3336??2006-09-14?15:47??control\Source\DSP281x_ADC04U.c
?????文件???????3149??2006-09-15?11:32??control\Source\DSP281x_BLDCPWM.c
?????文件??????10976??2006-10-08?22:10??control\Source\BLDCMotor.c
?????目錄??????????0??2008-04-06?10:44??control\Lib
?????文件?????555420??2005-04-29?01:38??control\Lib\iqDMC_ml.L28
?????文件?????528962??2002-06-22?02:32??control\Lib\IQmath.lib
?????文件????1208214??2005-04-01?14:09??control\Lib\rts2800.lib
............此處省略65個文件信息
評論
共有 條評論