基于CC1110無線單片機的機器魚控制系統(tǒng)設(shè)計
3機器魚控制系統(tǒng)軟件設(shè)計
本文引用地址:http://2s4d.com/article/267501.htm在機器魚控制系統(tǒng)中軟件設(shè)計采用模塊化設(shè)計,主要包括串口通信程序、無線通信程序、存儲器讀寫程序以及舵機驅(qū)動程序。
3.1串口通信程序設(shè)計
串口通信程序完成CC1110無線單片機與上位機PC的串行通信。串口接收數(shù)據(jù)采用中斷的方式,串口發(fā)送數(shù)據(jù)采用查詢的方式。串口收發(fā)程序流程圖如圖7所示。
圖7串口收發(fā)程序流程圖
在硬件設(shè)計中采用了CH341T串口轉(zhuǎn)換電路模擬串口,為了配合硬件的使用,需要在上位機中安裝驅(qū)動程序,驅(qū)動程序可以從南京沁恒電子有限公司網(wǎng)站上下載。
3.2無線通信程序設(shè)計
在設(shè)計無線通信程序前,需要配置CC1110的高頻部分,以確定無線收發(fā)器的收發(fā)頻率、發(fā)送功率、傳輸速率以及調(diào)制方式等。由于CC11 10高頻配置較為復(fù)雜,這里可以采用TI公司的SmartRF Studio軟件來進行配置。通過設(shè)置寄存器FREQ2、FREQ1和FREQ0將CC1110的收發(fā)頻率選擇在433MHz頻段;通過設(shè)置PA TABLE0將CC1110的發(fā)送功率設(shè)置為10dBm,這樣可以提高發(fā)射距離;由于該控制系統(tǒng)的指令數(shù)據(jù)量較小,可以選擇較低的傳輸速率,不僅可以提高傳輸距離,而且可以降低能耗;調(diào)制方式選擇2-FSK方式。
無線通信程序包括無線發(fā)送程序和無線接收程序兩部分。無線發(fā)送程序?qū)⒋l(fā)送的數(shù)據(jù)通過無線的方式發(fā)送出去,無線接收程序可以接收同頻率的發(fā)射機發(fā)送的數(shù)據(jù)。無線通信程序流程圖如圖8所示。
圖8無線通信程序流程圖
3.3指令發(fā)送端主程序設(shè)計
在機器魚控制系統(tǒng)的指令發(fā)送端,實現(xiàn)的功能包括串口收發(fā)數(shù)據(jù)和無線收發(fā)數(shù)據(jù)。指令發(fā)送端主程序流程圖如圖9所示。
圖9指令發(fā)送端主程序流程圖
指令數(shù)據(jù)無線發(fā)送以后,指令發(fā)送端開始等待接收指令執(zhí)行端反饋的數(shù)據(jù)。指令發(fā)送端接收到反饋數(shù)據(jù)后調(diào)用串口發(fā)送程序?qū)⒎答仈?shù)據(jù)發(fā)回到PC,將反饋數(shù)據(jù)與指令數(shù)據(jù)比對,如果反饋數(shù)據(jù)與發(fā)送數(shù)據(jù)一致,則認(rèn)為指令數(shù)據(jù)發(fā)送成功,否則重新發(fā)送指令數(shù)據(jù)。如果長時間沒有接收到反饋數(shù)據(jù),則重新發(fā)送指令數(shù)據(jù)。
3.4指令執(zhí)行端主程序設(shè)計
在機器魚控制系統(tǒng)指令執(zhí)行端,主要包含指令數(shù)據(jù)的接收、指令數(shù)據(jù)的反饋發(fā)送、存儲器的讀寫以及舵機的控制等。其中,舵機的控制是最為關(guān)鍵的部分。在控制舵機前要先對指令數(shù)據(jù)進行解析,計算出舵機的控制量。由于舵機采用級聯(lián)的方式來模仿魚體的擺動,因此舵機間關(guān)節(jié)的運動規(guī)律可以采用以下數(shù)學(xué)模型:
式中,Ka為振幅系數(shù),Ki為偏斜系數(shù),f為擺動頻率,φi為關(guān)節(jié)滯后角,Aimax為關(guān)節(jié)擺動幅度,t為時間。以上參數(shù)即為舵機的主要控制參數(shù)。在程序設(shè)計過程中,一般取Ka≤0.5,Ki、f、φi以及Aimax四個參數(shù)根據(jù)具體的速度指令和方向指令來計算出相應(yīng)的控制量。指令執(zhí)行端主程序流程圖如圖10所示。
圖10指令執(zhí)行端主程序流程圖
4結(jié)束語
本文設(shè)計的機器魚控制系統(tǒng)通過了下水測試。在機器魚下水測試階段,利用串口調(diào)試助手對機器魚進行直接發(fā)送控制指令實驗,對機器魚的調(diào)直數(shù)據(jù)保存、直游以及轉(zhuǎn)彎進行了直接控制。測試結(jié)果表明,機器魚控制系統(tǒng)可以有效地接收上位機發(fā)送的指令數(shù)據(jù),并執(zhí)行相關(guān)的動作,達到了較好的控制效果。同時,本文的研究設(shè)計工作為進一步研究設(shè)計自主機器魚以及多魚協(xié)作提供了較好的軟硬件設(shè)計基礎(chǔ)。
評論