999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

電機控制系統的軟件設計與解決方案

2016-03-16 09:26:02朱艷芳
導航定位與授時 2016年6期
關鍵詞:按鈕界面功能

楊 茜,朱艷芳,付 士,白 雷

( 湖北三江航天紅峰控制有限公司,湖北 孝感 432000)

電機控制系統的軟件設計與解決方案

楊 茜,朱艷芳,付 士,白 雷

( 湖北三江航天紅峰控制有限公司,湖北 孝感 432000)

為防止電機輸出軸因意外信號或者人為過失導致電機輸出軸偏離預想位置,提出一種基于1553B總線數據傳輸的電機控制系統解決方案。本系統包括測試儀模塊、控制盒、被控電機及位置傳感器等。主要實現電機1輸出軸鎖緊、解鎖及采集電機2電壓反饋功能。

數據傳輸;1553B bus;鎖緊;解鎖

0 引言

為防止電機輸出軸因意外信號或者人為過失導致電機輸出軸偏離預想位置,導致輸出軸連接表盤指針指示角度偏離預期值[1],本文提出一種基于1553B總線數據傳輸的電機控制系統解決方案。電機控制系統包括測試儀模塊、控制盒、被控步進電機1、被控步進電機2及位置傳感器,如圖1所示,其中測試儀模塊1553B總線控制器采用NI公司的PXI 6232板卡,控制盒采用DSP TMS320F2812。

1 工作原理

測試儀模塊發出鎖緊(解鎖)指令至控制盒,控制盒驅動步進電機1輸出軸自初始位置向外伸出或向內縮進。位置傳感器1及位置傳感器2實時采集步進電機1輸出軸的位置狀態,當位置傳感器1感知到步進電機1輸出軸到達鎖緊位置時,DSP的GPIOF5口電平由1變為0;反之當位置傳感器2感知到步進電機1輸出軸到達解鎖位置時,DSP的GPIOF4口電平由1變為0。

當系統處于解鎖狀態時,測試模塊可以發送不同大小的控制角度信號驅動步進電機2輸出軸作伸縮動作。電機2的輸出軸在齒輪的作用下促使與之相連的表盤指針發生一定角度的偏轉。

原控制方案中未用鎖緊裝置固定電機,在外部干擾嚴重的情況下會導致偏轉電機發生不必要的偏轉,使得控制角度偏離預期值。

電機控制系統示意圖如圖1所示。

圖1 電機控制系統示意圖Fig.1 The scheme of control system of motor

2 控制軟件設計

2.1 設計環境

設計環境為CCStudio 3.1,編程語言為C語言。

2.2 設計思路

控制盒中的DSP軟件用C語言設計開發,步進電機控制采用控制DSP的I/O口輸出脈沖的方式實現。整個控制軟件是一個死循環,在循環中接收1553B命令,根據CAN命令控制步進電機運動完成鎖緊及解鎖控制功能。軟件采用多線程控制方式,實時地更新通過1553B總線發送的伺服機構位置狀態信息[2]。

2.3 設計流程

控制主程序分為兩個分支,當控制盒上電后,系統循環查詢DSP的GPIOA15的狀態,如果GPIOA15電平為低電平則進行電機2的旋轉控制;反之,進行電機1的鎖緊解鎖控制。主程序設計流程圖如圖2所示。

圖2 主程序流程圖Fig.2 The flow chart of main function

電機2的旋轉控制流程如圖3所示。

圖3 控制軟件旋轉功能流程圖Fig.3 The flow chart of rotate function of control software

電機1的鎖緊解鎖流程如圖4所示。

圖4 控制軟件鎖緊解鎖功能流程圖Fig.4 The flow chart of lock function of control software

2.4 代碼編寫

控制主程序[3]實現部分代碼如下所示:

void main(void)

{

InitSysCtrl();

……//初始化系統

while (1)

{

if(GpioDataRegs.GPADAT.bit.GPIOA15 == 0)

{ MyControlCircle(); }// 電機2旋轉動作

else { MyLockCircle();}//電機1鎖緊解鎖動作

}

}

電機1鎖緊解鎖功能實現部分代碼[4]如下所示:

void MyLockCircle(void)

{

read_AD_With_Filter(AD_Val); //讀取AD通道采集信號

Uk = AD_Val[0]; //取出對應電機控制指令位數據

DT = 1280 - (Uk / 3.2); //計算比較寄存器值

if (DT >= 0){EvbRegs.CMPR4 = DT;}//PWM波輸出

else {EvbRegs.CMPR4 = -DT;} //PWM波輸出

}

