亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于STC15F2K60S2的多路PWM舵機(jī)控制器設(shè)計(jì)

        2018-09-04 09:37:16姚強(qiáng)王亞剛
        軟件導(dǎo)刊 2018年6期
        關(guān)鍵詞:舵機(jī)中斷上位

        姚強(qiáng) 王亞剛

        摘 要:舵機(jī)控制器在機(jī)器人控制技術(shù)中有重要應(yīng)用,其性能優(yōu)劣直接關(guān)系到多舵機(jī)系統(tǒng)能否正常工作。為解決采用控制芯片設(shè)計(jì)的舵機(jī)控制器多路數(shù)輸出和高精度之間的矛盾,設(shè)計(jì)了一種新的舵機(jī)控制器,硬件采用高性能STC15F2K60S2單片機(jī),在最大限度內(nèi)縮短了中斷服務(wù)時(shí)間,PWM波控制精度可達(dá)0.5us;軟件采用分時(shí)復(fù)用思想,PWM波在20ms的信號(hào)周期內(nèi)輸出路數(shù)多達(dá)32路。經(jīng)仿真軟件驗(yàn)證,該設(shè)計(jì)在保證控制路數(shù)足夠多的前提下極大提高了控制精度,并成功應(yīng)用于7自由度持鏡機(jī)械臂控制。

        關(guān)鍵詞:舵機(jī)控制器;STC15F2K60S2;PWM;持鏡機(jī)械臂

        DOI:10.11907/rjdk.172881

        中圖分類號(hào):TP319

        文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2018)006-0132-04

        Abstract:The steering gear controller plays an important role in robot control technology, and it has a direct influence on the multi-steering system. In order to solve the contradiction between multi-controlling channels and low accuracy of the steering gear controller, we adopt controller IC to design a new type of steering gear controller. The high-performance STC15F2K60S2 microcontroller is used to shorten the time of the interrupt service to the maxium. The control precision of PWM wave can reach 0.5us. The thought of time-sharing is adopted to produce no more than 32 PWM channels in 20ms signal period. The simulation software verifies that on the premise of enough controlling channels the new design greatly improves the controlling precision and can be successfully applied in controlling seven-DOF endoscope arm.

        Key Words:steering gear controller; STC15F2K60S2; PWM; endoscope arm

        0 引言

        舵機(jī)控制器設(shè)計(jì)是機(jī)械臂控制的關(guān)鍵技術(shù)之一。目前舵機(jī)的PWM控制信號(hào)生成方法可概括為3大類:第一類是基于分立器件的產(chǎn)生方法[1],它的實(shí)現(xiàn)電路比較復(fù)雜,而且精度難以控制,信號(hào)質(zhì)量不高;第二類是基于可編程邏輯器件(PLD)的產(chǎn)生方法[2-3],該方法可產(chǎn)生多路高精度PWM,但是設(shè)計(jì)復(fù)雜,成本較高,只有在高要求場(chǎng)合下才可使用;第三類是基于單片機(jī)的產(chǎn)生方法[4-6],簡(jiǎn)單易實(shí)現(xiàn),成本較低,而且精度也較高。但是傳統(tǒng)的基于單片機(jī)的舵機(jī)控制器存在一個(gè)難以調(diào)和的矛盾,即輸出PWM多路數(shù)和PWM高精度不可兼得,如7路高精度舵機(jī)控制器[7-8],24路低精度舵機(jī)控制器[9]和基于74HC595擴(kuò)展的多路舵機(jī)控制器[10]。為解決這一問題,設(shè)計(jì)了一款基于高性能8位單片機(jī)STC15F2K60S2的舵機(jī)控制器。

        1 PWM舵機(jī)控制器硬件設(shè)計(jì)

        1.1 舵機(jī)控制原理[11]

        舵機(jī)一般有3根引線,分別是電源線、地線、信號(hào)線。Robo-Soul公司生產(chǎn)的LDX-218舵機(jī)所需的電壓為6-7.4V,其中信號(hào)線是PWM輸入線,通過改變PWM脈寬可以達(dá)到控制舵機(jī)轉(zhuǎn)動(dòng)角度的目的。如圖1所示,PWM信號(hào)周期為20ms,高電平最小為0.5ms,最大為2.5ms,對(duì)應(yīng)電機(jī)的轉(zhuǎn)動(dòng)角度為0°和180°。

        1.2 舵機(jī)控制器硬件設(shè)計(jì)方案

        1.2.1 控制芯片選擇

        本設(shè)計(jì)采用宏晶科技公司生產(chǎn)的STC15F2K60S2單時(shí)鐘/機(jī)器周期(1T)單片機(jī),它是高速、低功耗和超強(qiáng)抗干擾新一代8051單片機(jī),指令代碼完全兼容傳統(tǒng)8051,但速度快7-12倍;工作頻率為5~35MHz,相當(dāng)于普通8051的60~420MHz。鑒于舵機(jī)控制器需要32路PWM輸出,選擇LQFP44封裝,它具有通用P0、P1、P2、P3和P4五個(gè)通用I/0口,不需要外部晶振,通過程序即可設(shè)置內(nèi)部晶振頻率,滿足舵機(jī)控制器多I/O口和高執(zhí)行效率的要求,控制芯片及外圍電路如圖2所示。

        1.2.2 串口通訊電路設(shè)計(jì)

        選擇CH340T作為USB轉(zhuǎn)串口芯片,USB既作為通訊接口,接收上位機(jī)傳輸過來的控制信號(hào),同時(shí)也給單片機(jī)供電。用單片機(jī)的串口1作為通訊接口,即P3.0口和P3.1口,其電路圖如3所示。

        2 PWM舵機(jī)控制器軟件設(shè)計(jì)

        2.1 輸出多路PWM算法實(shí)現(xiàn)

        2.1.1 多路PWM產(chǎn)生原理

        如圖4所示,設(shè)置芯片內(nèi)部晶振頻率為24M,采用1個(gè)16位定時(shí)器,基準(zhǔn)時(shí)間是1個(gè)機(jī)器周期為0.5us。上位機(jī)將角度數(shù)據(jù)轉(zhuǎn)化為下位機(jī)定時(shí)器初值。對(duì)于0°-180°之間的任意角度可按照(1)式轉(zhuǎn)換,其中θ為待轉(zhuǎn)角度,f為下位機(jī)晶振頻率,12個(gè)時(shí)鐘周期(1個(gè)機(jī)器周期)定時(shí)器進(jìn)行一次減1操作。

        2.1.2 軟件設(shè)計(jì)

        上位機(jī)主要完成數(shù)據(jù)預(yù)處理工作,包括將角度轉(zhuǎn)換為下位機(jī)定時(shí)器初值,對(duì)32路PWM定時(shí)器初值進(jìn)行排序,在充分考慮時(shí)間和空間復(fù)雜度的基礎(chǔ)上選擇插入排序算法[12]按照升序進(jìn)行排列。

        下位機(jī)主要完成如下操作步驟:

        Step1:將上位機(jī)傳輸過來的32路PWM定時(shí)器計(jì)數(shù)值的每1路封裝成1個(gè)結(jié)構(gòu)體。

        Struct PWM_Tcnt

        {

        unsigned int count;//計(jì)數(shù)值

        bit flag; //對(duì)應(yīng)的輸出端口

        }

        Step2:定義一個(gè)結(jié)構(gòu)體數(shù)組并初始化

        Struct PWM_Tcnt PWMOUT[33];

        Step3:按照如下算法更新結(jié)構(gòu)體數(shù)組。

        PWMOUT[i].count=PWMOUT[i+1].count-PWMOUT[i+1].count,i=1,2...31PWMOUT[32]=2^16-20ms0.5us-PWMOUT[32].count

        Step4:將所有PWM輸出口置高,開啟定時(shí)中斷。

        Step5: 中斷處理任務(wù)中關(guān)閉定時(shí)時(shí)間已到的PWM輸出端口,同時(shí)更新下一路計(jì)數(shù)值。

        Step6:在周期20ms剩余時(shí)間內(nèi)完成接收上位機(jī)數(shù)據(jù)。

        Step7:周期定時(shí)20ms時(shí)間一到,立即跳轉(zhuǎn)至Step1。

        產(chǎn)生多路PWM信號(hào)流程圖分為上位機(jī)和下位機(jī),上位機(jī)和下位機(jī)通過串口1通信,如圖5所示。

        2.2 舵機(jī)調(diào)速方法

        舵機(jī)屬于位置伺服控制系統(tǒng),通過改變PWM脈沖寬度對(duì)角度實(shí)現(xiàn)精確控制,如控制舵機(jī)轉(zhuǎn)動(dòng)θ角度,此時(shí)對(duì)應(yīng)的脈沖寬度為Pw,可以設(shè)置脈沖寬度按照階梯型遞增, 如圖6所示。舵機(jī)角速度就受脈沖寬度的切換速度控制,進(jìn)而達(dá)到舵機(jī)調(diào)速目的,其步進(jìn)值Inc通過N調(diào)節(jié),如式(2)。

        3 方法驗(yàn)證

        在單片機(jī)仿真與開發(fā)領(lǐng)域,Proteus 有獨(dú)特的優(yōu)勢(shì),它可以從理論層面驗(yàn)證可行性,從而縮短開發(fā)周期,降低開發(fā)成本。仿真實(shí)驗(yàn)中選用AT89C52對(duì)8路PWM輸出進(jìn)行方法驗(yàn)證,經(jīng)實(shí)驗(yàn)證明該算法能穩(wěn)定輸出8路穩(wěn)定PWM波形,如圖7所示。

        4 7自由度持鏡機(jī)械臂的舵機(jī)控制實(shí)驗(yàn)結(jié)果及分析

        4.1 舵機(jī)控制器試驗(yàn)結(jié)果

        為了驗(yàn)證方案實(shí)際控制效果,針對(duì)圖8(a)所示的7自由度持鏡機(jī)械臂[13-14]樣機(jī)進(jìn)行控制實(shí)驗(yàn),機(jī)械臂的7個(gè)自由度分別是機(jī)械臂整體上下滑動(dòng)、肩旋轉(zhuǎn)、肩擺動(dòng)、肘旋轉(zhuǎn)、肘擺動(dòng)、腕旋轉(zhuǎn)和腕擺動(dòng),如圖8(b)所示。對(duì)機(jī)械臂的旋轉(zhuǎn)范圍、定位精度、重復(fù)精度[15-16]進(jìn)行評(píng)定,評(píng)定結(jié)果如表1所示,評(píng)定方法如下:

        旋轉(zhuǎn)范圍:PWM脈寬設(shè)置為0.5ms和2.5ms,測(cè)定關(guān)節(jié)的旋轉(zhuǎn)角度,測(cè)10次求取平均值。

        定位精度:測(cè)定脈寬為0.5ms、0.7ms、0.9ms、1.1ms、1.3ms、1.5ms、1.7ms、1.9ms、2.1ms、2.3ms和2.5ms的10組關(guān)節(jié)旋轉(zhuǎn)角度數(shù)據(jù),定位精度為10次不同位置偏差值的均值。

        重復(fù)精度:測(cè)定同一位置固定轉(zhuǎn)角10次,其重復(fù)精度可按如下公式求得:

        4.2 舵機(jī)控制器試驗(yàn)結(jié)果分析

        實(shí)驗(yàn)結(jié)果存在誤差,這些誤差有來源于硬件的,如舵機(jī)固有誤差和傳感器誤差等,還有來自PWM生成算法本身的軟件誤差。本文主要分析來源于算法本身的誤差。PWM脈寬的控制精度主要由進(jìn)入中斷、退出中斷和中斷服務(wù)程序處理三段時(shí)間的大小決定,其中進(jìn)入中斷、退出中斷時(shí)間相對(duì)穩(wěn)定,可通過修改定時(shí)時(shí)間彌補(bǔ)和完善;對(duì)于中斷服務(wù)時(shí)間則需要通過高性能芯片盡量縮短中斷服務(wù)時(shí)間來彌補(bǔ)。本設(shè)計(jì)采用的芯片PWM是一款廉價(jià)高性能單片機(jī)、對(duì)于工作頻率要求不是很高,如50HZ就能夠達(dá)到理想效果。

        5 結(jié)語(yǔ)

        采用高性能單片機(jī)STC15F2K60S2作為控制芯片,它能夠最大限度縮短中斷服務(wù)處理重裝定時(shí)器初值和拉低相應(yīng)PWM輸出端口程序所耗費(fèi)的時(shí)間,同時(shí)它還具有多個(gè)I/O口,便于擴(kuò)展多路PWM輸出的需求。首先對(duì)多路PWM脈沖寬度排序,然后置高所有PWM輸出端口,再按照脈寬由窄至寬的順序清零輸出端口,最后所有PWM輸出端口拉低后,再重復(fù)上述過程即可實(shí)現(xiàn)多路PWM連續(xù)輸出。該方法具有多路輸出和高精度的特點(diǎn),適宜于應(yīng)用在多舵機(jī)控制場(chǎng)合。另外針對(duì)于舵機(jī)調(diào)速只給出引導(dǎo)方法,具體實(shí)現(xiàn)還有待進(jìn)一步研究。

        參考文獻(xiàn):

        [1] 侯志勇.由時(shí)基電路 NE555 組成的 PWM直流電機(jī)調(diào)速電路[J].河南機(jī)專學(xué)報(bào),1997,5(1):30-33.

        [2] 林王堅(jiān),馮浩,華亮.一種基于 VHDL與 CPLD器件的 PWM發(fā)生器[J].機(jī)電工程,2008,25(2):93-99.

        [3] 張巖,宋翔.基于 FPGA 的高精度PWM 發(fā)生器設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2009,25(1-2):160-163.

        [4] 馮曉偉,王雷陽(yáng),李正生.多路舵機(jī)控制PWM發(fā)生器的設(shè)計(jì)與Proteus仿真[J].現(xiàn)代電子技術(shù),2011,34(11):167-169.

        [5] 方慶山,林春方.一種基于AT89C2051的多路舵機(jī)控制方案設(shè)計(jì)[J].微特電機(jī),2009,1(7):56-58.

        [6] 付麗,劉衛(wèi)國(guó),伊強(qiáng).單片機(jī)控制的多路舵機(jī)用PWM波產(chǎn)生方法[J].微特電機(jī),2006, 3(4): 28-33.

        [7] 劉歌群,盧京潮,閆建國(guó),薛堯舜.用單片機(jī)產(chǎn)生7路舵機(jī)控制PWM波的方法[J].機(jī)械與電子,2004,1(2):76-78.

        [8] 韓慶瑤,洪草根,朱曉光.基于AVR單片機(jī)的多舵機(jī)控制系統(tǒng)設(shè)計(jì)及仿真[J].計(jì)算機(jī)測(cè)量與控制,2011,19(2): 332-335.

        [9] 梁鋒,王志良,解侖,徐文學(xué).多舵機(jī)控制在類人機(jī)器人上的應(yīng)用[J].機(jī)器人技術(shù),2008,24(1-2):227-229.

        [10] 邵平,莫燕斌,連晉平,陳元濱.一種基于74HC595產(chǎn)生舵機(jī)用多路PWM波的方法[J].肇慶學(xué)院學(xué)報(bào),2013,34(5):1-5.

        [11] 王曉楓,華云松.基于雙足負(fù)載機(jī)器人的大功率舵機(jī)的設(shè)計(jì)[J].電子科技,2017,30(3):170-173.

        [12] 劉模群.排序算法時(shí)間復(fù)雜度研究[J].軟件導(dǎo)刊,2012,11(6):35-38.

        [13] 袁金生.冗余自由度持鏡機(jī)械臂的設(shè)計(jì)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2011.

        [14] 董光友.腹腔微創(chuàng)手術(shù)機(jī)器人機(jī)械臂的設(shè)計(jì)及研究法[D].長(zhǎng)春:吉林大學(xué),2016.

        [15] 費(fèi)業(yè)泰.誤差理論與數(shù)值處理[M].北京:機(jī)械工業(yè)出版社,1983.

        [16] 何洪軍,張東寧,馬傳寶.機(jī)械手臂重復(fù)定位精度和運(yùn)動(dòng)速度測(cè)量實(shí)驗(yàn)研究[J].微特電機(jī),2016,44(3):34-36.

        (責(zé)任編輯:江 艷)

        猜你喜歡
        舵機(jī)中斷上位
        含齒隙彈載舵機(jī)的全局反步模糊自適應(yīng)控制
        特斯拉 風(fēng)云之老阿姨上位
        車迷(2018年12期)2018-07-26 00:42:22
        基于dsPIC單片機(jī)的飛艇舵機(jī)控制實(shí)現(xiàn)
        電子制作(2018年1期)2018-04-04 01:48:14
        跟蹤導(dǎo)練(二)(5)
        千里移防,衛(wèi)勤保障不中斷
        解放軍健康(2017年5期)2017-08-01 06:27:44
        基于高速同步485總線通信的多通道舵機(jī)控制器設(shè)計(jì)
        “三扶”齊上位 決戰(zhàn)必打贏
        基于ZigBee和VC上位機(jī)的教室智能監(jiān)測(cè)管理系統(tǒng)
        以新思路促推現(xiàn)代農(nóng)業(yè)上位
        基于云模型的舵機(jī)同步控制
        成年人视频在线播放麻豆| 亚洲av无码一区二区乱孑伦as| 亚洲人午夜射精精品日韩| 国产成人www免费人成看片| 日韩AV无码中文无码AV| 手机在线观看成年人视频| 中文字幕第一页人妻丝袜| 中文人妻熟女乱又乱精品| 亚洲日韩成人av无码网站| 亚洲黄色尤物视频| 日本在线中文字幕一区| 一区二区三区中文字幕在线播放| 日本精品久久久久中文字幕 | 丰满人妻熟妇乱又伦精品软件 | 亚洲欧美精品suv| 免费人成再在线观看网站| 中文亚洲成a人片在线观看| 亚洲av成人永久网站一区| 久久久久99人妻一区二区三区| 精品少妇爆乳无码av无码专区| 无码国产精品一区二区免费网曝| 国模一区二区三区白浆| 一区二区三区国产内射| 无码国内精品久久人妻| 国产亚洲av手机在线观看| 一区二区无码精油按摩| 国产激情一区二区三区不卡av| 隔壁老王国产在线精品| 国产成人精品999在线观看| 亚洲欧洲一区二区三区波多野| 亚洲中字永久一区二区三区| 变态调教一区二区三区女同| av无码精品一区二区三区宅噜噜 | 男人边做边吃奶头视频| 国产午夜福利短视频| 国产又粗又猛又黄色呦呦| 国产精品自产拍在线18禁| 日韩精品成人无码专区免费| 国产精品户露av在线户外直播| 中文字幕精品人妻av在线| 91精品国产综合久久久蜜|