• 大小: 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个文件信息

评论

共有 条评论

相关资源