-
大小: 630KB文件类型: .rar金币: 1下载: 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个文件信息
评论
共有 条评论