• 大小: 3.22MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-12
  • 语言: 其他
  • 标签: 智能车  光电组  K60  

资源简介

2014年智能车竞赛光电组获奖代码,使用线性CCD光电摄像头,K60单片机处理,图像二值化,PID控制,平均速度2m/s。

资源截图

代码片段和文件信息


#include “common.h“
#include “include.h“
#include “calculation.h“


/*********************************************************** 
函数名称:MOTORPWM_init
函数功能:
入口参数:
出口参数:无 
备 注: 
***********************************************************/
void  MOTORPWM_init(void)
{
    lptmr_counter_init(LPT0_ALT2 LIN_COUT 2 LPT_Rising)  ;   //初始化脉冲计数器 ,PTC5输入捕获脚,LIN_cout =100,预处理为2,上升沿捕获 
    FTM_PWM_init(FTM0  CH0 800000);
    FTM_PWM_init(FTM0  CH1 800000);                        //电机占空比设置初始化    占空比 = duty /(MOD +1 ) ;FTM_CnV_REG(FTMx[ftmn] ch) = cv;
    FTM_PWM_init(FTM0  CH2 800000);
    FTM_PWM_init(FTM0  CH3 800000);                        //电机占空比设置初始化    占空比 = duty /(MOD +1 ) ;FTM_CnV_REG(FTMx[ftmn] ch) = cv;

}


/*********************************************************** 
函数名称:TURNPWM_init
函数功能:
入口参数:
出口参数:无 
备 注: 
***********************************************************/
void  TURNPWM_init(void)
{
      
      FTM_PWM_init(FTM1 CH0  18030);                           //舵机占空比设置初始化   MOD =19531 ;舵机1
      FTM_PWM_init(FTM1 CH1  18030);                           //舵机占空比设置初始化   MOD =19531 ;舵机2
      FTM_CnV_REG(FTMx[FTM1] CH1) = MIDSTRING ; 
}
/*********************************************************** 
函数名称:TurnPWM
函数功能:根据转向值和角度传感器计算转向值
入口参数:TurnPosition          计算黑线位置
          TurnMidPosition       黑线中点值

出口参数:无 
备 注: 
***********************************************************/
extern u16 ASPeed1 ;
u16 speed;
s16 TurnPWM(u8 TurnPositionu8 TurnMidPosition)
{
    s16 direction;
    s16 TurnPWM ;
    static s16 TurnKP TurnKD ;
    static s16 direction0 = TURNMIDPOSITION ;
    TurnKP = 60 ;
    TurnKD = 4 ;
    direction = TurnPosition - TurnMidPosition ;

    speed=40-(u16)(0.5*abs(direction));
    if(speed<=0)  speed=2;
    ASPeed1=speed;
    
    /*if((direction<10)&&(direction > -10))//pwm45
    {
      TurnKP = 40 ;
      TurnKD = 5 ;
      
    } */
    
    
    TurnPWM =  TurnKP * direction + TurnKD * (direction - direction0);
    if(TurnPWM > TURNPWMMAX) {TurnPWM = TURNPWMMAX ;}
    else if (TurnPWM < TURNPWMMIN ) {TurnPWM = TURNPWMMIN ;}  
        
    direction0 = direction ;
    TurnPWM += MIDSTRING ;
    return TurnPWM ;
}

/*
** ===================================================================
** SpeedPID
   输入:speedCount采集车速,AmSpeed 目标车速  ;  
   输出 :SpeedPWMOUT  计算车速 ;
** ===================================================================
*/


