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

基于CC430F6137的工業手柄搖桿優化模型研究

2022-01-18 01:34:28劉偉靜趙超澤徐文麗王小濤
自動化儀表 2021年12期
關鍵詞:單片機設置模型

劉偉靜,趙超澤,王 東,徐文麗,姚 寧,王小濤

(1.天津航天機電設備研究所,天津 300458;2.天津市宇航智能裝備技術企業重點實驗室,天津 300458;3.北京交通大學海濱學院,河北 廊坊 061100)

0 引言

隨著現代機械工程的快速發展,工業手柄[1-2]越來越多地應用于無人機、機器人[3]、移動車等。其中,工業手柄的搖桿[4]操作可實現設備移動的靈活性與穩定性。手柄控制方式分為無線和有線兩種。無線手柄與有線手柄相比,具有較高的移動靈活性,且安裝方便、操作簡單、調試維護成本較低。因此,大部分領域使用無線手柄進行遠程控制。文獻[5]以STC89C52單片機為主控單元,設計了搖桿信號無線傳輸模塊。該模塊在模數轉換器(analog to digital converter,ADC)模塊初始化時讀取的三組數據均為無效數據,且在檢測數據時需在一定時間內關閉無線傳輸,因而增加了數據處理時間和設備能耗。文獻[6]設計了一種便攜式多功能無線游戲手柄。該手柄能準確輸出控制命令,但同一時間從緩存區讀取的11個字節不一定是同一個數據包中的,導致信道利用不充分甚至丟包。

本文從手柄軟件設計入手,采用CC430F6137單片機[7]作為手柄控制器的核心部分,利用ADC采集搖桿偏移量,設置ADC采樣參數,確保控制器每次均可采集到一個完整的數據包;通過對比的方式建立搖桿數學優化模型,以提高搖桿操作精度。

1 硬件系統

作為智能設備的上位機系統,無線手柄具有遠距離遙控下位機的功能,可實現平移、轉向、升降、翻轉等動作。無線手柄操控方便,可靠性較高,能較好地滿足使用者的要求。

單片機具有集成度高、可靠性高、控制功能強、功耗低的特點,是工業控制領域廣泛使用的元件。德州儀器推出的射頻芯片CC430延續了MSP430單片機的超低功耗設計,采用了CC1101[8]作為無線內核,成為新一代無線式單片機。因此,本文選用CC430F6137作為手柄控制核心單元。將CC430F6137中的13個I/O連接手柄按鍵,4個模擬量接口連接手柄搖桿。手柄顯示屏采用并行通信模式。其中,手柄搖桿產生的模擬量信號通過ADC中斷轉換成數字量信號,并存入CC430F6137單片機寄存器內。解析該搖桿信號即可控制下位機的動作。手柄硬件結構如圖1所示。

圖1 手柄硬件結構框圖

2 搖桿優化模型設計

本文設計的手柄采用雙軸搖桿模塊。該模塊由2個滑動變阻器[9]組成。撥動搖桿時滑動變阻器的阻值發生變化,對應的x、y軸電壓值隨之變化,進而產生x、y軸方向的偏移量。當搖桿不進行任何操作時,單片機ADC采集到的x、y軸的偏移量視為搖桿的原點。然而,由于滑動變阻器的不穩定性,搖桿原點會在一定范圍內浮動,易產生手柄無操作但下位機動作的問題。因此,必須將搖桿原點限定在一定范圍(即死區[10]范圍)內,以防止危害事故的發生。本文以該特性為出發點優化搖桿死區,提高手柄操控性能。搖桿偏移量采集流程如圖2所示。

圖2 搖桿偏移量采集流程

在保證搖桿正常應用的前提下擴大搖桿死區范圍,確定在不進行任何操作時搖桿采集點數始終保持在死區范圍內。不同的死區設置方式具有不同的效果。下面解析搖桿死區分別設置為方形和圓形時的特點,并優化設計。

2.1 方形死區模型

方形死區模型如圖3所示。

圖3 方形死區模型

當不操作搖桿時,設定搖桿x、y軸的實際偏移量分別為s、t(s>0,t>0)。死區范圍設為:當x值滿足a

搖桿在死區范圍外,xvirtual、yvirtual軸正負方向的偏移量分別為1 024,即解析后的搖桿坐標范圍為-1 024≤xvirtual≤1 024、-1 024≤yvirtual≤1 024。由此可以得到死區范圍之外的角度計算方法,如式(1)所示。

(1)

式中:A為搖桿當前角度值。

當x、y值處于陰影區域2時,滿足xvirtual=0或yvirtual=0,表示搖桿向正前、正左、正后、正右四個方向推動。

上述方式可在保證搖桿正常應用的前提下有效擴大死區范圍,保證搖桿不會在非操作模式下發出錯誤信號。

