• 大小: 3.43MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-10
  • 语言: 其他
  • 标签: stm32  

资源简介

驱动麦克纳姆轮的电机控制程序,亲测可用,已调出。

资源截图

代码片段和文件信息

#include “control.h“	
#include “filter.h“
  /**************************************************************************
作者:平衡小车之家
我的淘宝小店:http://shop114407458.taobao.com/
**************************************************************************/

u8 Flag_TargetFlag_Change;                             //相关标志位
u8 temp1;                                               //临时变量
float Voltage_CountVoltage_All;   //电压采样相关变量
float Gyro_K=0.004;         //陀螺仪比例系数
int j;
#define a_PARAMETER          (0.095f)               
#define b_PARAMETER          (0.086f)         
/**************************************************************************
函数功能:小车运动数学模型
入口参数:X Y Z 三轴速度或者位置
返回  值:无
**************************************************************************/
void Kinematic_Analysis(float Vxfloat Vyfloat Vz)
{
        Target_A   = -Vx+Vy-Vz*(a_PARAMETER+b_PARAMETER);
        Target_B   = +Vx+Vy-Vz*(a_PARAMETER+b_PARAMETER);
      Target_C   = -Vx+Vy+Vz*(a_PARAMETER+b_PARAMETER);
Target_D   = +Vx+Vy+Vz*(a_PARAMETER+b_PARAMETER);
}
/**************************************************************************
函数功能:获取位置控制过程速度值
入口参数:X Y Z 三轴位置变化量
返回  值:无
**************************************************************************/
void Kinematic_Analysis2(float Vxfloat Vyfloat Vz)
{
      Rate_A   = -Vx+Vy-Vz*(a_PARAMETER+b_PARAMETER);
        Rate_B   = +Vx+Vy-Vz*(a_PARAMETER+b_PARAMETER);
      Rate_C   = -Vx+Vy+Vz*(a_PARAMETER+b_PARAMETER);
Rate_D   = +Vx+Vy+Vz*(a_PARAMETER+b_PARAMETER);
}
/**************************************************************************
函数功能:所有的控制代码都在这里面
         5ms定时中断由MPU6050的INT引脚触发
         严格保证采样和数据处理的时间同步  
**************************************************************************/
int EXTI15_10_IRQHandler(void) 
{    
 if(INT==0)
{     
  EXTI->PR=1<<15;                                                      //清除LINE5上的中断标志位  
   Flag_Target=!Flag_Target;
  if(delay_flag==1)
 {
 if(++delay_50==10)  delay_50=0delay_flag=0;                     //给主函数提供50ms的精准延时
 }
  if(Flag_Target==1)                                                  //5ms读取一次陀螺仪和加速度计的值
{
if(Usart_Flag==0&&Usart_ON_Flag==1)  memcpy(rxbufUrxbuf8*sizeof(u8)); //如果解锁了串口控制标志位,进入串口控制模式
Read_DMP();                                                           //===更新姿态
   Key();//扫描按键变化
return 0;                                                
}                                                                      //===10ms控制一次,为了保证M法测速的时间基准,首先读取编码器数据
Encoder_A=Read_Encoder(2);                                          //===读取编码器的值
Position_A+=Encoder_A;                                                 //===积分得到速度   
Encoder_B=Read_Encoder(3);                                          //===读取编码器的值
Position_B+=Encoder_B;                                                 //===积分得到速度   
Encoder_C=-Read_Encoder(4); 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      20031  2017-05-09 21:40  1.标准版麦轮小车源码\BALANCE\CONTROL\control.c

     文件       1265  2017-03-26 13:32  1.标准版麦轮小车源码\BALANCE\CONTROL\control.h

     文件       2891  2015-07-09 14:05  1.标准版麦轮小车源码\BALANCE\DataScope_DP\DataScope_DP.C

     文件        586  2015-07-09 14:05  1.标准版麦轮小车源码\BALANCE\DataScope_DP\DataScope_DP.h

     文件      19342  2012-12-14 11:16  1.标准版麦轮小车源码\BALANCE\DMP\dmpKey.h

     文件       6765  2012-12-14 11:16  1.标准版麦轮小车源码\BALANCE\DMP\dmpmap.h

     文件      84104  2015-07-09 14:05  1.标准版麦轮小车源码\BALANCE\DMP\inv_mpu.c

     文件       4335  2015-07-09 14:05  1.标准版麦轮小车源码\BALANCE\DMP\inv_mpu.h

     文件      57839  2015-07-09 14:05  1.标准版麦轮小车源码\BALANCE\DMP\inv_mpu_dmp_motion_driver.c

     文件       3386  2015-07-09 14:05  1.标准版麦轮小车源码\BALANCE\DMP\inv_mpu_dmp_motion_driver.h

     文件       2105  2015-12-07 15:52  1.标准版麦轮小车源码\BALANCE\filter\filter.c

     文件        399  2015-12-07 15:52  1.标准版麦轮小车源码\BALANCE\filter\filter.h

     文件      11128  2016-12-30 11:18  1.标准版麦轮小车源码\BALANCE\MPU6050\MPU6050.c

     文件      14762  2016-12-23 15:17  1.标准版麦轮小车源码\BALANCE\MPU6050\mpu6050.h

     文件       8068  2017-04-01 11:52  1.标准版麦轮小车源码\BALANCE\show\show.c

     文件        354  2016-01-06 14:35  1.标准版麦轮小车源码\BALANCE\show\show.h

     文件       2420  2016-12-27 15:41  1.标准版麦轮小车源码\HARDWARE\ADC\adc.c

     文件        189  2016-12-20 12:37  1.标准版麦轮小车源码\HARDWARE\ADC\adc.h

     文件       9756  2017-03-27 20:39  1.标准版麦轮小车源码\HARDWARE\CAN\can.c

     文件        740  2016-12-23 17:22  1.标准版麦轮小车源码\HARDWARE\CAN\can.h

     文件       2887  2015-06-07 00:48  1.标准版麦轮小车源码\HARDWARE\DataScope_DP\DataScope_DP.C

     文件        581  2015-05-04 12:37  1.标准版麦轮小车源码\HARDWARE\DataScope_DP\DataScope_DP.h

     文件       7022  2017-03-26 14:39  1.标准版麦轮小车源码\HARDWARE\ENCODER\encoder.c

     文件        650  2017-03-26 13:06  1.标准版麦轮小车源码\HARDWARE\ENCODER\encoder.h

     文件        763  2017-03-13 20:31  1.标准版麦轮小车源码\HARDWARE\EXTI\exti.c

     文件        443  2017-03-13 20:31  1.标准版麦轮小车源码\HARDWARE\EXTI\exti.h

     文件      10781  2017-03-13 20:04  1.标准版麦轮小车源码\HARDWARE\IIC\IOI2C.c

     文件       3123  2017-03-13 21:29  1.标准版麦轮小车源码\HARDWARE\IIC\IOI2C.h

     文件       2519  2017-03-13 17:43  1.标准版麦轮小车源码\HARDWARE\KEY\key.c

     文件        282  2017-03-13 17:43  1.标准版麦轮小车源码\HARDWARE\KEY\key.h

............此处省略176个文件信息

评论

共有 条评论