int16_t  SpeedKP = 0 ;
int16_t  SpeedKI = 0 ;
int16_t  SpeedKD = 0 ;
//int16_t  SpeedPWM = 0 ;
      
 int16_t SpeedPID(uint16_t speedCountuint16_t AmSpeed){
 //  uint8_t i;

     static int16_t LastSpeedCut0LastSpeedCut1LastSpeedCut2 SpeedLastPWMK ;
     int16_t  SpeedPWMKP SpeedPWMKI SpeedPWMKDSpeedPWMK ;
     int16_t  SpeedPWMOUT;    
     int16_t  SpeedDifference0=0;
     int16_t  speedDEARE1speedDEARE2DSpeed ;              

     SpeedKP = 80;
     SpeedK

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-10-01 17:54  0.无路径记忆\
     目录           0  2014-10-01 17:54  0.无路径记忆\build\
     目录           0  2014-10-01 17:54  0.无路径记忆\build\Input_demo\
     文件       48787  2012-09-22 18:51  0.无路径记忆\build\Input_demo\fire_Input_demo.dep
     文件       52298  2012-02-28 15:05  0.无路径记忆\build\Input_demo\fire_Input_demo.ewd
     文件       55200  2012-04-16 23:51  0.无路径记忆\build\Input_demo\fire_Input_demo.ewp
     目录           0  2014-10-01 17:54  0.无路径记忆\build\PWM_Input_PIT_demo\
     文件       89123  2012-09-22 18:51  0.无路径记忆\build\PWM_Input_PIT_demo\fire_PWM_Input_PIT_demo.dep
     文件       52298  2012-02-28 15:05  0.无路径记忆\build\PWM_Input_PIT_demo\fire_PWM_Input_PIT_demo.ewd
     文件       55332  2012-04-16 23:53  0.无路径记忆\build\PWM_Input_PIT_demo\fire_PWM_Input_PIT_demo.ewp
     目录           0  2014-10-01 17:53  0.无路径记忆\build\adc_demo\
     文件       71310  2012-09-22 18:51  0.无路径记忆\build\adc_demo\fire_adc_demo.dep
     文件       52298  2012-02-28 15:05  0.无路径记忆\build\adc_demo\fire_adc_demo.ewd
     文件       55104  2012-04-16 23:34  0.无路径记忆\build\adc_demo\fire_adc_demo.ewp
     目录           0  2014-10-01 17:53  0.无路径记忆\build\cmsis_demo\
     文件       51930  2012-09-22 18:51  0.无路径记忆\build\cmsis_demo\fire_cmsis_demo.dep
     文件       52298  2012-03-29 21:00  0.无路径记忆\build\cmsis_demo\fire_cmsis_demo.ewd
     文件       55147  2012-05-09 23:44  0.无路径记忆\build\cmsis_demo\fire_cmsis_demo.ewp
     目录           0  2014-10-01 17:53  0.无路径记忆\build\config files\
     文件        2030  2010-10-28 03:30  0.无路径记忆\build\config files\128KB_Pflash.icf
     文件        2206  2010-11-12 03:41  0.无路径记忆\build\config files\128KB_Pflash_128KB_Dflash.icf
     文件        2035  2012-02-28 15:33  0.无路径记忆\build\config files\128KB_Ram.icf
     文件        2030  2010-10-28 03:30  0.无路径记忆\build\config files\256KB_Pflash.icf
     文件        2214  2012-03-01 20:12  0.无路径记忆\build\config files\256KB_Pflash_256KB_Dflash.icf
     文件        2024  2010-10-28 03:30  0.无路径记忆\build\config files\32KB_Ram.icf
     文件        2041  2012-03-01 18:46  0.无路径记忆\build\config files\512KB_Pflash.icf
     文件        2217  2010-11-12 03:41  0.无路径记忆\build\config files\64KB_Pflash_64KB_Dflash.icf
     文件        2024  2010-10-28 03:30  0.无路径记忆\build\config files\64KB_Ram.icf
     文件        3463  2012-03-08 21:04  0.无路径记忆\build\config files\fire_RAM_K60N512.icf
     文件        3441  2012-03-08 21:04  0.无路径记忆\build\config files\fire_ROM_K60N512.icf
     目录           0  2014-10-01 17:53  0.无路径记忆\build\dac_demo\
............此处省略544个文件信息

评论

共有 条评论