以圖3(a)的第一象限為例。當搖桿沿圖3(b)中的虛線箭頭方向推動時,搖桿角度會出現0°(OA)→90°(AB)→γ(0<γ<45°)的跳變,造成輸出方向的突變,極易引起下位機方向突變,甚至死機。同理,在其他3個象限也會出現角度跳變現象。

2.2 圓形死區模型

滿足(xvirtual-s)2+(yvirtual-t)2≤r2(r>0)的區域為死區范圍。當搖桿處于死區范圍內時,坐標設為O(0,0)。

死區范圍之外的角度計算如式(1)所示。為判斷搖桿向正前、正左、正后、正右四個方向的推動,設定:

(2)

式中:0°<α<45°。

圓形死區模型如圖4所示。

圖4 圓形死區模型

根據式(1)、式(2)可知,該設置方法擴大了搖桿0°、90°、180°、270°四個方向的范圍。圓形死區模型撥動方向如圖4(b)中陰影區域2所示。

分析圖4(b)中的第一象限可知,直行推動搖桿至死區范圍外,不會出現角度跳變,消除了搖桿操作造成的下位機方向突變的問題。

3 基于優化模型的無線傳輸程序

搖桿采用圓形死區模型。本文采用自定義方式設置無線傳輸程序,采用6個字節的自由協議:幀頭為0xAA;第2個字節為x軸坐標數據;第3個字節為y軸坐標數據;第4個字節為角度;第5個字節為校驗位,應用偶校驗方式;幀尾0xBB。

手柄發送數據流程如圖5所示。

圖5 手柄發送數據流程

本文應用CC430F6137單片機中的ADC中斷構建程序。具體程序構建流程如下所述。

3.1 ADC中斷初始化

首先初始化ADC中斷,然后通過配置寄存器,使能該中斷。

void ADC_Init(void)

|{|P2SEL=0xCF;//使能ADC 通道輸入

ADC12CTL0=ADC12ON+ADC12MSC+ADC12SHT0_8;

ADC12CTL1=ADC12SHP+ADC12CONSEQ_1+ADC12SSEL_3;

ADC12MCTL0=ADC12INCH_0;

ADC12MCTL1=ADC12INCH_1;

ADC12MCTL2=ADC12INCH_2;

ADC12MCTL3=ADC12INCH_3;

ADC12MCTL6=ADC12INCH_6;

ADC12MCTL7=ADC12INCH_7+ADC12EOS;

ADC12IE=0x08;

delayxms(100);

ADC12CTL0 |=ADC12ENC;

ADC12CTL0 |=ADC12SC;

delayxms(100);

}

3.2 配置ADC寄存器

在中斷程序中應用無符號整型數組results[8]配置ADC中的0、1、2、3、6、7號寄存器,將x、y、z三軸坐標分別配置在results數組的1、0、6號寄存器中。具體如下。

results[0] = ADC12MEM0; //y軸坐標

results[1] = ADC12MEM1;

//x軸坐標

results[2] = ADC12MEM2;

//外部電壓

results[3] = ADC12MEM3;

//電池電壓

results[6] = ADC12MEM6;

//z軸坐標

results[7] = ADC12MEM7;

3.3 設置搖桿死區

x軸和y軸采用二維坐標,設置圓形死區。中心點設置方法為:采集20次x軸和y軸搖桿在起始點的坐標,取其平均值,設為中心點,例如(2 035,2 022)。以中心點為圓點,以Blind_Spot為半徑,設置圓形死區。

z軸單獨作為一維坐標。采集20次z軸搖桿在起始點的坐標,取其平均值,設為中心,例如2 050。以中心點為起點,上下取100,設置為死區范圍,即z軸在(1 950,2 150)范圍內的變化忽略不計。

具體程序如下。

if(zeroflag==0)

//原點限制

{

ShiftZeroX = results[1];

ShiftZeroY = results[0];

if ((pow((ShiftZeroX-2035),2)+pow((ShiftZeroY-2022),2))>=pow(Blind_Spot,2))

{

ShiftZeroX=2035;

ShiftZeroY=2022;

}

ShiftZeroZ = results[6];

if((ShiftZeroZ>2150)||(ShiftZeroZ<1950))

ShiftZeroZ=2050;

}

3.4 x、y、z軸坐標變換

搖桿坐標變化范圍為0~4 096,在初始位置時在2 048上下變化。將中心(2 035,2 022)轉換為原點(0,0),將上下1 024設置為搖桿的死區范圍,超出1 024的部分記為1 024。其中,x、y軸坐標變換代碼如下。

void XYConvert(int x,int y,int rocker)

