• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于單片機(jī)的機(jī)械手臂控制系統(tǒng)設(shè)計(jì)

      2018-01-30 10:51:06王偉
      機(jī)械管理開(kāi)發(fā) 2018年1期
      關(guān)鍵詞:控制板舵機(jī)手臂

      王偉

      (陽(yáng)煤集團(tuán)太原化工新材料有限公司,山西太原0330006)

      引言

      機(jī)械手臂是一種應(yīng)用非常廣泛的自動(dòng)化機(jī)械裝置,且目前在自動(dòng)化制造、救援、醫(yī)療、農(nóng)業(yè)和商業(yè)等領(lǐng)域都得到了廣泛應(yīng)用。隨著開(kāi)源硬件的研發(fā),設(shè)計(jì)人員進(jìn)入機(jī)械電子學(xué)領(lǐng)域的難度明顯降低。其中,以Arduino平臺(tái)的發(fā)展最為迅猛。它是一款涵蓋軟、硬件的開(kāi)源電子原型平臺(tái),允許設(shè)計(jì)人員按需改進(jìn)調(diào)整核心庫(kù)文件、軟件、硬件原理圖及電路圖。據(jù)此,本文筆者設(shè)計(jì)一款基于單片機(jī)的六自由度機(jī)械手臂,并重點(diǎn)論述機(jī)械手臂控制系統(tǒng)的設(shè)計(jì)。

      1 設(shè)計(jì)方案

      圖1所示是機(jī)械手臂控制系統(tǒng)的結(jié)構(gòu)圖。

      圖1 機(jī)械手臂控制系統(tǒng)結(jié)構(gòu)圖

      結(jié)合圖1,機(jī)械手臂是由機(jī)械系統(tǒng)、電氣系統(tǒng)組成。機(jī)械系統(tǒng)是由旋轉(zhuǎn)關(guān)節(jié)、機(jī)械連桿等串接而成的串聯(lián)式開(kāi)鏈結(jié)構(gòu),其中關(guān)節(jié)的軸線存在相互垂直或平行的關(guān)系,能使相連連桿實(shí)現(xiàn)相對(duì)運(yùn)動(dòng)。電氣系統(tǒng)是機(jī)械手臂的控制系統(tǒng),具體由單片機(jī)、舵機(jī)及舵機(jī)控制板系統(tǒng)等組成。其中,單片機(jī)系統(tǒng)負(fù)責(zé)下發(fā)機(jī)械手臂的控制指令。舵機(jī)系統(tǒng)由6個(gè)舵機(jī)組成,用于完成機(jī)械手臂的具體動(dòng)作,以調(diào)控其六個(gè)自由度。舵機(jī)控制板是基于Arduino的開(kāi)源硬件電路板,負(fù)責(zé)接收源自單片機(jī)系統(tǒng)的控制指令及以放大信號(hào)的方式驅(qū)動(dòng)各舵機(jī)。綜上設(shè)計(jì)方案,分別從軟、硬件的角度出發(fā),探討基于單片機(jī)的機(jī)械手臂控制系統(tǒng)設(shè)計(jì)[1-2]。

      2 硬件設(shè)計(jì)

      2.1 單片機(jī)系統(tǒng)

      在機(jī)械手臂控制系統(tǒng)中,單片機(jī)系統(tǒng)是最為核心的控制裝置,其由單片機(jī)、電源模塊、按鍵電路、晶振電路及復(fù)位電路等組成。本設(shè)計(jì)選取80C51型單片機(jī)為主控制器,并將石英晶體振蕩電路接入單片機(jī)的XTAL1、2端口,將復(fù)位電路接入RST端口,將LCD顯示器LM016L接入P0.0-7端口,途徑上拉電阻,而其作用是顯示指令代碼[3]。

      2.2 舵機(jī)系統(tǒng)

      機(jī)械手臂的舵機(jī)系統(tǒng)由腕關(guān)節(jié)1與2舵機(jī)、肘關(guān)節(jié)1與2舵機(jī)、肩關(guān)節(jié)舵機(jī)及底座舵機(jī)等組成。本設(shè)計(jì)選取LF-20MG型舵機(jī),其是一種直流電動(dòng)機(jī),工作電壓4.8~6.6 V、扭矩范圍1.62~1.96 N·m,以向機(jī)械手臂提供動(dòng)作所需的扭矩[4]。

      2.3 舵機(jī)控制板

      在機(jī)械手臂控制系統(tǒng)中,舵機(jī)控制板屬于從機(jī),即其僅可接受指令或執(zhí)行預(yù)設(shè)的命令。據(jù)此,舵機(jī)控制板先從單片機(jī)處獲得控制指令,再完成舵機(jī)控制。為了充分挖掘Arduino開(kāi)源硬件電路板的優(yōu)勢(shì),本設(shè)計(jì)決定從Arduino平臺(tái)直接購(gòu)入舵機(jī)控制板,見(jiàn)圖2。

      結(jié)合圖2,舵機(jī)控制板右上角的GND、TXD、RXD接口與單片機(jī)的GND、TXD、RXD端口對(duì)應(yīng)連接,負(fù)責(zé)接收源自單片機(jī)系統(tǒng)的控制指令;S1-32組合端口分別與32個(gè)舵機(jī)連接,且每一組合端口的S、+、-端口與每一舵機(jī)的信號(hào)控制極、電源正、負(fù)極對(duì)應(yīng)連接。

      圖2 舵機(jī)控制板

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

      對(duì)于機(jī)械手臂控制系統(tǒng),其軟件設(shè)計(jì)的任務(wù)是先由單片機(jī)系統(tǒng)按機(jī)械手臂的動(dòng)作要求編寫(xiě)動(dòng)作指令,再發(fā)送至舵機(jī)控制板,然后由舵機(jī)控制板對(duì)舵機(jī)進(jìn)行控制,繼而實(shí)現(xiàn)機(jī)械手臂的具體動(dòng)作。例如,機(jī)械手臂在繪制“M”時(shí),首先,計(jì)算、設(shè)置通信端口的參數(shù);其次,計(jì)算每一舵機(jī)在機(jī)械手臂夾緊時(shí)的旋轉(zhuǎn)角度,并設(shè)置、輸出夾緊動(dòng)作組合;第三,依次計(jì)算每一舵機(jī)在機(jī)械手臂繪制“M”的第一筆畫(huà)(右上長(zhǎng)直線)、第二筆畫(huà)(右下短直線)、第三筆畫(huà)(右上短直線)、第四筆畫(huà)(右上短直線)時(shí)的旋轉(zhuǎn)角度,并分別設(shè)置、輸出每一筆畫(huà)的動(dòng)作組合;第四,計(jì)算每一舵機(jī)在機(jī)械手臂釋放時(shí)的旋轉(zhuǎn)角度,并設(shè)置、輸出釋放動(dòng)作組合[5-6]。在整個(gè)過(guò)程中,需要注意下列要點(diǎn):

      3.1 通信端口參數(shù)的計(jì)算與編程

      機(jī)械手臂控制系統(tǒng)的單片機(jī)采取串行方式與舵機(jī)控制板實(shí)現(xiàn)通信。依據(jù)通信協(xié)議,停止位1位、數(shù)據(jù)位8位、無(wú)校驗(yàn)位、TTL電平及波特率9 600 bps。據(jù)此,要求采取下列公式算得串行端口定時(shí)器的初始值X:

      其中,n表示定時(shí)器位數(shù);SMOD表示串行端口控制寄存器的最高位;fOSC表示單片機(jī)時(shí)鐘的頻率;Baud表示串行接口通信的波特率。據(jù)此,倘若n=8位、Baud=9 600 bps、SMOD=1及fOSC=11.059 2 MHz,則X=250=FA,這是一個(gè)十六進(jìn)制數(shù)據(jù)。

      對(duì)于單片機(jī)串行通信端口,其初始化程序如下:

      viod artInitial ization()

      {

      SCON=0x50;//8位異步串行通信口,模式1

      PDON|=0x80;//SMOD=“1”

      TMOD|=0x20;//定時(shí)器1,模式2,8位重裝

      TH1=OxFA;//定時(shí)器初始值高8位

      TL1=OxFA;//定時(shí)器初始值低8位

      IE|=0x90;//允許串行中斷

      TR1=1;//啟動(dòng)定時(shí)器1

      EA=1;//允許所有中斷

      }

      3.2 舵機(jī)角度控制設(shè)置值的計(jì)算與編程

      在機(jī)械手臂控制系統(tǒng)軟件設(shè)計(jì)中,要求通過(guò)單片機(jī)確定舵機(jī)角度控制的設(shè)置值,且其與舵機(jī)角度的位置值存在下列運(yùn)算關(guān)系:

      式中:Ax表示舵機(jī)角度控制的設(shè)置值;Nx表示舵機(jī)角度位置值;Am、A0表示Ax的上限與下限;Nm、N0表示Nx的上限與下限。倘若Am、A0的數(shù)值分別是2500、500及Nm、N0的數(shù)值分別是180°、0°,則要想使Nx=90°,要求單片機(jī)程序軟件的Ax=1500。

      舵機(jī)控制板是實(shí)現(xiàn)單片機(jī)控制舵機(jī)運(yùn)行的關(guān)鍵。例如,在控制單個(gè)舵機(jī)時(shí),舵機(jī)角度控制的設(shè)置值按#1P1500T100 的格式編程。其中,1表示舵機(jī)通道;1500表示舵機(jī)角度控制的設(shè)置值或指舵機(jī)旋轉(zhuǎn)的角度,一般在500~2500之間取值;100表示執(zhí)行時(shí)間,一般在100~9 999 ms之間取值。據(jù)此,單片機(jī)控制舵機(jī)角度的編程如下:

      void main()

      {

      Uart Initialization();//串行通信端口初始化

      Uart Send String(“#1P1500T100 ”);//S1號(hào)舵機(jī)在100 ms內(nèi)旋轉(zhuǎn)90°

      while(1);

      }

      void Uart Send String(uchar*pStr)//串行通信端口發(fā)送一個(gè)字符串

      {

      while(*pStr!=0)

      {

      SBUF=*pStr++

      while9=(T1=0);

      T1=0;

      }

      }

      4 結(jié)論

      1)通過(guò)設(shè)計(jì)制作的實(shí)物可知,文中提出的基于單片機(jī)的六自由度機(jī)械手臂設(shè)計(jì)方案具有可行性,且準(zhǔn)確度很高。對(duì)于基于單片機(jī)的六自由度機(jī)械手臂控制方案,直接從Arduino平臺(tái)上購(gòu)入舵機(jī)控制板,可使Arduino開(kāi)源硬件電路板的設(shè)計(jì)、制造與技術(shù)開(kāi)放優(yōu)勢(shì)得以充分發(fā)揮。據(jù)此,機(jī)械手臂控制系統(tǒng)以單片機(jī)系統(tǒng)為控制核心,可以快速完成方案設(shè)計(jì)、實(shí)物制作、硬件開(kāi)發(fā)及軟件編程。

      2)單片機(jī)與Arduino平臺(tái)為六自由度機(jī)械手臂控制系統(tǒng)的設(shè)計(jì)提供了一種難度更低的開(kāi)發(fā)設(shè)計(jì)思路,可快速完成機(jī)械手臂的設(shè)計(jì)制作。

      [1]張濤,王炎.基于單片機(jī)和Arduino平臺(tái)的六自由度可控機(jī)械手臂[J].電氣自動(dòng)化,2016(6):97-99;107.

      [2]林森,呂慶軍,李金欣.基于PLC控制的五自由度機(jī)械手臂驅(qū)動(dòng)電機(jī)研制[J].產(chǎn)業(yè)與科技論壇,2017(3):44-45.

      [3]王偉.淺析機(jī)械式自動(dòng)噴霧手臂的原理及方法[J].科學(xué)咨詢(xún),2013(1):51-52.

      [4]盛磊,黃永根.基于PC和單片機(jī)的物料自動(dòng)提取裝置設(shè)計(jì)與實(shí)現(xiàn)[J].科技創(chuàng)新與應(yīng)用,2013(19):10-11.

      [5]謝明江,韓建文.基于多路舵機(jī)的素描機(jī)械手臂設(shè)計(jì)[J].軟件,2013(4):88-89;108.

      [6]盧建設(shè),陳兆陽(yáng).基于單片機(jī)的多自由度機(jī)械手臂設(shè)計(jì)[J].科技創(chuàng)新與應(yīng)用,2013(3):115.

      猜你喜歡
      控制板舵機(jī)手臂
      關(guān)于某家用電器靜電彈簧控制板一拖多自動(dòng)檢測(cè)裝置的研究與應(yīng)用
      日用電器(2023年7期)2023-09-07 00:41:56
      一種橡膠減震裝置
      手臂上的抓痕
      含齒隙彈載舵機(jī)的全局反步模糊自適應(yīng)控制
      軌道交通AFC導(dǎo)向標(biāo)識(shí)控制板設(shè)計(jì)
      電子制作(2019年23期)2019-02-23 13:21:22
      基于dsPIC單片機(jī)的飛艇舵機(jī)控制實(shí)現(xiàn)
      電子制作(2018年1期)2018-04-04 01:48:14
      基于高速同步485總線通信的多通道舵機(jī)控制器設(shè)計(jì)
      章魚(yú)長(zhǎng)長(zhǎng)的手臂是用來(lái)做什么的
      抱手臂的娃娃
      一種機(jī)載SAR中心控制板的設(shè)計(jì)
      抚顺县| 寿光市| 建宁县| 岚皋县| 云南省| 铜鼓县| 贺兰县| 白玉县| 九台市| 瑞安市| 远安县| 河北区| 延寿县| 商南县| 长宁区| 息烽县| 塔河县| 邢台市| 东城区| 元江| 孟村| 玉田县| 正蓝旗| 斗六市| 阿拉尔市| 西昌市| 淮滨县| 松溪县| 石屏县| 仪陇县| 绥化市| 南雄市| 宁都县| 阿坝县| 仙游县| 株洲县| 西丰县| 河东区| 屯门区| 临邑县| 湘乡市|