文章目錄
- 前言
- 一、物料準備
- 二、車輛安裝
- 三、舵機除錯
- 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百度和各類采集站皆不可信,搜索請謹慎鑒別,技術類文章一般都有時效性,本人將隨著專案推進對自己的博文進行修正和更新,因此請訪問出處以查看本文的最新版本
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/244739.html
標籤:其他
上一篇:使用MockAPI加速專案開發
下一篇:再多的非標電氣設計也不怕了
