• 大小: 441KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-07-20
  • 语言: 其他
  • 标签:

资源简介

代码移植,稳定可用,对任务稍加修改即可。

资源截图

代码片段和文件信息

#include “includes.h“
#include “define.h“

 typedef signed int Loopstack;

/*----------------------------------------PID部分------------------------------------*/  
#define P   16
#define I   0
#define D   -3
#define SP   0
#define SI   11
#define SD   0
#define A    SP+SI+SD
#define B    SP+2*SD
#define C    SD


typedef struct pid                   //pid调节结构
{
  Loopstack Ek;
  Loopstack Ek_1;
  Loopstack Uk;
  
  INT32S sumi;
  INT16S KP;
  INT16S KI;
  INT16S KD; 
} PID;
 
typedef struct speed_pid
{
INT16S ek;
INT16S ek_1;
INT16S ek_2;
INT16S uk;

INT16S SA;
INT16S SB;
INT16S SC;
} SPEED_PID;
 SPEED_PID speed_control_manage;

 INT16U STORE_SPEED;
    
    
 /*
  **************************************************************
  *Description:   PID调节公式
  *Arguments:     指向PID结构的指针
  *Returns:      PID计算结果值
  **************************************************************
  */
  INT16S pid_manage(PID *pdata)
  {
    pdata->Uk=(pdata->KP)*(pdata->Ek)+(pdata->KI)*(pdata->sumi)+(pdata->KD)*(pdata->Ek-pdata->Ek_1);
    return (pdata->Uk);
  }
 
 /*
 ****************************************************************
 *description:  速度PID 调节公式
 *aruments:     指向pid结构的指针
 *returns:      PID计算结果值
 *****************************************************************
 
 INT16S Speed_pid_manage(PID *pdata)
 {
   pdata->Uk+=(pdata->KP)*(pdata->Ek)+(pdata->KI)*(pdata->Ek)+(pdata->KD)*(pdata->Ek-pdata->Ek_1);
   if(pdata->Uk>MAX_DTY)
       pdata->Uk= MAX_DTY;
   if(pdata->Uk<-MAX_DTY)
      pdata->Uk=-MAX_DTY;
   return pdata->Uk;
 }*/
  INT16S Speed_pid_manage(SPEED_PID *pdata)
 {
   pdata->uk+=(pdata->SA)*(pdata->ek)+(pdata->SB)*(pdata->ek_1)+(pdata->SC)*(pdata->ek_2);
   if(pdata->uk>MAX_DTY)
       pdata->uk= MAX_DTY;
   if(pdata->uk<-MAX_DTY)
      pdata->uk=-MAX_DTY;
   return pdata->uk;
 }
/*-------------------------------------------------------------------------------------*/

/*-------------------------------------储存缓冲区---------------------------------------------------------------------------*/


Loopstack  steer_ploop[25]=                  //舵机偏差储存队列 构造存储队列25个元素 空位置为0 存储区初始化为中间
{0000000000000000000000000};



typedef struct Loop                           //数据缓冲区存储指针结构
{                                     
   Loopstack * startpointer;                 //队列开头指针
   Loopstack * endpointer;                   //队列尾指针
   
} Loop;
 Loop  steer_quq=                      //舵机队列头尾指针 存储队列初始化
{                                            //队列长度20个元素
  &steer_ploop[3]&steer_ploop[22]
};

 
     
