基于STM32單片機的智能消防機器人設計研究
張欽 2022/9/11 9:09:09
(接上頁)MI接口顯示出來,通過高清圖像模塊進行無線圖像的傳輸,在后臺使用遙控器進行攝像頭的控制,實時性、清晰性將視頻和圖像顯示出來。而車體外部則需要設計自動化火災噴淋系統(tǒng),進行車體的自主降溫,預防在發(fā)生火災事故的過程中車體的零部件受到損害[1]。
圖1 智能消防機器人的設計
1.2 軟硬件的設計
1.2.1 硬件的設計
整體系統(tǒng)硬件是由以STM32單片機為核心的下位機部分和上位機部分組合而成,將STM32單片機芯片當做是核心控制板,確保所有功能的實現(xiàn)。
(1)上位機的設計
上位機設計的目的在于準確進行霍爾手柄控制信號的讀取、操作臺中各個功能控制信號的讀取,利用A/D轉換模式對信號進行轉換,使用數(shù)據(jù)傳輸?shù)哪K將信息數(shù)據(jù)發(fā)送到下位機的主控制器內,以操作手柄中所讀取的數(shù)據(jù)信息當作是坐標系之內操作手柄實際位置的坐標。
(2)下位機的設計
為了確保下位機的應用可以有效進行車體控制,需要先進行運動邏輯的分析,如果左側電機和右側電機的正轉轉速相同,就可控制車輛向著前方行駛,而如果左側和右側的電機設備正轉速度不同,就可控制車輛向左側或是右側轉動。如果左側與右側的電機設備運轉速度相同但是處于反轉狀態(tài),就可控制車輛向著后方向行駛。在左側電機和右側電機轉速不同且處于反轉狀態(tài),就可使車輛左后倒車或是右后倒車。
圖2 霍爾手柄坐標
如圖2所示,將會手柄設置為右側上方第一象限,手柄推動到最遠的位置,使整個現(xiàn)象中的運動成為圓弧,設置半徑a,將其作為電機電壓最高的數(shù)據(jù)值,手柄移動位置b,將其作為實際電機電壓的數(shù)據(jù)值,單片機在讀取數(shù)據(jù)值的過程中,讀取到推桿頂端坐標(x,y)的數(shù)據(jù)信息,可按照下列公式進行b數(shù)據(jù)值、m數(shù)據(jù)值和 數(shù)據(jù)值的計算分析[2]。
公式之內m代表的是左側電機和右側電機最高電壓數(shù)據(jù)值, 代表著操作并在參考系之內的操作方向向量角度數(shù)據(jù)值,按照此類公式進行計算分析,獲得相應的參數(shù)指標,最終進行電極控制邏輯分析和計算,如表1所示:
表1.電機控制邏輯和計算
電機 x和y都是正數(shù) x為負數(shù),y為正數(shù) x和y都是負數(shù) x是正數(shù),y是負數(shù)
左側 m -m
右側 m -m
操作邏輯 向右側前方向轉彎 向左側前方向轉彎 向左側后方向倒車 向右側后方向倒車
除了可以進行上述各類動作的控制,還能通過對左側和右側電機進行相同轉速的控制,進行相反轉向的調控,使車輛在原地旋轉。
另外,控制臺操作面板的實際操作過程中還能進行水炮上仰控制、向下操作的控制、左側和右側擺動的控制、水流噴射措施切換的控制等,同時進行觀察云臺的控制、蜂鳴器的控制、剎車控制、照明系統(tǒng)控制等。
1.2.2 軟件的設計
(1)軟件設計思路
在系統(tǒng)軟件設計的過程中需要以KEIL環(huán)境為基礎進行控制板的編程,采用C語言進行控制程序的編寫,由于STM32單片機芯片具有單個周期DSP指令與FPU浮點單元,計算的性能較高,因此在數(shù)據(jù)信息計算方面能夠節(jié)約大量時間,還能為程序執(zhí)行、數(shù)據(jù)信息傳輸?shù)忍峁┲С郑涌鞌?shù)據(jù)處理和傳輸?shù)乃俾,滿足系統(tǒng)設計標準要求,因此此次系統(tǒng)的設計將STM32單片機作為軟件的核心芯片,確保系統(tǒng)的良好運行[3]。
(2)上位機控制軟件設計
在設計上位機控制軟件的過程中,應完善軟件的操作流程,如圖3所示,整體軟件在應用的過程中,需要先完成系統(tǒng)和通信模塊的初始化操作,進入到主循環(huán)的部分,如果操作臺由工作人員進行操作,就可以通過A/D轉換的模式對控制信號轉換,進入到單片機中進行緩存處理,之后輸送到數(shù)據(jù)傳輸模塊,再發(fā)送到下位機設備。在此期間,單片機能夠從數(shù)據(jù)傳輸模塊內進行下位機所檢測的傳感數(shù)據(jù)信息的讀取,而后發(fā)送給數(shù)字顯示屏幕,將相關信息全面顯示出來。
圖3 上位機控制程序的流程
(3)下位機控制軟件的設計
在設計下位機的控制軟件系統(tǒng)過程中,如圖4所示,需要先初始化處理,然后對傳感器數(shù)據(jù)信息進行讀取,將數(shù)(未完,下一頁)
|
|
|