文章目录
- 前言
- 一、物料准备
- 二、车辆安装
- 三、舵机调试
-
- 1.舵机控制原理
- 2.舵机供电
- 3.PWM控制舵机
前言
前几天偶然看到了《马里奥赛车 Live:家庭巡回赛》这款运行在switch上的AR游戏,这款游戏由玩家通过switch设备操控现实中的带有摄像头的实体赛车在家中客厅布置赛道,可以通过switch看到赛车的视角,布置完成后通过AR技术在switch设备上操控遥控车并在现实中进行马里奥赛车比赛。 然而十分令人遗憾的是该游戏并没有实现《马里奥赛车》中最经典的漂移操作。基于此,我决定利用单片机和rc漂移车模型来实现一键漂移这一功能与AR结合并搭建服务器使其能够进行远程操作实现一些下楼取快递之类的附加功能。提示:以下是本篇文章正文内容,将随着进度推进不断更新
一、物料准备
- 车架:樱花D5S 后驱漂移车架
- 舵机:JX Servo/PDI-4409/10KG大扭力矩金属齿轮数字数码标准短身舵机(90度 25T)
- 电调:好盈1060防水有刷电调 60A有刷ESC电调 RTR版本(或1080)
- 马达:雪豹540有刷电机(21T)
- 电池:ACE格氏 2S 7.4V 3000mAh毫安 50C 青训版 LIPO 短电 锂电池
- BB响
- 陀螺仪、接收机、摄像头(准备直接用手机代替)
- b6充电器
- 遥控器:不需要,后期用蓝牙或者网络进行信号传输
- 单片机STM32F103开发板学习板 指南者(后期功能确定下来重画板子)
- 电压表、示波器、杜邦线等常用工具
提示:以上材料基于成本考量仅供参考
二、车辆安装
安装视频教程
我也是看得b站上这老哥的教程,简直是手把手教,非常细致,不多赘述。
三、舵机调试
注意:由于我们不用接收机,不用遥控器,所以我们没法像普通rc漂移车那样利用接收机给舵机供电并输出信号,无法直接用遥控器进行调试,此处我们直接用单片机进行舵机调试。
1.舵机控制原理
该舵机通过PWM信号进行控制,但值得注意的是,并非是不同的占空比对应于不同的角度,而是舵机的角度取决于高电平的持续时间,也就是说对于这款舵机不论PWM信号的频率是多少,驱动舵机转动的PWM信号高电平持续时间只能在1~2ms之间,这就需要我们手动设置给出合适的占空比了。
2.舵机供电
此处我们用电调给舵机供电,将电调上引出的原本要插在接收机上的三根细线中的供电的线通过杜邦线与舵机对应的正负极插好,电调和舵机的信号线都暂时不插。此处非常值得注意的是,给电调供电的电池必须要与单片机共地否则后续用单片机输出PWM信号无法控制舵机,共地的方法就是把电池上原本要接bb响的信号线中的负极与单片机上的地相接(插单片机铜柱上就行),此时就完成了给舵机供电的工作。
3.PWM控制舵机
这里关于如何设置PWM信号我直接参考了野火STM32F103“输出四路PWM”的例程。具体原理不展开,此处只讲如何设置我们想要的占空比。
假设我要PWM的TIM3以50HZ的频率运行(系统时钟 = 72MHZ)
且此时我们令arr = 9999,
又TIM3的计数时钟/(arr+1) = 50HZ
求得 TIM3的计数时钟=500KHZ
所以(psc+1)=系统时钟(72M)/TIM3的计数时钟 = 144
求得psc=143
而占空比P=CCR/(ARR+1)
于是我们就求得了设置一个频率为50HZ的PWM信号的全部参数,只需改变CCR的值即可改变占空比。
bsp_GeneralTim.h
#define GENERAL_TIM_Period 9999 //(ARR)
#define GENERAL_TIM_Prescaler 143 //PSC
bsp_GeneralTim.c
uint16_t CCR1_Val= 665;
最后只需要把输出PWM信号的引脚与之前舵机上没有连接的信号线接口连接,然后不断的改变AAR的值,目测前轮方向,找到归中和左右极限位置所对应的AAR即可(最后的调整仍需等车动起来再调)。
本站所有文章均为原创,欢迎转载,请注明文章出处:link.https://blog.csdn.net/weixin_42686816/article/details/112194031百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人将随着项目推进对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本