资源简介
倒立摆淘宝商家给的资料,源码,基于STM32F103VET6单片机,寄存器开发

代码片段和文件信息
#include “control.h“
/**************************************************************************
作者:平衡小车之家
我的淘宝小店:http://shop114407458.taobao.com/
**************************************************************************/
int Balance_PwmPosition_Pwm;
u8 Flag_TargetPosition_Target;
/**************************************************************************
函数功能:所有的控制代码都在这里面
TIM1控制的5ms定时中断
**************************************************************************/
int TIM1_UP_IRQHandler(void)
{
if(TIM1->SR&0X0001)//5ms定时中断
{
TIM1->SR&=~(1<<0); //===清除定时器1中断标志位
if(delay_flag==1)
{
if(++delay_50==10) delay_50=0delay_flag=0; //===给主函数提供50ms的精准延时
}
Encoder=Read_Encoder(4); //===更新编码器位置信息
Angle_Balance=Get_Adc_Average(315); //===更新姿态
Balance_Pwm =balance(Angle_Balance); //===角度PD控制
if(++Position_Target>4) Position_Pwm=Position(Encoder)Position_Target=0; //===位置PD控制 25ms进行一次位置控制
Moto=Balance_Pwm-Position_Pwm; //===计算电机最终PWM
Xianfu_Pwm(); //===PWM限幅 反正占空比100%带来的系统不稳定因素
if(Turn_Off(Voltage)==0) //===低压和倾角过大保护
Set_Pwm(Moto); //===赋值给PWM寄存器
Led_Flash(100); //===LED闪烁指示系统正常运行
Voltage=Get_battery_volt(); //===获取电池电压
Key(); //===扫描按键变化
}
return 0;
}
/**************************************************************************
函数功能:倾角PD控制
入口参数:角度
返回 值:倾角控制PWM
作 者:平衡小车之家
**************************************************************************/
int balance(float Angle)
{
float Bias; //倾角偏差
static float Last_BiasD_Bias; //PID相关变量
int balance; //PWM返回值
Bias=Angle-ZHONGZHI; //求出平衡的角度中值 和机械相关
D_Bias=Bias-Last_Bias; //求出偏差的微分 进行微分控制
balance=-Balance_KP*Bias-D_Bias*Balance_KD; //===计算倾角控制的电机PWM PD控制
Last_Bias=Bias; //保持上一次的偏差
return balance;
}
/**************************************************************************
函数功能:位置PD控制
入口参数:编码器
返回 值:位置控制PWM
作 者:平衡小车之家
**************************************************************************/
int Position(int Encoder)
{
static float Position_PWMLast_PositionPosition_BiasPosition_Differential;
static float Position_Least;
Position_Least =Encoder-Position_Zero; //===
Position_Bias *=0.8;
Position_Bias += Position_Least*0.2; //===一阶低通滤波器
Position_Differential=Position_Bias-Last_Position;
Last_Position=Position_Bias;
Position_PWM=Position_Bias*Position_KP+Position_Differential*Position_KD; //===速度控制
return Position_PWM;
}
/****************************
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-11-07 23:16 倒立摆资料\
目录 0 2018-11-07 23:16 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆原理图\
文件 5791232 2016-03-31 11:28 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆原理图\Forest S1 PCB封装.PcbLib
文件 521664 2016-03-25 10:23 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆原理图\Forest S1 STM32最小系统原理图(倒立摆控制板).pdf
文件 5632 2016-03-31 11:27 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆原理图\Forest S1最小系统原理图封装.SCHLIB
文件 413037 2017-11-15 19:12 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆原理图\底板原理图.pdf
目录 0 2018-11-07 23:17 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆源码\
目录 0 2018-11-07 23:16 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆源码\BALANCE\
目录 0 2018-11-07 23:16 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆源码\BALANCE\CONTROL\
文件 5621 2017-12-17 15:51 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆源码\BALANCE\CONTROL\control.c
文件 11154 2016-02-22 15:13 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆源码\BALANCE\CONTROL\control.c~RF18b9998.TMP
文件 574 2016-04-23 13:57 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆源码\BALANCE\CONTROL\control.h
文件 0 2016-02-22 11:47 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆源码\BALANCE\CONTROL\MFC10DB.tmp
文件 0 2016-02-23 08:58 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆源码\BALANCE\CONTROL\MFC3A5E.tmp
目录 0 2018-11-07 23:16 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆源码\BALANCE\DataScope_DP\
文件 2891 2015-07-09 14:05 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆源码\BALANCE\DataScope_DP\DataScope_DP.C
文件 586 2015-07-09 14:05 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆源码\BALANCE\DataScope_DP\DataScope_DP.h
目录 0 2018-11-07 23:16 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆源码\BALANCE\DMP\
文件 19342 2012-12-14 11:16 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆源码\BALANCE\DMP\dmpKey.h
文件 6765 2012-12-14 11:16 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆源码\BALANCE\DMP\dmpmap.h
文件 84104 2015-07-09 14:05 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆源码\BALANCE\DMP\inv_mpu.c
文件 4335 2015-07-09 14:05 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆源码\BALANCE\DMP\inv_mpu.h
文件 57839 2015-07-09 14:05 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆源码\BALANCE\DMP\inv_mpu_dmp_motion_driver.c
文件 3386 2015-07-09 14:05 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆源码\BALANCE\DMP\inv_mpu_dmp_motion_driver.h
目录 0 2018-11-07 23:16 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆源码\BALANCE\filter\
文件 2105 2015-12-07 15:52 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆源码\BALANCE\filter\filter.c
文件 399 2015-12-07 15:52 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆源码\BALANCE\filter\filter.h
目录 0 2018-11-07 23:16 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆源码\BALANCE\MPU6050\
文件 11099 2015-12-04 10:34 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆源码\BALANCE\MPU6050\MPU6050.c
文件 14787 2015-10-17 15:04 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆源码\BALANCE\MPU6050\mpu6050.h
目录 0 2018-11-07 23:16 倒立摆资料\【平衡小车之家】Forest D1 旋转倒立摆源码\BALANCE\show\
............此处省略162个文件信息
相关资源
- SpringBoot+H2+mybatis-plus59130
- XE7UP1Kg13_Unis.exe
-
Windows em
bedded Compact 2013 应用开发调 - elantech触控板驱动程序 v13.6.11 官方最
- porting.RTEMS移植指南.双语.V20131224.pdf
- ASUS BIOS 加NVME协议文件: Nvme.ffs NV
- 利用DS1302和msp430进行闹钟和万年历的
- DXperienceUniversal 10.1.6(2010年8月13日版
- DAS1302蜂鸣 独立按键 闹钟设定 IIC存储
- pb 实现ean8,ean13,ean39条形码数据窗口
- 2003-2013全国电赛历年真题
- 伪原创同义词库(13000条)
- 基于JM20329的SATA转USB 1394
- CY7C68013A固件程序(用于摄像机采集)
- 联想F40/F41bios3.13版
- 仓库管理系统(access)135028
- 在LHC s = 13 TeV时许多射流产生弱的矢量
- 易语言Bootstrap类模块2.13源码
- SX1301 +sx1255 GATEWAY.zip
- Vxworks下网卡驱动程序的开发
- 在s = 13 TeV的质子-质子碰撞中搜索四个
- 在s = 13 $$ \\ sqrt {s} = 13 $$ TeV的质子-质
- 在两个具有相同符号的轻子,缺少横
- 在s = 13 $$ \\ sqrt {s} = 13 $$ TeV的质子-质
- 在13 TeV和13 TeV的质子-质子碰撞中,在
- 使用$$ \\ sqrt {s} = 13 \\ hbox {TeV} $$ s =
- 在s = 13 TeV质子-质子碰撞中单顶夸克和
- 在13 TeV质子-质子碰撞中发生高动量希
- 使用LHCf检测器在s = 13TeV的质子-质子碰
- 使用s = 13 TeV质子-质子碰撞,利用AT
评论
共有 条评论