2019 年TI杯全國大學生電子設計競賽H題模擬電磁曲射炮
前言
首先要肯定電子設計競賽的含金量,而也正是電子設計競賽給了我本科階段最好的體驗,此文章介紹的作品是我所在團隊于2019年參加電賽的參賽作品,在隊友、指導老師的共同努力下有幸獲得國家級二等獎,誠然,此作品確實存在很多不足,在此只是分享一下我們當時的方案和經歷,供日后參加電賽的學生朋友們參考,不足之處望大家見諒,
完整題目
來自電賽官網:H題模擬電磁曲射炮
實作方案
本系統為自行設計并制作的模擬電磁曲射炮,采用STM32F1單片機作為控制核心,通過串口與外設模塊進行通信;采用OpenMV作為影像傳感器、TFmini激光測距模塊作為距離傳感器,通過PID等控制演算法實作題目炮擊功能,
云臺:選用帶有平臺大圓盤底座的二自由度舵機云臺
OpenMV:星瞳科技檔案及教程
TFmini:北醒
HMI串口屏:淘晶馳
電磁炮:炮彈選用磁鐵,注意炮管尺寸與炮彈形狀匹配;線圈使用漆包線自行繞制,注意繞線盡量工整,線圈匝數適量;選用1000uf電容,充放電電路由直流穩壓電源經升壓模塊升壓后由12V升為75V,再經過繼電器1與電容相連,通過使用單片機控制繼電器1常開觸點的通斷來給電容充電,為了防止充電電流過大損壞繼電器,在回路中串聯了15歐姆的限流電阻,電容通過繼電器2與電磁炮線圈相連,通過使用單片機控制繼電器2常開觸點的通斷來給電容放電實作電磁炮的發射,

功能實作:硬體搭建結束后進行大量的舵機擺角和出射距離的測驗,再進行線性擬合,確定部磁區間的補償偏置可近似實作給定距離的發射;發揮題目涉及自動尋靶,采用PID對舵機擺角進行調整,使靶心位于視野中央發射,
程式設計邏輯
外設邏輯:OpenMV實時處理影像確定目標靶位置,OLED實時顯示由TFmini測得與目標靶的距離資訊,HMI螢屏實時接收操控指令,以上OpenMV、TFmini、HMI各占用一個Usart,OLED遵循IIC協議,
開關邏輯:這里的開關指電磁炮充放電發射開關,依靠繼電器實作,
/*
**********************************************************************
*函式名稱:void vRelayContorl(void)
*函式功能:繼電器控制電容充放電
*
*使用說明:無
*入口引數:無
*返 回 值:無
*
*函式作者:YJ_Xar
*創建日期:2019-8-8 11:26:28
**********************************************************************
*/
void vRelayContorl(void)
{
/*充電*/
ui_Timer1ms++;
if(ui_Timer1ms <= 3500)
{
HAL_GPIO_WritePin(C_Save_GPIO_Port, C_Save_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(C_Release_GPIO_Port, C_Release_Pin, GPIO_PIN_RESET);
}
/*過渡*/
else if(ui_Timer1ms > 3500 && ui_Timer1ms <= 5000)
HAL_GPIO_WritePin(C_Save_GPIO_Port, C_Save_Pin, GPIO_PIN_RESET);
/*放電*/
else if(ui_Timer1ms > 5000 && ui_Timer1ms <= 10000)
HAL_GPIO_WritePin(C_Release_GPIO_Port, C_Release_Pin, GPIO_PIN_SET);
/*防止首尾相接*/
else if(ui_Timer1ms > 10000 && ui_Timer1ms <= 11000)
HAL_GPIO_WritePin(C_Release_GPIO_Port, C_Release_Pin, GPIO_PIN_RESET);
}
啟動邏輯:先通過HMI選擇題目序號,PID調整舵機角度,繼電器控制電容充放電,實作題目功能,
測驗方案
將系統接上電源,把完整程式下載至STM32F1單片機中,用觸摸屏控制系統完成題目中的各項要求指標并記錄,

根據上述測驗資料,系統仍存在偏差,此偏差由激光測距模塊長距離測量偏差造成;考慮到子彈外徑與炮管內徑的偏差,子彈在炮管中運動時速度發生改變,炮擊精度較差,
程式原始碼
鏈接:https://pan.baidu.com/s/1gOhM6ySnaQ1uQtsrI-b76A
提取碼:s1xl
復制這段內容后打開百度網盤手機App,操作更方便哦


轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/260135.html
標籤:其他
下一篇:ssh22埠映射
