资源简介
麦克纳伦控制原理和方法详解及C语言代码实现控制车底盘。
代码片段和文件信息
//时间:2015-5-3
//作者:0721的
//描述:RM战车2号程序
//QQ :825470791
#include “main.h“
extern unsigned char sbus_rx_buffer[25];
extern volatile int sbus_rx_buffer_2[25];
extern unsigned int ANGLE_L;
extern struct RC_Ctl_t RC_Ctl;
int current_v_201=0target_v_201=0current_v_203=0target_v_203=0;
int current_p_201=0target_p_201=0current_p_203=0target_p_203=0;
int xian_wei_y=0xian_wei_p=0;
int32_t L=250W=200R=75; //车尺寸,单位mm
int32_t X_speed=0;
int32_t Y_speed=0;
int32_t W_speed=0;
int32_t right_or_left=0;
int32_t forward_or_back=0;
int32_t W_right_or_left=0;
char tiao_bian;
char ALLOW_LAUNCH=0;
char ALLOW_DBUS=0;
char motor1_Direction; //0或者1 四个轮子方向
char motor2_Direction; //0或者1
char motor3_Direction; //0或者1
char motor4_Direction; //0或者1
int pwm_data1=0pwm_data2=0; //电机1输出 pwm_data_n int pwm_data3=0pwm_data4=0; //电机2的输出
int pwm_launch=20; //发射电机
int32_t W1=0W2=0W3=0W4=0; //四个电机的转速单位mm/s
int CH0=1024CH1=1024CH2=1024CH3=1024S1=0S2=0XX=0YY=0ZZ=0; //通道数据寄存
void MOTOR_GPIO_Configuration(void);
void Encoder_Configuration(void);
void CH_TO_SPEED(void);
void CH_TO_CLOUD(void);
int main(void)
{
MOTOR_GPIO_Configuration();
//PWM_Configuration(); /*-PWM1---(PA9---TIM1_CH2)--PWM2---(PA8---TIM1_CH1)--*/
TIM6_Configuration();
CAN1_Configuration(); /*----CAN1_TX-----PA12----CAN1_RX-----PA11----*/
//CAN2_Configuration(); /*----CAN2_TX-----PB13----CAN2_RX-----PB12----*/
USART2_Configuration(); /*-----USART2_RX-----PA3-*/ //for D-BUS
USART3_Configuration(); /*-----USART3_TX-----PB10----USART3_RX-----PB11-----*/
//Encoder_Configuration(); //TIM3 TIM5 connect to encodera-b
//TIM3_CH1 ----- PC6//TIM3_CH2 ----- PC7
//TIM5_CH1 ----- PA0//TIM5_CH2 ----- PA1
TIM6_Start();
while(1)
{
if(ALLOW_DBUS==0) //若采集完成进行使用,不许采集
{
CH_TO_CLOUD();
CH_TO_SPEED();
ALLOW_DBUS=1;
}
}
}
void CH_TO_SPEED(void)
{
if(CH0<364)CH0=364;if(CH0>1684)CH0=1684; //检验
if(CH1<364)CH1=364;if(CH1>1684)CH1=1684;
if(CH2<364)CH2=364;if(CH2>1684)CH2=1684;
if(CH3<364)CH3=364;if(CH3>1684)CH3=1684;
if(CH1<=1684&&CH1>=1024) //CH2战车右直走
{
Y_speed=CH1-1024;
right_or_left=1;
}
else if(CH1<1024&&CH1>=364) //CH2战车左直走
{
Y_speed=1024-CH1;
right_or_left=-1;
}
if(CH0<=1684&&CH0>=1024) //CH3战车前进
{
X_speed=CH0-1024;
forward_or_back=1;
}
else if(CH0<1024&&CH0>=364) //CH3战车后退
{
X_speed=1024-CH0;
forward_or_back=-1;
}
if((CH2<824)||(CH2>1224)) //YAW轴角度定义 更改区
{
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-01-14 19:45 51ºÚÂÛ̳_Âó¿ËÄÉÄ·ÂÖ×î¼òµ¥¿ØÖÆ×ÊÁÏ\
目录 0 2018-05-20 03:24 51ºÚÂÛ̳_Âó¿ËÄÉÄ·ÂÖ×î¼òµ¥¿ØÖÆ×ÊÁÏ\麦克纳姆轮最简单控制资料\
文件 1528540 2018-05-20 03:06 51ºÚÂÛ̳_Âó¿ËÄÉÄ·ÂÖ×î¼òµ¥¿ØÖÆ×ÊÁÏ\麦克纳姆轮最简单控制资料\IMG_20150528_225403_LI.jpg
文件 5931 2018-05-20 03:12 51ºÚÂÛ̳_Âó¿ËÄÉÄ·ÂÖ×î¼òµ¥¿ØÖÆ×ÊÁÏ\麦克纳姆轮最简单控制资料\main.c
文件 1020882 2015-04-14 00:46 51ºÚÂÛ̳_Âó¿ËÄÉÄ·ÂÖ×î¼òµ¥¿ØÖÆ×ÊÁÏ\麦克纳姆轮最简单控制资料\Mecanum轮逆矩阵研究_刘磊.pdf
文件 2051 2018-05-20 03:26 51ºÚÂÛ̳_Âó¿ËÄÉÄ·ÂÖ×î¼òµ¥¿ØÖÆ×ÊÁÏ\麦克纳姆轮最简单控制资料\程序中的重要部分截取.txt
目录 0 2018-05-20 03:24 麦克纳姆轮最简单控制资料\
文件 1528540 2018-05-20 03:06 麦克纳姆轮最简单控制资料\IMG_20150528_225403_LI.jpg
文件 5931 2018-05-20 03:12 麦克纳姆轮最简单控制资料\main.c
文件 1020882 2015-04-14 00:46 麦克纳姆轮最简单控制资料\Mecanum轮逆矩阵研究_刘磊.pdf
文件 2051 2018-05-20 03:26 麦克纳姆轮最简单控制资料\程序中的重要部分截取.txt
- 上一篇:谭浩强C程序设计第五版课件及源码
- 下一篇:双目相机标定结果应用——测三维坐标
相关资源
- C语言实现了crontab表达式执行时间
- Microsoft Visual C++ 2013 Redistributable Pack
- Microsoft Visual C++ 2013 Redistributable x86
- Microsoft Visual C++ 2008 SP1 Redistributable
- Microsoft Visual C++ 2008 SP1 Redistributable
- 数据库课程设计(教室管理信息系统
- libevent libevent-2.1.8-stable.tar.gz
- kbmMemTable 7.69 for XE8
- MFC TAB control
- MFC Tab Control 模态框 非模态框
- Microsoft Visual C++ 2015 Redistributable (x
- Visual C++ Redistributable for Visual Studio 2
- Microsoft Visual C++ 2013 Redistributable Pack
- Visual C++ Redistributable for Visual Studio 2
- MFC单文档分割视图的基本使用
- Visual C++ 2015 Redistributable Packages.(x6
- Microsoft Visual C++ 2017 Redistributable (x
- Microsoft Visual C++ 2017 Redistributable (x
- Microsoft Visual C++ Redistributable Package合集
- IPTables(显示进程所使用的端口和远程
-
MFC 通过CDataba
se连接Syba se数据库向 - Microsoft Visual C++ 2019 Redistributable wind
- MSVisualC++运行库/Microsoft Visual C++(20
-
pl0_name
table.zip - QTQTabWidget文字垂直显示Demo源码
- MFC Tabcontrol 标签控件美化
- win32对话框tab control控件使用demo
- MFC 之 TabCtrl
- hashtable-C语言版折叠法+单链表
- vs2010 MFC tabctrl控件重载, 实现标签加
评论
共有 条评论