聚豐項目 > 基于RT-Thread的自校準模擬電磁炮
本系統基于RT-Thread嵌入式實時操作系統,與磁阻式電磁炮、云臺、TOF激光測距、LCD液晶顯示屏等組成的尋靶測距控制系統。 根據激光測距檢測的位置參數通過PID算法控制云臺舵機自動鎖定發射目標,同時通過輸出可控的PWM信號給云臺舵機,來控制自動巡跡目標的定位和發射裝置的水平、垂直角度。主控制器根據發射參數計算出電磁炮發射裝置的水平、垂直角度及對充放電電路的時間常數,控制云臺轉動及實現電磁炮的發射。
莫離哈哈哈
分享莫離哈哈哈
團隊成員
姚文龍 學生
1. LCD接口電路
2.LED接口電路
3.激光測距串口接收電路
4.PWM信號輸出電路(舵機控制)
RT-Thread使用情況概述:
使用了信號量,線程創建,FinSH控制臺,中斷管理
一、main函數
1.創建一個信號量用于中斷和任務之間的同步
2.創建兩個任務,任務1用于液晶屏顯示,任務2用于調整PWM信號占空比(舵機角度)
3.任務1入口函數,首先獲取串口接收中斷的信號量,如果信號量已經釋放,說明激光測距模塊的距離值已經更新,執行后面的顯示程序
4.任務2入口函數,用于改變PWM信號的占空比
二、中斷服務函數
1. 串口接收中斷,用于接收激光測距模塊返回的距離值,一幀數據分為九個字節,前兩個字節是幀頭,第三四個字節為距離值的高八位和低八位,第五六個字節分別為信號強度的高八位與低八位,最后一個字節為校驗和。當成功接收到一幀數據之后,釋放信號量,任務1可以更新顯示的距離值,避免了LCD屏幕的無效刷新,節省了CPU資源的利用率。
2.定時器中斷TIM3
首先將定時器3的引腳重映射到PC6、PC7
通過改變TIM3->CCR1寄存器的值來修改占空比,達到對舵機的控制
該系統能夠自動識別目標(以水杯為例),并控制舵機轉向該目標,同時將相關信息顯示在LCD上
(0.00 MB)下載
dianzi_0101: 666
回復
dianzi_0101: 演示只看到目標追蹤,沒看到電磁炮呀
回復
jf_25703341: 19電賽?
回復