電機2旋轉控制部分代碼[5]如下所示:

void MyControlCircle(void)

{

read_AD_With_Filter(AD_Val); //讀取AD通道采集信號

Uk = AD_Val[0]; //取出對應電機控制指令位數據

Uf = AD_Val[2]; //取出對應電機反饋指令位數據

ek = Uk + Uf * 5 * 35 / 246; //誤差生成

DT = -(ek * 6 / 2 - 1280); //計算比較寄存器值

if (DT >= 0) {EvbRegs.CMPR4 = DT;} //PWM波輸

else {EvbRegs.CMPR4 = -DT; } //PWM波輸

}

3 控制軟件設計

3.1 設計環境

設計環境為Microsoft Visual Studio 2005,編程語言為C語言。

3.2 設計思路

測試軟件用VS2005開發,主要完成控制命令的發送以及轉位機構位置信息的讀取。本測試儀通過NI公司的1553B總線控制器PXI6232[6]完成命令的發送和位置信息的獲取。

3.3 設計流程

鎖緊解鎖模塊控制電機1輸出軸動作,實現系統鎖緊解鎖功能。測試軟件鎖緊解鎖功能實現流程圖如圖5所示。

圖5 測試軟件解鎖鎖緊功能流程圖Fig.5 The flow chart of lock function of test software

系統循環查看PXI6232板卡IO口P1.0及P1.1的狀態信息[7],并根據其狀態信息使能或禁止系統解鎖或鎖緊功能。當系統提示已鎖緊后,電機2旋轉功能禁止,用戶需完成解鎖操作,當系統提示已解鎖后,電機2旋轉功能使能。

當系統旋轉功能使能后,系統可以實現對電機2的旋轉控制。旋轉功能流程圖如圖6所示。

圖6 測試軟件旋轉功能流程圖Fig.6 The flow chart of rotate function of test software

3.4 代碼編寫

鎖緊操作功能部分代碼[8]如下所示:

void OnBnClickedSuojin() //鎖緊

{

CNiBoard *pPXI6232; //定義新的板卡操作對象指針

bool ioflag_F4, ioflag_F5;//IO口電平標志位

pPXI6232 = new CNiBoard; //定義板卡操作對象

pPXI6232->AOTaskConfig(_T("Dev1/ao0"));//配置控制指令輸出口

pPXI6232->WriteSingleSample(1); //發送1°控制指令

do {//解鎖位置

ioflag_F4 = pPXI6232->IORead(_T("Dev1/port0/line0"));

//鎖緊位置

ioflag_F5 = pPXI6232->IORead(_T("Dev1/port0/line1")); }

while (ioflag_F5);

pPXI6232->WriteSingleSample(0); //發送零控信號

MessageBox(_T("已鎖緊"), NULL, MB_OK); //提示“已鎖緊”信息

}

解鎖操作功能部分代碼如下所示:

void OnBnClickedButton4() //解鎖

{

CNiBoard *pPXI6232; //定義新的板卡操作對象指針

bool ioflag_F4, ioflag_F5;//IO口電平標志位

pPXI6232 = new CNiBoard; //定義板卡操作對象

pPXI6232->AOTaskConfig(_T("Dev1/ao0"));//配置控制指令輸出口

pPXI6232->WriteSingleSample(-1); //發送-1°控制指令

do {//解鎖位置

ioflag_F4 = pPXI6232->IORead(_T("Dev1/port0/line0"));

//鎖緊位置

ioflag_F5 = pPXI6232->IORead(_T("Dev1/port0/line1")); }

while (ioflag_F4);

pPXI6232->WriteSingleSample(0); //發送零控信號

MessageBox(_T("已解鎖"), NULL, MB_OK); //提示“已解鎖”信息

}

電機2的旋轉控制過程中需要實時采集電機反饋角度信號[9],本設計中采取多線程[10]模式進行反饋角度讀取操作。

當用戶點擊旋轉按鈕后系統執行旋轉功能,部分代碼如下所示:

void OnBnClickedXuanzhuan()

{

CString s;

hDlg->GetDlgItem(IDC_TESTAMPLITUDE)->GetWindo-wText(s);

double amplitude = atof(s.GetBuffer());//獲取“目標角度”輸入值

pPXI6232->AOTaskConfig(_T("Dev1/ao1"));//配置控制指令輸出口

pPXI6232->WriteSingleSample(amplitude); //發送設計“目標角度”

OnBnClickedGetuf();//調用反饋獲取函數

}