//const INT8S Control_table[3][25]=
//{ 
//{11 11 11 10 10 6 6 6 6 3 3 0 0 0 0 0 0 0 0 0 -6 -6 -6 -6 -6}
//{11 11 11 10 10 6 5 5 5 3 3 0 0 0 -3 -3 -4 -4 -5 -5 -10 -10 -10 -10 -10}
// {6 6 6 5 5 3 3 3 0 0 0 0 0 0 -3 -3 -6 -6 -6 -6 -10 -10 -10 -10 -10}
  
  
//} ;
/*
**

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-07-24 18:30  FREESCALE DOCUMENT2\
     目录           0  2013-04-13 22:21  FREESCALE DOCUMENT2\Project_1\
     目录           0  2013-04-13 22:21  FREESCALE DOCUMENT2\Project_1\bin\
     文件      220025  2012-04-12 23:55  FREESCALE DOCUMENT2\Project_1\bin\Project.abs
     文件        7926  2012-04-12 23:55  FREESCALE DOCUMENT2\Project_1\bin\Project.abs.phy
     文件        7722  2012-04-12 23:55  FREESCALE DOCUMENT2\Project_1\bin\Project.abs.s19
     文件      118636  2012-04-12 23:55  FREESCALE DOCUMENT2\Project_1\bin\Project.map
     文件           0  2012-04-11 22:21  FREESCALE DOCUMENT2\Project_1\bin\Project.xpr
     目录           0  2012-07-24 18:30  FREESCALE DOCUMENT2\Project_1\cmd\
     文件        1511  2012-03-15 21:02  FREESCALE DOCUMENT2\Project_1\cmd\P&E_Multilink_USB_Erase_unsecure_hcs12p.cmd
     文件          59  2012-03-15 21:02  FREESCALE DOCUMENT2\Project_1\cmd\P&E_Multilink_USB_Postload.cmd
     文件          60  2012-03-15 21:02  FREESCALE DOCUMENT2\Project_1\cmd\P&E_Multilink_USB_Preload.cmd
     文件          60  2012-03-15 21:02  FREESCALE DOCUMENT2\Project_1\cmd\P&E_Multilink_USB_Reset.cmd
     文件          59  2012-03-15 21:02  FREESCALE DOCUMENT2\Project_1\cmd\P&E_Multilink_USB_Startup.cmd
     文件          77  2012-03-15 21:02  FREESCALE DOCUMENT2\Project_1\cmd\P&E_Multilink_USB_Vppoff.cmd
     文件          78  2012-03-15 21:02  FREESCALE DOCUMENT2\Project_1\cmd\P&E_Multilink_USB_Vppon.cmd
     文件        1511  2012-03-15 00:02  FREESCALE DOCUMENT2\Project_1\cmd\TBDML_Erase_unsecure_hcs12p.cmd
     文件          59  2012-03-15 00:02  FREESCALE DOCUMENT2\Project_1\cmd\TBDML_Postload.cmd
     文件          60  2012-03-15 00:02  FREESCALE DOCUMENT2\Project_1\cmd\TBDML_Preload.cmd
     文件          60  2012-03-15 00:02  FREESCALE DOCUMENT2\Project_1\cmd\TBDML_Reset.cmd
     文件          59  2012-03-15 00:02  FREESCALE DOCUMENT2\Project_1\cmd\TBDML_Startup.cmd
     文件          77  2012-03-15 00:02  FREESCALE DOCUMENT2\Project_1\cmd\TBDML_Vppoff.cmd
     文件          78  2012-03-15 00:02  FREESCALE DOCUMENT2\Project_1\cmd\TBDML_Vppon.cmd
     文件         855  2012-03-15 00:02  FREESCALE DOCUMENT2\Project_1\C_Layout.hwl
     文件         161  2004-06-15 15:46  FREESCALE DOCUMENT2\Project_1\Default.mem
     目录           0  2012-07-24 18:30  FREESCALE DOCUMENT2\Project_1\DOCUMENT\
     文件        7812  2012-04-12 23:55  FREESCALE DOCUMENT2\Project_1\DOCUMENT\Dataprocess.c
     文件         112  2012-04-05 20:41  FREESCALE DOCUMENT2\Project_1\DOCUMENT\Dataprocess.h
     文件         352  2012-04-11 18:29  FREESCALE DOCUMENT2\Project_1\DOCUMENT\define.h
     文件          44  2012-03-15 17:19  FREESCALE DOCUMENT2\Project_1\DOCUMENT\document.h
     文件        3486  2012-04-10 09:00  FREESCALE DOCUMENT2\Project_1\DOCUMENT\Hardwareinit.c
............此处省略54个文件信息

评论

共有 条评论