资源简介
基于k60的一级旋转倒立摆成功 自试成功 全国大学生电子竞赛经典题目之一
代码片段和文件信息
/* VisenYang */
/* Upgrade:2016-6-28 */
/* 端口定义 */
/*电机: */
/* MOTOR1_PWM FTM_CH3 -> PTA6 */
/* MOTOR2_PWM FTM_CH4 -> PTA7 */
/*角度传感器: */
/* ADC1_SE16 -> 1SE16 */
/*编码器: */
/*FTM1_A -> PTA12 FTM1_B -> PTA13 */
/*编码器 逆时针正 顺时针负 */
/*角度传感器 逆时针减小 顺时针增大 */
# include
# include “common.h“
#define angle ADC0_SE11 // PTA8 ADC1_SE16//A8
//角度传感器
int16 angle_var = 0;
int16 banlace_angle=1930;
char var = 0;
//编码器变量
int16 Voltage=0;//电机转速
int16 PWM = 0;//最终占空比
int16 val=0;//定义电机转速积分经过低通滤波
void PIT0_IRQHandler(void);
void Angle_PD_Realize(int16 angle_varint16 real_angle);
void Speed_PID_Realize(int16 speed);
int16 PID_PWM();
void ADC(void);
void Init_All(void);
/*******************************************************************************
PID结构体定义
*******************************************************************************/
struct Speed_PID
{
int16 Last_Speed;//定义上一次速度
int16 Error_Now;//定义现在速度偏差
int16 Error_Next;//定义上一次偏差
int16 Error_Last;//定义上上次偏差
float Speed_KPSpeed_KISpeed_KD;//定义PID参数
int16 integral_Voltage;//定义电机转速积分
int16 SPEED_PWM;//定义速度偏差补偿占空比
}sp;
struct Angle_PD
{
int16 Set_Angle;//期望角度
int16 Real_Angle;//实际角度
int16 Error_Now;//现在偏差
int16 Error_Next;//上一次偏差
float Angle_KPAngle_KIAngle_KD;//PD参数
int16 ANGLE_PWM;//定义角度偏差补偿占空比
}ag;
void Init_All(void)
{
/***************speed******************/
sp.Error_Now = 0;
sp.Error_Next = 0;
sp.Error_Last = 0;
sp.Speed_KP = 0; //0.8
sp.Speed_KI = 0;
sp.Speed_KD =0; //0.5
sp.SPEED_PWM = 0;
sp.integral_Voltage=0;
/***************angle******************/
ag.Set_Angle = 0;
ag.Real_Angle = 0;
ag.Error_Now = 0;
ag.Error_Next = 0;
ag.Angle_KP = 0.65; //0.65
ag.Angle_KD = 4; //4
ag.ANGLE_PWM = 0;
/**************position****************/
//初始化FTM正交解码
ftm_quad_init(FTM1);
//初始化AD采集
adc_init(ADC1_SE16);
//初始化电机正转*****精度为100
ftm_pwm_init(FTM0FTM_CH310*10000);//PTA6
ftm_pwm_init(FTM0FTM_CH410*10000);//PTA7
// port_cfg.h 里配置 FTM0_CH3 对应为 PTA6
// 使能端输入为 0
//定时中断5ms
pit_init_ms(PIT05);
set_vector_handler(PIT0_VECTORnPIT0_IRQHandler);
enable_irq(PIT0_IRQn);
}
void Angle_PD_Realize(int16 banlace_angleint16 angle_var)
{
ag.Set_Angle = banlace_angle;
ag.Real_Angle = angle_var;
ag.Error_Now = ag.Set_Angle - ag.Real_Angl
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-06-23 15:39 App\
目录 0 2018-06-23 13:23 App\Inc\
文件 1522 2015-03-24 12:03 App\Inc\include.h
文件 4433 2017-07-23 14:08 App\Inc\MK60_conf.h
文件 914 2014-10-06 04:08 App\Inc\MK60_it.h
文件 5994 2016-06-29 16:28 App\Inc\PORT_cfg.h
文件 6498 2018-06-23 15:39 App\main.c
文件 11533 2014-10-02 15:24 App\MK60_conf.c
文件 463 2014-10-06 04:08 App\MK60_it.c
目录 0 2018-06-23 13:23 Board\
目录 0 2018-06-23 13:23 Board\inc\
文件 661 2015-01-26 13:58 Board\inc\VCAN_ASCII.h
文件 2805 2014-09-21 22:19 Board\inc\VCAN_BMP.h
文件 1765 2015-04-01 22:10 Board\inc\VCAN_camera.h
文件 943 2015-03-24 12:36 Board\inc\VCAN_computer.h
文件 209 2014-09-21 22:19 Board\inc\vcan_img2sd.h
文件 2087 2014-10-09 01:07 Board\inc\VCAN_key.h
文件 336 2014-09-21 22:19 Board\inc\VCAN_key_event.h
文件 5485 2015-10-15 18:40 Board\inc\VCAN_LCD.h
文件 959 2014-10-24 15:29 Board\inc\VCAN_LCD_CH.h
文件 2100 2014-10-02 15:27 Board\inc\VCAN_LCD_ILI9341.h
文件 4390 2014-10-02 15:27 Board\inc\VCAN_LCD_ST7735R.h
文件 4390 2014-10-02 15:27 Board\inc\VCAN_LCD_ST7735S.h
文件 962 2014-10-02 15:27 Board\inc\VCAN_LED.H
文件 3445 2014-10-02 15:27 Board\inc\VCAN_MMA7455.h
文件 1904 2014-10-26 19:33 Board\inc\VCAN_NRF24L0.h
文件 2366 2014-10-24 15:19 Board\inc\VCAN_NRF24L0_MSG.h
文件 2371 2014-10-24 15:19 Board\inc\VCAN_OV7725_Eagle.h
文件 4718 2014-09-21 22:19 Board\inc\VCAN_OV7725_REG.h
文件 2031 2014-09-21 22:19 Board\inc\VCAN_OV7725_Wolf.h
文件 1192 2014-10-02 15:27 Board\inc\VCAN_RTC_count.h
............此处省略652个文件信息
- 上一篇:ASP.net课程设计
- 下一篇:mvc npoi 导入导出Demo
相关资源
- STC15F2K60S2读取DS18B20温度
- 倒立摆的校正根轨迹、频域及其他
- 二级直线倒立摆系统建模与系统仿真
- 两级倒立摆仿真模型的GUI控制界面-
- 倒立摆程序简介
- 倒立摆 51PID程序 已经实现
- 双路PD倒立摆控制.zip
- 模型与模型验证.zip
- 一级倒立摆的PID控制设计
- 2017年全国电子竞赛元器件清单.pdf
- 倒立摆开题报告
- 高丽LK607驱动
- 倒立摆系统概述
- 一级倒立摆的模糊控制
- 倒立摆LQR控制仿真
- 单级倒立摆控制方法的仿真对比研究
- erase_all_pin.jlk
- STC15F2K60S2系列学习板2.RAR
- 自己电子竞赛时的程序
- 电子竞赛常用模块
- k60超声波测距
- 模糊控制倒立摆实验源程序、讲解p
- 二级倒立摆的型逐级模糊神经网络控
- K60引脚分布简图
- 野火 K60 开发板 原理图
- FlashK60Dxxx128K.board
- 一级倒立摆设计
- K60中flash loader最全滴
- 倒立摆源码,自动起摆源码
- lqr 控制代码
评论
共有 条评论