资源简介
平衡小车之家--风力摆源码

代码片段和文件信息
#include “control.h“
#include “filter.h“
/**************************************************************************
作者:平衡小车之家
我的淘宝小店:http://shop114407458.taobao.com/
**************************************************************************/
u8 Flag_TargetFlag_Change; //相关标志位
float Voltage_CountVoltage_All; //电压采样相关变量
float Gyro_K=0.004; //陀螺仪比例系数
int jsum;
#define Period 1630 //单摆周期(ms)一般在1.3~1.6s之间
/**************************************************************************
函数功能:所有的控制代码都在这里面
5ms定时中断由MPU6050的INT引脚触发
严格保证采样和数据处理的时间同步
**************************************************************************/
int EXTI9_5_IRQHandler(void)
{
if(INT==0) //PB6 接6050 INT
{
EXTI->PR=1<<6; //清除LINE1上的中断标志位
if((++delay_50==10)&&delay_flag) delay_50=0delay_flag=0; //给主函数提供50ms的精准延时
Read_DMP(); //===更新姿态
TimeCnt+=5; //运行时间定时器 用于角度计算
if(Flag_Zero==0) //零点读取成功
{
Get_RC(); //获取控制状态
Alpha=(float)TimeCnt/Period*2*PI; //float不可省略,单摆周期处理成三角函数2π周期
Target_X=Amplitude_x*sin(Alpha); //X方向目标值函数
Target_Y=Amplitude_y*sin(Alpha+Phase); //Y方向目标值函数
// Read_DMP(); //===更新姿态
Measure_X=(float)tan((Roll-ZHONGZHI_B)/180*2*PI)*Height; //角度弧度换算与距离计算
Measure_Y=(float)tan((Pitch-ZHONGZHI_A)/180*2*PI)*Height; //角度弧度换算与距离计算
Motor_X=Position_PID_X(Measure_XTarget_X);
Motor_Y=Position_PID_Y(Measure_Y Target_Y);
Xianfu_Pwm(5800);//限幅5800,满占空比5800,避免出现异常
Led_Flash(100); //===LED闪烁;常规模式 1s改变一次指示灯的状态
}
Key(); //扫描按键变化
if(Turn_Off()==0) Set_Pwm(Motor_XMotor_Y); //===如无异常,赋值给PWM寄存器
}
return 0;
}
/**************************************************************************
函数功能:赋值给PWM寄存器
入口参数:PWM
返回 值:无
**************************************************************************/
void Set_Pwm(int Motor_Xint Motor_Y)
{
if(Motor_X>0) PWMA1=Motor_X
PWMC1=0;
else PWMA1=0
PWMC1=-Motor_X;
if(Motor_Y>0) PWMB1=0
PWMD1=Motor_Y;
else PWMB1=-Motor_Y
PWMD1=0;
}
/**************************************************************************
函数功能:限制PWM赋值
入口参数:幅值
返回 值:无
**************************************************************************/
void Xianfu_Pwm(int amplitude)
{
if(Motor_X<-amplitude) Motor_X=-amplitude;
if(Motor_X>amplitude) Motor_X=amplitude;
if(Motor_Y<-amplitude) Motor_Y=-amplitude;
if(Motor_Y>amplitude) Motor_Y=amplitude;
}
/**************************************************************************
函数功能:按键修改小车运行状态
入口参数:无
返回 值:无
**************************************************************************/
void Key(void)
{
u8 tmp;
tmp=click_N_Double(120);
if(tmp==1) Flag_Stop=1; //单击控制电机停
if(tmp==2) Flag_Show=!Flag_Show; //双击
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 399 2011-04-23 10:24 1.风力摆源码\keilkilll.bat
文件 8520 2019-08-02 10:40 1.风力摆源码\MiniBalance\CONTROL\control.c
文件 906 2019-05-15 08:34 1.风力摆源码\MiniBalance\CONTROL\control.h
文件 2891 2015-07-09 14:05 1.风力摆源码\MiniBalance\DataScope_DP\DataScope_DP.C
文件 602 2019-05-14 10:03 1.风力摆源码\MiniBalance\DataScope_DP\DataScope_DP.h
文件 19342 2012-12-14 11:16 1.风力摆源码\MiniBalance\DMP\dmpKey.h
文件 6765 2012-12-14 11:16 1.风力摆源码\MiniBalance\DMP\dmpmap.h
文件 84104 2015-07-09 14:05 1.风力摆源码\MiniBalance\DMP\inv_mpu.c
文件 4335 2015-07-09 14:05 1.风力摆源码\MiniBalance\DMP\inv_mpu.h
文件 57839 2015-07-09 14:05 1.风力摆源码\MiniBalance\DMP\inv_mpu_dmp_motion_driver.c
文件 3386 2015-07-09 14:05 1.风力摆源码\MiniBalance\DMP\inv_mpu_dmp_motion_driver.h
文件 2105 2015-12-07 15:52 1.风力摆源码\MiniBalance\filter\filter.c
文件 399 2016-04-06 14:10 1.风力摆源码\MiniBalance\filter\filter.h
文件 11649 2019-08-01 19:59 1.风力摆源码\MiniBalance\MPU6050\MPU6050.c
文件 14810 2019-05-20 15:34 1.风力摆源码\MiniBalance\MPU6050\mpu6050.h
文件 9075 2019-05-20 16:20 1.风力摆源码\MiniBalance\show\show.c
文件 356 2019-05-14 10:00 1.风力摆源码\MiniBalance\show\show.h
文件 17273 2010-06-07 10:25 1.风力摆源码\MiniBalance_COER\core_cm3.c
文件 85714 2011-02-09 14:59 1.风力摆源码\MiniBalance_COER\core_cm3.h
文件 15503 2011-03-10 10:52 1.风力摆源码\MiniBalance_COER\startup_stm32f10x_hd.s
文件 2469 2019-05-12 21:12 1.风力摆源码\MiniBalance_HARDWARE\ADC\adc.c
文件 271 2019-05-12 21:12 1.风力摆源码\MiniBalance_HARDWARE\ADC\adc.h
文件 9673 2019-02-18 21:22 1.风力摆源码\MiniBalance_HARDWARE\CAN\can.c
文件 740 2018-12-05 20:53 1.风力摆源码\MiniBalance_HARDWARE\CAN\can.h
文件 19342 2012-12-14 11:16 1.风力摆源码\MiniBalance_HARDWARE\DMP\dmpKey.h
文件 6765 2012-12-14 11:16 1.风力摆源码\MiniBalance_HARDWARE\DMP\dmpmap.h
文件 84104 2015-07-09 14:05 1.风力摆源码\MiniBalance_HARDWARE\DMP\inv_mpu.c
文件 4335 2015-07-09 14:05 1.风力摆源码\MiniBalance_HARDWARE\DMP\inv_mpu.h
文件 57839 2015-07-09 14:05 1.风力摆源码\MiniBalance_HARDWARE\DMP\inv_mpu_dmp_motion_driver.c
文件 3386 2015-07-09 14:05 1.风力摆源码\MiniBalance_HARDWARE\DMP\inv_mpu_dmp_motion_driver.h
............此处省略298个文件信息
- 上一篇:网络设备Visio图标库
- 下一篇:cyclegan预训练模型
相关资源
- Behaviors of fatigue crack propagation in fric
- PCAAD7.0教程
- 小麦白粉病成株抗性位点QPm.caas-4DL的
- 音频测试文件pcmmp3aacamrg711ag711u等多种
- Temperature dependence of electron-spin cohere
- 海尔一体机 MS-AA511
- 金蝶在线会计平台用SaaS技术扫代理记
- G726、G711、G711A转换为AAC
- ffmpeg之pcm转AAC
- 软件工程——理论与实践中文翻译版
- (补充)修改output-example,将H.264AAC帧
- 基于FFmpeg4.0.2的AAC编码器
- 爬2018统计局数据 最新全国省市区村镇
- Windows下使用FFMPEG解码AAC文件并使用
- 最简单的基于FFMPEG的音频编码器 1.1
- 嵌入式音频视频混合为mp4(mp4v2+faac
- 人工智能领域顶会AAAI 2018 论文列表
- nginx-1.19.0-1.aarch64.rpm银河麒麟+飞腾
- nginx-1.19.0-1.aarch64.rpm 银河麒麟V10+飞腾
- MT7601(小度wifi360wifimiwif) staap linux驱
- 12.1寸三菱工业液晶屏AA121XN01英文版规
- 基于模拟多光谱遥感影像的大气校正
- .aac音频文件
- e92d3d2f5aef63448696ba0aa5ef9ed1.pdf
- 使用gpac封装MP4源码(新)
- aac格式音频
- 643570bf9faaf07e37c433cd4acd790f.pdf.pdf
- SaaS模式下企业信息管理平台的研究与
- 集团客户PaaS平台建设文档
- API为中心的敏捷集成 从API到集成平台
评论
共有 条评论