站内搜索
发作品签到
标准版

麦克纳姆轮小车

工程标签

2.2k
0
0
0

简介

该工程在基础小车上进行延申至麦克纳姆轮小车,小车由简单的直行,进化为能够直线行驶、平移控制小车走直线,并将电源模块、主控模块、传感器模块以及通信模块集成一体缩小主控板空间。

简介:该工程在基础小车上进行延申至麦克纳姆轮小车,小车由简单的直行,进化为能够直线行驶、平移控制小车走直线,并将电源模块、主控模块、传感器模块以及通信模块集成一体缩小主控板空间。

开源协议

MIT

创建时间:2020-10-29 19:33:38更新时间:2023-02-24 09:09:53

描述

题目要求

麦克纳姆轮小车在遥控的控制下进行平移和前进。

题目分析

该项目小车以STM32为主控,由麦克纳姆轮的运动分解使小车能够进行前进、后退以及平移。陀螺仪配合编码电机使得小车能走直线,驱动模块驱使小车运行,数传模块配合串口屏设计遥控控制小车的运行。遥控在集成板上集合供电模块以及稳压模块为串口屏供电。

原理图设计说明

STM32拓展板实物图:

K3tTR4dqvX3JdQHxRXpjjonqqgU3YJwLaZGZcwSs.jpeg

稳压模块:

原理图:1qpTs9wE5Ve5I6ugrWO7B5NNqsfo0Es3c1UGje4D.png

工作原理:利用可调电阻将电源电压稳定在自己所需的电压值。

MPU6050:

原理图:8ew0f94YGKOYE6HDazFdriOlURDBYyfYphqOhTW3.png

工作原理:陀螺仪的原理就是,一个旋转物体的旋转轴所指的方向在不受外力影响时,是不会改变的。人们根据这个道理,用它来保持方向。然后用多种方法读取轴所指示的方向,并自动将数据信号传给控制系统。

TB6612FNG:

原理图:uVIixli2cUqrJ3nHZtL5iQzhH4Ek6OAxBbwlauuA.png

工作原理:TB6612FNG是东芝半导体公司生产的一款直流电机驱动器件,它具有大电流MOSFET-H桥结构,双通道电路输出,可同时驱动2个电机。

 

软件说明

sport_flag=0;    
        if(sport_flag==1)//
        {    
                Motor_A=Incremental_PI1(Encoder_A,30+Turn_A);
                Motor_B=Incremental_PI2(Encoder_B,30+Turn_B);
                Motor_C=Incremental_PI3(Encoder_C,30+Turn_C);
                Motor_D=Incremental_PI4(Encoder_D,30+Turn_D);
        }
        if(sport_flag==0)//
        {    
            stop();
        }
        if(sport_flag==2)//
        {    
            Motor_A=Incremental_PI1(Encoder_A,-30+Turn_A);
                Motor_B=Incremental_PI2(Encoder_B,-30+Turn_B);
                Motor_C=Incremental_PI3(Encoder_C,-30+Turn_C);
                Motor_D=Incremental_PI4(Encoder_D,-30+Turn_D);
        
        }
        if(sport_flag==4)////右移
        {    
                Motor_A=Incremental_PI1(Encoder_A,30+Turn_A);
                Motor_B=Incremental_PI2(Encoder_B,-30+Turn_B);
                Motor_C=Incremental_PI3(Encoder_C,-30+Turn_C);
                Motor_D=Incremental_PI4(Encoder_D,30+Turn_D);   
        }
        if(sport_flag==3)//
        {    
                    Motor_A=Incremental_PI1(Encoder_A,-30+Turn_A);
                Motor_B=Incremental_PI2(Encoder_B,30+Turn_B);
                Motor_C=Incremental_PI3(Encoder_C,30+Turn_C);
                Motor_D=Incremental_PI4(Encoder_D,-30+Turn_D);
        }
        if(sport_flag==6)//右上
        {    
            Motor_A=Incremental_PI1(Encoder_A,30+Turn_A);
            Motor_B=0;
            Motor_C=0;
            Motor_D=Incremental_PI4(Encoder_D,30+Turn_D);
        }

int Incremental_PI1 (int Encoder1,int Target1)
{  
   static float Bias1,PWM1;
   Bias1=Target1-Encoder1;                                  //计算偏差
   PWM1+=Velocity_KP*(Bias1-Last_bias1)+Velocity_KI*Bias1;   //增量式PI控制器
   Last_bias1=Bias1;                                       //保存上一次偏差 
   return PWM1;                                           //增量输出
}

int Incremental_PI2 (int Encoder2,int Target2)
{  
   static float Bias2,PWM2;
   Bias2=Target2-Encoder2;                                  //计算偏差
   PWM2+=Velocity_KP*(Bias2-Last_bias2)+Velocity_KI*Bias2;   //增量式PI控制器
   Last_bias2=Bias2;                                       //保存上一次偏差 
   return PWM2;                                           //增量输出
}
int Incremental_PI3 (int Encoder3,int Target3)
{  
   static float Bias3,PWM3;
   Bias3=Target3-Encoder3;                                  //计算偏差
   PWM3+=Velocity_KP*(Bias3-Last_bias3)+Velocity_KI*Bias3;   //增量式PI控制器
   Last_bias3=Bias3;                                       //保存上一次偏差 
   return PWM3;                                           //增量输出
}
int Incremental_PI4 (int Encoder4,int Target4)
{  
   static float Bias4,PWM4;
   Bias4=Target4-Encoder4;                                  //计算偏差
   PWM4+=Velocity_KP*(Bias4-Last_bias4)+Velocity_KI*Bias4;   //增量式PI控制器
   Last_bias4=Bias4;                                       //保存上一次偏差 
   return PWM4;                                           //增量输出
}

if(mpu_dmp_get_data(&pitch,&roll,&yaw)==0){}//角度读取
      printf("yaw=%.2f ",yaw);


实物展示说明

麦克纳姆轮小车实物图:

FOySeanK9G9LwzDgCH8q4tp2qXFv5KLMVa5lFBKw.jpeg

串口屏实物图:

1ckAlmHy1evnWmdoPfegtHR4MTfzOe0dO0u86f43.jpeg

khZ5zjjvPhoQfeRNBovfDN3YQIBfwE0PDO7v9vQn.jpeg

注意事项

麦克纳姆轮小车由纯手工制作,编码电机较重,不能手提拓展板,防止小车零件脱落。

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
EDA(麦克纳姆轮小车).zip
324
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航