|{

if ((pow((x-2035),2)+pow((y-2022),2))>=pow(Blind_Spot,2))

{

if((x>SZeroXN-1024)&&(x

statex=x-SZeroXN;

//x-

else if(x

statex=-1024.0;

else if((x>SZeroXP)&&(x

statex=x-SZeroXP;

else if(x>SZeroXP+1024)

statex=1024.0;

else statex=0;

if((y>SZeroYP)&&(y

statey=y-SZeroYP;

//y+

else if(y>SZeroYP+1024)

statey=1024.0;

//y+

else if((ySZeroYN-1024))

statey=y-SZeroYN;

//y-

else if(y

statey=-1024.0;

//y+

else statey=0;

}

else

{

statex=0;

statey=0;

}

_no_operation();

|}

z坐標變換代碼如下:

|int ZConvert(int z,int rocker)

|{

int q;

if((z>SZeroZP)&&(z

q=z-SZeroZP;

//z+

else if(z>SZeroZP+1024)

q=1024.0;

//z+

else if((zSZeroZN-1024))

q=z-SZeroZN;

//z-

else if(z

q=-1024.0;

//z-

else q=0;

return q;

|}

4 試驗驗證

本文應用工業手柄無線遙控全向移動轉運車的方式,測試搖桿死區優化模型。試驗選擇周圍障礙物較少、地面干凈平整的場地,使轉運車可全向移動。試驗工業手柄發射功率為-10 dBm,最大發射半徑為100 m,距離轉運車5 m處。x軸和y軸的死區半徑設置為100 mm。多次撥動搖桿并將角度值顯示于液晶屏(liquid crystal display,LCD)上,觀察轉運車的移動方向是否與LCD上的角度信息一致。以x、y軸第一象限為例,說明圓形死區模型和方形死區模型的優劣。緩慢推動搖桿,觀察x軸和y軸偏移量的變化。

角度數值變化如表1所示。

表1 角度數值變化

由表1可知,當設置圓形死區時,由0°變化到65°,無角度跳變發生;當設置方形死區時,轉運車的移動方向由0°變化到90°,再跳變到65°。該跳變會引起轉運車的行走角度突然發生變化,造成危險。而設置圓形死區時,無角度跳變的情況發生,消除了上述危險。

5 結論

本文以CC430F6137作為手柄控制核心,根據工業手柄的可靠性建立搖桿數學模型,設定搖桿的死區模型,并分析該模型的優劣。針對搖桿信號的無線傳輸程序進行了分析設計,編寫了主要的功能函數,實現了數據的轉換和無線傳輸功能。該研究為后續的應用奠定了良好的基礎。

猜你喜歡
單片機設置模型
一半模型
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
3D打印中的模型分割與打包
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
主站蜘蛛池模板: 理论片一区| 免费观看欧美性一级| 高潮毛片无遮挡高清视频播放| 中文字幕有乳无码| 中文纯内无码H| 久久国产精品嫖妓| 国产鲁鲁视频在线观看| 九九视频免费在线观看| 亚洲AV人人澡人人双人| 日韩高清欧美| 国产69精品久久久久孕妇大杂乱 | 91在线激情在线观看| 国产精品浪潮Av| 国产人成在线视频| 亚洲精品色AV无码看| 亚洲码一区二区三区| 国产av剧情无码精品色午夜| 极品国产在线| 2020精品极品国产色在线观看| 一级全黄毛片| 美女被躁出白浆视频播放| 国产欧美高清| 亚欧美国产综合| 国产永久免费视频m3u8| 亚洲熟女中文字幕男人总站| 婷婷综合亚洲| 亚洲国产AV无码综合原创| 亚洲精品手机在线| 狠狠综合久久久久综| 噜噜噜久久| 亚洲综合激情另类专区| 天天综合网站| 久草视频福利在线观看| 国产精品熟女亚洲AV麻豆| 久久永久免费人妻精品| 欧美一级在线看| 干中文字幕| 日韩在线视频网| 亚洲AⅤ无码日韩AV无码网站| 久久精品人人做人人爽| 婷婷亚洲视频| 一本大道无码日韩精品影视| 一级毛片在线播放| 一级毛片中文字幕| 91探花在线观看国产最新| 波多野结衣在线se| 思思99思思久久最新精品| 欧美国产日产一区二区| 欧美精品一区在线看| 激情五月婷婷综合网| 婷婷亚洲综合五月天在线| 怡春院欧美一区二区三区免费| 亚洲无码91视频| 中文字幕在线欧美| 色综合中文| 欧美高清日韩| 亚洲男人天堂2018| 国产成人亚洲欧美激情| 日本午夜精品一本在线观看 | 久久精品aⅴ无码中文字幕| 久草热视频在线| 在线看免费无码av天堂的| 日韩小视频在线播放| 少妇精品久久久一区二区三区| 老司机久久精品视频| 国产美女91呻吟求| 久久国产精品嫖妓| 国产乱论视频| 伊人久久青草青青综合| 国产va欧美va在线观看| 国产91精品最新在线播放| 成人在线观看不卡| 免费一看一级毛片| 国产网站免费看| 亚洲欧美日韩久久精品| 国产99视频精品免费视频7| 欧美激情网址| 欧美亚洲国产精品第一页| 国产成人91精品| 欧美性色综合网| 亚洲视频在线青青| 91极品美女高潮叫床在线观看|