資源描述:
《北航慣性導(dǎo)航綜合實驗四實驗報告.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、基于運動規(guī)劃的慣性導(dǎo)航系統(tǒng)動態(tài)實驗21二零一三年六月十日實驗4.1慣性導(dǎo)航系統(tǒng)運動軌跡規(guī)劃與設(shè)計實驗一、實驗?zāi)康臑檫M行動態(tài)下簡化慣性導(dǎo)航算法的實驗研究,進行路徑和運動狀態(tài)規(guī)劃,以驗證不同運動狀態(tài)下慣導(dǎo)系統(tǒng)的性能。通過實驗掌握步進電機控制方法,并產(chǎn)生不同運動路徑和運動狀態(tài)。二、實驗內(nèi)容學(xué)習(xí)利用6045B控制板對步進電機進行控制的方法,并控制電機使運動滑軌產(chǎn)生定長運動和不同加速度下的定長運動。三、實驗系統(tǒng)組成USB_PCL6045B控制板(評估板)、運動滑軌和控制計算機組成。四、實驗原理IMU安裝誤差系數(shù)的計算方法USB_PCL6045B控制板采用了USB
2、串行總線接口通信方式,不必拆卸計算機箱就可以在臺式機或筆記本電腦上進行運動控制芯片PCL6045B的學(xué)習(xí)和評估。USB_PCL6045B評估板采用USB串行總線方式實現(xiàn)評估板同計算機的數(shù)據(jù)交換,由評估板的FIFO控制回路完成步進電機以及伺服電機的高速脈沖控制,任意2軸的圓弧插補,2-4軸的直線插補等運動控制功能。USB_PCL6045B評估板上配置了全部PCL6045B芯片的外部信號接口和增量編碼器信號輸入接口。由USB_PCL6045B評估測試軟件可以進行PCL6045B芯片的主要功能的評估測試。21圖4-1-1USB_PCL6045B評估板原理框圖
3、如圖4-1-1所示,CN11接口主要用于外部電源連接,可以選擇DC5V單一電源或DC5V/24V電源。CN12接口是USB信號接口,用于USB_PCL6045B評估板同計算機的數(shù)據(jù)交換。USB_PCL6045B評估板已經(jīng)完成對PCL6045B芯片的底層程序開發(fā)和硬件資源與端口的驅(qū)動,并封裝成156個API接口函數(shù)。用戶可直接在VC環(huán)境下利用API接口函數(shù)進行編程。五、實驗內(nèi)容1、操作步驟1)檢查電機驅(qū)動電源(24V)2)檢查USB_PCL6045B控制板與上位機及電機驅(qū)動器間的連接電纜3)啟動USB_PCL6045B控制板評估測試系統(tǒng)檢查系統(tǒng)是否正常工
4、作。4)運行編寫的定長運動程序,并比較實際位移與設(shè)定位移。5)修改程序設(shè)定不同運動長度,并重復(fù)執(zhí)行步驟4)。6)對記錄實驗數(shù)據(jù),并進行誤差分析。2、實驗數(shù)據(jù)處理21基于VC的控制界面:本次實驗必須先設(shè)計控制系統(tǒng)的上位機,通過上位機的串口向下位機發(fā)送控制命令,下位機接收到命令后,產(chǎn)生PWM波,控制電機的正反轉(zhuǎn)以此達到控制導(dǎo)軌運動的目的。系統(tǒng)的控制界面如圖1所示:圖1系統(tǒng)的控制界面控制導(dǎo)軌運動,運動采取正向運動,再返回,即IMU的實際運行位移為零。并保存數(shù)據(jù)控制界面的應(yīng)用程序源程序僅寫出VC中按鈕的響應(yīng)程序:voidCAaaDlg::Online()///
5、/定長運動{//TODO:AddyourcontrolnotificationhandlercodehereUSB_initial();USB_default_set();USB_set_org_logic(AXS_AX,0);//原點開關(guān)的邏輯,負邏輯USB_set_el_logic(AXS_AX,0);//硬極限輸入邏輯,低電平使能USB_set_sd_logic(AXS_AX,0);//減速開關(guān)的輸入邏輯,負邏輯USB_set_alm_logic(AXS_AX,1);//報警輸入信號邏輯USB_set_inp_logic(AXS_AX,1);//
6、in的輸入信號邏輯USB_ez_logic(AXS_AX,0);//Z相的輸入邏輯21USB_set_pls_outmode(AXS_AX,1);USB_set_out_enable(AXS_AX,1);//脈沖輸出使能//USB_jog_continue(AXS_AX,150,20000,20,20,20,20,1,30000);USB_start_tr_move(AXS_AX,m_dist,0,m_inspeed,5000,5000);//USB_tv_move(AXS_AX,150,2000,3000);/*USB_v_change(AXS_AX
7、,5000,5000);while(1){USB_get_speed(AXS_AX,&m_speed);UpdateData(FALSE);MSGmsg;while(PeekMessage(&msg,0,0,100,PM_REMOVE)){TranslateMessage(&msg);DispatchMessage(&msg);}Sleep(100);}*/}voidCAaaDlg::OnButton1()//////停止運動{//TODO:AddyourcontrolnotificationhandlercodehereUSB_sd_stop(AXS
8、_AX);}voidCAaaDlg::OnGetSpeed()//////獲得速度{//TOD