|
最近折騰一個(gè)智能小車,功能如下:1,小車有超聲波測(cè)距模塊用于壁障;2,MPU6050陀螺儀模塊用于小車兩個(gè)電機(jī)PID控制,按設(shè)定的偏航角自動(dòng)運(yùn)行;3,ESP8266模塊接入機(jī)智云平臺(tái),可以用安卓APP在局域網(wǎng)(WIFI)和廣域網(wǎng)(手機(jī)流量)環(huán)境下控制小車,說白了就是加入了所謂“IOT”物聯(lián)網(wǎng)技術(shù),4,硬件平臺(tái)是STM32F103VE核心板,加了ILI9341顯示,移植了EMWIN5.26,做了電子指南針顯示陀螺儀各個(gè)參數(shù);5,加了NRF2401無線模塊,接受有關(guān)遙控器控制;6,用GPIO的AD通道檢測(cè)小車電量,低電量報(bào)警;7,用了10個(gè)LED顯示;8,電機(jī)控制模塊;9,兩節(jié)舊手機(jī)鋰電池供電,加了5V穩(wěn)壓芯片,因?yàn)槌暡K需要5V電源。這么多功能加進(jìn)去,程序用平常的While循環(huán)方式肯定是搞不定的!因?yàn)榻邮苓b控器的命令較多,各個(gè)模塊要協(xié)調(diào)工作幾乎不可能!本人參考安富萊科技的資料加工改進(jìn)了一個(gè)調(diào)度器,這個(gè)調(diào)度器仿照UCOS操作系統(tǒng)原理設(shè)計(jì),可以在任務(wù)中增加和刪除任務(wù),經(jīng)過測(cè)試效果很好。剛開始以為做這樣的一個(gè)智能小車應(yīng)該是個(gè)很簡單的事,可是真正做起來還真的不容易,那么多模塊連接杜邦線就用了幾十根。軟件方面比較難的是要把機(jī)智云協(xié)議嵌入工程模板;基本上就是把機(jī)智云的工程重新拆解封裝。話說這機(jī)智云工程模板是基于面向?qū)ο笏枷氲慕Y(jié)構(gòu),變量用的幾乎都是結(jié)構(gòu)體,非常經(jīng)典;值得學(xué)習(xí)!原來,C語言也可以這樣玩。經(jīng)過一周折騰,程序下載進(jìn)去試車,TMD經(jīng)常死機(jī),有時(shí)候無法正常進(jìn)入主程序。經(jīng)過兩周調(diào)試,現(xiàn)在基本上可以正常控制了,實(shí)現(xiàn)了上面功能。最長一次通電24小時(shí),沒有死機(jī)。為什么會(huì)死機(jī)呢?多個(gè)任務(wù)搶占CPU導(dǎo)致。
總結(jié)一點(diǎn),程序是測(cè)試出來的,理論上邏輯上沒有問題的代碼下載到產(chǎn)品上可能就根本不能用或者基本就無法實(shí)現(xiàn)設(shè)計(jì)功能。只有通過硬件測(cè)試調(diào)試才能做出性能穩(wěn)定的東西。我相信,真正技術(shù)好的人一定是在實(shí)驗(yàn)室泡出來的,而不是在書里啃出來的!現(xiàn)在準(zhǔn)備移植UC/os_ii操作系統(tǒng)進(jìn)去控制小車,看看效果怎么樣?
經(jīng)常聽到搞技術(shù)的朋友感慨自己落伍了,感覺自己不懂不會(huì)的東西實(shí)在太多而自己精力有限。這個(gè)問題曾經(jīng)真的一直困擾我了;就拿stm32來說吧,M3,M4,M7推陳出新真的很快,感覺自己永遠(yuǎn)就是跟屁蟲。學(xué)技術(shù)干什么?不就是想掌握一技之長有個(gè)安家立命的本錢嗎?現(xiàn)在覺得學(xué)技術(shù)一定要根據(jù)自己的實(shí)際情況主要是學(xué)習(xí)能力和工作需要有選擇性的學(xué)習(xí)。以前,我就忽略了學(xué)習(xí)PCB設(shè)計(jì),導(dǎo)致現(xiàn)在折騰一些東西的時(shí)候只能在網(wǎng)上買核心板,這就導(dǎo)致東西做好了以后好難看,到處是導(dǎo)線或者杜邦線,拉拉扯扯的。好了,老夫決心踏踏實(shí)實(shí)學(xué)習(xí)PCB設(shè)計(jì)了,恰好幾年前有個(gè)網(wǎng)友發(fā)了一份哈工大PCB設(shè)計(jì)視頻,共13集約30個(gè)小時(shí),感覺講的不錯(cuò),軟件是
ALTIUM DESIGNER,下載的是最新版本。相信有些網(wǎng)友能幫助到我。
對(duì)老夫而言,學(xué)會(huì)PCB設(shè)計(jì)就可以自己畫板子,做出個(gè)性化產(chǎn)品出來。到時(shí)從硬件到軟件自己一個(gè)人就可以搞定了;相信易安卓,JAVA,,ESP8266等等這些應(yīng)該也有用處。個(gè)人認(rèn)為學(xué)精用精M3就已經(jīng)很牛逼了!如果有人不服氣,老夫可以請(qǐng)教請(qǐng)教他一些問題。做自己有能力做的,學(xué)習(xí)自己能學(xué)習(xí)的,窮盡一生精力做好一件事這就是工匠精神。
|
|