當用戶點擊采集反饋按鈕時,觸發系統采集反饋角度功能,部分代碼如下所示:

void OnBnClickedGetuf()

{

if (getukflag == true){return;} //采集反饋標志位為真則跳出

getukflag = true; //采集反饋標志位置位

GetDlgItem(IDC_GETUF)->EnableWindow(FALSE);//禁止采集反饋功能

GetDlgItem(IDC_STOPGETUF)->EnableWindow(TRUE); //使能停止采集反饋功能

xuanzhuan = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)XUANZHUAN, this, CREATE_SUSPENDED, &xuanzhuanid); //定義采集反饋角度的線程(其中xuanzhuanid為DWORD型變量,XUANZHUAN為反饋角度采集函數)

ResumeThread(xuanzhuan); //啟動采集角度反饋線程

}

反饋角度采集函數如下所示:

void XUANZHUAN(TestFormView *hWnd) //測試界面傳入旋轉線程

{

hWnd->pPXI6232->AITaskConfig(_T("Dev1/ai0"));//配置AI通道

while (hWnd->getukflag) //當采集反庫標識置位時讀取反饋角度

{

hWnd->ukreadvector = hWnd->pPXI6232->ReadSingleSample();//讀取反饋角度值

PostMessage(hWnd->m_hWnd, WM_SHOWUF, NULL, NULL);//發送消息置界面

Sleep(500);//反饋角度獲取間隙為0.5s

}

}

當用戶點擊停止采集按鈕時,觸發系統采集反饋角度功能,部分代碼如下所示:

void OnBnClickedStopgetuf()

{

GetDlgItem(IDC_STOPGETUF)->EnableWindow(FALSE);

GetDlgItem(IDC_GETUF)->EnableWindow(TRUE);

getukflag = false;

}

3.5 用戶界面功能描述

進入電機控制界面時,用戶可以對電機進行解鎖鎖緊控制及旋轉控制,在電機旋轉過程中,用戶可以對反饋角度進行采集。測試界面如圖7所示。

圖7 測試界面示意圖Fig.7 The scheme of test interface

當圖7中鎖緊按鈕、旋轉按鈕、采集反饋按鈕及停止采集按鈕均被禁止時,表示目前電機1輸出軸所處位置為鎖緊位置,系統僅可進行鎖緊操作。

當點擊解鎖按鈕,測試軟件界面提示信息已解鎖(如圖8所示)后,用戶可在界面輸入目標角度,并點擊旋轉,電機2在控制信號作用下進行相應動作,用戶可點擊采集反饋按鈕,系統可采集與電機2輸出軸相連接的表盤指針實際偏轉角度并顯示于界面內。

圖8 解鎖提示信息示意圖Fig.8 The scheme of hint of unlock

點擊圖9中的停止按鈕時,界面反饋停止更新,且停止采集按鈕被禁止,采集反饋按鈕被使能。

圖9 測試界面示意圖Fig.9 The scheme of test interface

3.6 數據對比

在新控制方案鎖緊狀態下人為扳動步進電機2的輸出軸若干次,然后采集零位值ZeroNew,在舊控制方案中人為扳動電機輸出軸若干次并采集輸出軸位置零位反饋值ZeroOld,結果如表1所示。

表1 數據對比表

由表1可知,鎖緊裝置有效地防止了電機因外力干擾而發生不必要的動作所造成的偏離預期位置。

4 結論

本文針對電機輸出軸易因意外信號或者人為過失導致電機輸出軸偏離預想位置的問題,根據需求設計基于1553B總線數據傳輸的電機控制系統,實現電機系統解鎖鎖緊操作,并能實時控制和采集電機偏轉角度。經多組測試數據實驗驗證與對比,證明了所設計電機控制系統具有較高的精確度。該方案可以保證電機控制的實時性和準確性,解決了因電機輸出軸意外偏離而導致測試結果與預期相差較大的問題。

[1] 顧衛鋼.手把手教你學DSP——基于TMS320X281x[M].北京:北京航空航天大學出版社2011:180-189.

[2] TMS320F2810, TMS320F2812 Digital Signal Processors[R].Texas Instruments, 2003:68-69.

[3] TMS320F28x Boot ROM Reference Guide (Rev.A)[R].Texas Instruments, 2003:31-36.

[4] Hardware Design Guidelines for TMS320F28xx and TMS320F28xxx DSCs[R].Texas Instruments, 2008:11-17.

[5] 蘇奎峰,呂強.TMS320F2812 原理與開發[M].北京:電子工業出版社,2005:33-36.

[6] 孫麗明.TMS320F2812原理及其C語言程序開發[M].北京: 清華大學出版社,2008:112-120.

[7] TMS320F281x Assembly Language Tools User’s Guide[R].Texas Instruments, 2002:243-250.

[8] TMS320F28xx28xxx DSCs模擬接口設計綜述[R].Texas Instruments,2008:11-14.

[9] Running an Application from Internal Flash Memory on the TMS320F28xx DSP[R].Texas Instruments, 2008:10-19.

[10] 張衛寧.TMS320C28x系列DSP的CPU與外設(下)[M].北京:清華大學出版社,2005:180-200.

Software Design and Solution for a Control System of Motor

YANG Xi, ZHU Yan-fang, FU Shi, BAI Lei

(Hubei Sanjiang Aerospace Hongfeng Control Co.,Ltd., Xiaogan, Hubei 432000,China)

To provent the motor axis's departure from the expected position due to accidental signal or artificial fault, a solution for motor control system by using 1553B bus data transmission is put forward to realize locking/unlocking function of motor 1 and collect position state of motor 2 at the same time.

Data transmission; 1553B bus; Lock; Unlock

10.19306/j.cnki.2095-8110.2016.06.015

2015-03-28;

2015-07-01。

楊茜(1987 - ),女,碩士,助理工程師,主要從事軟件測試方面的研究。E-mail: yangxi_88@163.com

TP311.1

A

2095-8110(2016)06-0076-06

猜你喜歡
按鈕界面功能
這些按鈕能隨便按嗎?
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
當你面前有個按鈕
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
關于非首都功能疏解的幾點思考
人機交互界面發展趨勢研究
手機界面中圖形符號的發展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
內心不能碰的按鈕
商業評論(2014年9期)2015-02-28 04:32:41
中西醫結合治療甲狀腺功能亢進癥31例
主站蜘蛛池模板: 亚洲日本www| 99er精品视频| 91视频首页| 五月激激激综合网色播免费| 老司机午夜精品网站在线观看 | 亚洲综合极品香蕉久久网| 一区二区三区高清视频国产女人| 欧美一级夜夜爽www| 国产1区2区在线观看| 国产日韩久久久久无码精品| 国产免费羞羞视频| 欧美色综合久久| 2021国产精品自产拍在线| 久久一级电影| 第一区免费在线观看| 99久久国产综合精品女同| 日本国产一区在线观看| 亚洲无码精品在线播放| 亚洲aⅴ天堂| 呦女精品网站| av尤物免费在线观看| 97精品伊人久久大香线蕉| 国产成人免费高清AⅤ| 亚洲国产理论片在线播放| 国产精品视频猛进猛出| 波多野结衣AV无码久久一区| 在线毛片免费| 在线日韩一区二区| 国产精品伦视频观看免费| 亚洲天堂首页| 国产一级在线播放| 天堂av综合网| 日韩无码视频专区| 亚洲永久免费网站| 色婷婷色丁香| 巨熟乳波霸若妻中文观看免费| 亚洲第一区在线| 老司机午夜精品网站在线观看 | 久操中文在线| 国产H片无码不卡在线视频| 在线看片中文字幕| 性视频久久| 极品私人尤物在线精品首页| 亚洲综合婷婷激情| 欧美有码在线观看| 亚洲综合色在线| 中文字幕日韩丝袜一区| 日韩欧美中文在线| 国产女人爽到高潮的免费视频 | 九色免费视频| 精品国产Ⅴ无码大片在线观看81| 国产在线精彩视频二区| 18禁不卡免费网站| 婷婷六月综合网| 亚洲中文在线视频| 国产微拍精品| 91探花在线观看国产最新| www.亚洲国产| 色成人亚洲| 97人妻精品专区久久久久| 中文字幕 91| 91久久夜色精品国产网站| 99re视频在线| 高清精品美女在线播放| 国产成人综合亚洲网址| 久久人与动人物A级毛片| 中文字幕66页| 97视频精品全国在线观看| 成年看免费观看视频拍拍| 亚洲日韩Av中文字幕无码| 色九九视频| 美女内射视频WWW网站午夜| 亚洲成人播放| 国产高清在线丝袜精品一区| 草草影院国产第一页| 天堂岛国av无码免费无禁网站 | 香蕉蕉亚亚洲aav综合| 高清欧美性猛交XXXX黑人猛交| 全午夜免费一级毛片| 亚洲第一极品精品无码| 重口调教一区二区视频| 香蕉久久国产精品免|