在线播放国产一区-在线播放国产一区二区三区-在线播放国产不卡免费视频-在线播放国产区-欧美另类综合-欧美乱xxxxx强

基于ARM的多自由度機械手設計

2017-01-05 11:40

  孫捷,劉瑄,有力,劉楚,徐蓮輝

  (華中師范大學 計算機學院,湖北 武漢 430070)

       摘要:機械手選用ARM芯片作為控制核心,主要是基于其運算能力強,外設接口豐富,可擴展成串行、并行、高速和低速等各種接口,也能很容易擴展成網絡接口,便于機械手組網協同工作。特別是ARM芯片的LCD接口和存儲器擴展接口能大大提高機械手的智能化程度,擴展LCD后能提供友好的人機交互界面,便于編程、維護和故障指示;大容量存儲器可為復雜運算和大數據存儲提供方便。ARM的這些優點為機械手的高度智能化提供了最有效的保證。

  關鍵詞:機械手;ARM芯片;伺服電機嵌入式;控制系統  

0引言

  機器人應用情況是展現一個國家工業自動化水平的重要標志。工業自動化中機械手發揮了相當大的作用,生產中應用機械手可以減輕勞動強度、保證產品質量、實現安全生產;尤其在高溫、高壓、易爆、有放射性或有毒性污染的場合中,機械手能代替人進行正常的工作。特別是近些年人工成本越來越高,企業都迫切需要采用一些自動化設備來降低人工成本,工業機械手在這方面有著廣闊的應用前景。

  常用的機械手多為6個自由度以下的。一般的專用機械手只有2~4個自由度,而通用機械手則多數為3~6個自由度。目前大多數工業機械手基本上都是采用單片機、PLC或DSP等控制的,單片機只能控制簡單的3個自由度以下的機械手;PLC控制的成本高,運算能力很差,對機械手運動軌跡控制能力差;應用DSP控制運算能力強,但其外設接口沒有ARM豐富[1],并且成本也比ARM高,一片DSP控制的機械手自由度也有限,6個自由度的、復雜一點的機械手都需要多個DSP芯片協同才能較好地完成控制。1機械部分設計與安裝  1.1 4個自由度設計[2]

  機械抓手選用型號為42HD2401100L,兩相4線步進電機,絲桿電機的行程為100 mm,步距角為1.8°,電流1.5 A N1504。利用其不同的行程可以設計不同力矩大小的抓手或夾具,此部分通過加工的一個連接軸,用螺絲鎖定在型號為42BYG行星減速步進電機上,配48 mm 步進電機,減速比5.18∶1,這樣控制機械抓手在360°范圍內旋轉。也就是機械手的第一自由度控制。

  第二自由度裝置負責將前面第一自由度的電機固定,并且控制運動一定的角度范圍,根據選用的蝸輪減速裝置結構,角度范圍為0~130°。電機為57步進電機57BYG250H,轉矩2.8 NM,步距角1.8°,機身長112 mm,蝸輪蝸桿減速機NMRV030,減速比1∶20。

  第三自由度使用的電機型號為86HS45 80,兩相步進,步距角1.8°,機身長度78 mm,電流4 A,保持轉矩4.24 NM。配備蝸輪減速裝置RV040,減速比1∶20。

  第四自由度主要負責平面內360°旋轉,采用與第二自由度一樣的電機,減速裝置的減速比為1∶30。該電機安裝在底座上。

  1.2電機驅動器選型及機械部分總成

  機械手有4個自由度和1個機械抓手,共使用了5個不同規格步進電機,其中86型號的電機使用的是F-MD860,其他的都使用DM542型,配備了兩個24 V功率為250 W的電源分別供電[3]。

圖像 001.png  

所有機械部分安裝完成后的實物圖如圖1所示,底座采用鍍鋅方管焊接成100 mm×100 mm的雙層鐵架構成,最下面的電機用角鐵固定,全部用自噴漆噴涂一遍用于防銹,將導線用伸縮塑膠管封固定,以防導線纏繞或損壞[4]。  

圖像 002.png

2機械手控制系統硬件設計

  機械手的控制核心采用功能強大的ARM芯片來進行設計,芯片型號為STM32F103C8T6,引腳數48。控制板接收上位機的串口通信數據,并根據數據協議轉變為控制步進電機的脈沖信號去驅動各個步進電機,控制板采用雙排針將所有GPIO全部引出,可以靈活擴展[5]。原理圖使用的是Altium Designed 10軟件進行繪制,ARM控制板CPU部分電路原理圖如圖2所示,時鐘、復位、電源電路原理圖如圖3所示,串口與JTAG電路原理圖如圖4所示[67]。

  機械手的具體指標參數如下:機構材料采用全金屬材料;驅動方式為步進伺服混合驅動;操作方式采用可編程單機工作/聯機工作;重復定位精度為±5 mm;最大展開半徑為600 mm;高度為1 000 mm;本體重量≤50 kg;電源為單相220 V;最大功率<200 W;動作范圍為第1自由度轉動-180°~ 180°,速度范圍在0.5°/s~50°/s;第2自由度轉動-65°~65°,速度范圍在0.5°/s~30°/s;第3自由度轉動-65°~65°,速度范圍在0.5°/s~30°/s;第4自由度轉動-180°~180°,速度范圍在0.5°/s~40°/s。3機械手控制系統軟件設計

  3.1ARM控制板軟件的設計

  開發環境使用的是Keil uVision3 + MDK3.50,ARM控制板上的程序主要包括串口通信的控制和脈沖波形的產生,主控程序流程圖如圖5所示[8]。STM32F103首先要進行初始化,主要有如下初始化內容:RCC_Configuration(void)、NVIC_Configuration(void)、GPIO_Configuration(void)、USART_Init(USART1, &USART_InitStructure)和TIM3_PWM_Init(u16 arr,u16 psc)。

  串行通信先要設置GPIO引腳,串口設置波特率為9 600 b/s,8 bit數據,2 bit停止位,不使用奇偶校驗位,無硬件流控制。最后還要按如下語句進行串口接收中斷初始化設置:  

NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQChannel;  

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;  

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;  

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;  

NVIC_Init(&NVIC_InitStructure)。

  為了保證ARM控制板能在接收命令參數后獨立控制機械手的運動,需要將數據存儲在ARM芯片的Flash存儲器中,然后再讀出、解析、執行命令,程序流程圖如圖6所示。  另外對于脈沖波形的產生,采用ARM芯片內自帶的硬件定時器單元來產生頻率可調的方波,定時器中斷初始化的程序如下:

  void Timerx_Init(u16 arr,u16 psc)

  {  RCC->APB1ENR|=1<<1;//TIM3時鐘使能

  TIM3->ARR=arr;//設定計數器自動重裝值,剛好1 ms

圖像 003.png

圖像 004.png

圖像 005.png

圖像 006.png

TIM3->PSC=psc;//預分頻器7200,得到10 kHz的計數時鐘  TIM3->DIER|=1<<0;//允許更新中斷  TIM3->DIER|=1<<6;//允許觸發中斷  TIM3->CR1|=0x01;//使能定時器3  MY_NVIC_Init(1,3,TIM3_IRQChannel,2);//搶占1,子優先級3,組2  }  周期時間較長的方波用上述定時器中斷溢出進行計時產生,這種方法產生的延時可以很長,適用于對各種動作速度的控制。對于運動較快的也可以直接利用STM32F103中的硬件PWM單元來產生方波,這種周期時間較短,其主要控制源程序如下:  void TIM3_PWM_Init(u16 arr,u16 psc)  {//此部分需手動修改IO口設置  RCC->APB1ENR|=11;//TIM3時鐘使能  RCC->APB2ENR|=13;//使能PORTB時鐘  GPIOB->CRL&=0XFF0FFFFF;//PB5輸出  GPIOB->CRL|=0X00B00000;//復用功能輸出  RCC->APB2ENR|=10;//開啟輔助時鐘  AFIO->MAPR&=0XFFFFF3FF;//清除MAPR的[11:10]  AFIO->MAPR|=1 11;//部分重映像,TIM3_CH2->PB5  TIM3->ARR=arr;//設定計數器自動重裝值  TIM3->PSC=psc;//預分頻器不分頻  TIM3->CCMR1|=7 12;//CH2 PWM2模式  TIM3->CCMR1|=1 11; //CH2預裝載使能

  TIM3->CCER|=1 4;//OC2 輸出使能

  TIM3->CR1=0x0080;//ARPE使能

  TIM3->CR1|=0x01;//使能定時器3  }

  3.2機械手上位機軟件的設計

  上位機程序主要完成機械手運動位置參數的設定[9],并且通過串口將數據傳送給ARM開發板,在調試過程中,將運動控制分為單軸運動的控制和三軸運動的控制。單軸控制界面如圖7,三軸運動控制界面如圖8,分別輸入x、y、z三個方向的起始和終止坐標,啟動后即可將數據傳送給下位機[10]。  

圖像 007.png

圖像 008.png

  在界面上還有串口通信數據監測窗口,主要顯示發出的命令和收到的數據是否正常,這樣能方便進行開發。

  在進入串行數據通信編程中,應用CSerialPort類進行編程,對串口、波特率、數據位數、停止位、奇偶校驗位等初始化,使用的主要函數為InitPort(),如下所示:  if(m_Port.InitPort(this,m_nCom,m_nBaud,m_cParity,m_nDatabits,m_nStopbits,m_dwCommEvents,512)){  m_Port.StartMonitoring();  m_CtrlOpenPort.SetWindowText("打開串口");  m_Port.ClosePort();//關閉串口  }elseAfxMessageBox("沒有發現此串口");  發送數據使用的主要語句如下:  sendcommand=m_strSendData;  m_Port.WriteToPort((LPCTSTR)sendcommand);//發送數據  接收數據在CSerialPort類中進行,可以中斷接收,但必須在主程序中進行數據識別,本文在LONG CICtestDlg::OnCommunication(WPARAM ch, LPARAM port)函數中專門來解析接收到的數據。4結束語  本項目主要是利用ARM系列的CPU作為控制核心,驅動一定數量的伺服機構來組裝一臺多個自由度的機械手裝置。與傳統的機械手控制系統相比,本系統具有體積小、功耗低、性能髙、成本低等優點,具有很好的發展前景。重復定位精度未達到預先估計的值,這與購買的電機和減速機的制造精度有關,并且步進電機在運行過程中還可能失步,因此還有許多方面需要改進,比如在各個電機運動控制時加裝編碼器來進行運動角度檢測,這樣可以改進精度方面的問題,也完全可以消除失步的問題。

  參考文獻

  [1] 李新榮,曲風娟.ARM9嵌入式系統設計與應用[M].北京:清華大學出版社,2011.

  [2] 李海標,甘鎮釗,楊碩.基于ARM9的機械手控制系統的設計[J].測控技術,2015,34(8):82 85.

  [3] 耶曉東.基于單片機的簡易機械手的設計[J].微計算機信息,2009,25(14):230 231.

  [4] 孫宴偉.五軸注塑機機械手示教系統的設計及實現[D].西安:西安電子科技大學,2013.

  [5] 楊振聲.工業機械手控制系統硬件設計[D].西安:西安電子科技大學,2014.

  [6] 向丹,王文濤,原健鐘,等.基于ARM嵌入式的三維機械手遠程控制系統設計[J].電子與封裝,2009,9(6):21 24.

  [7] 楊莉,李正明,劉寶森.基于ARM9的嵌入式數控銑床控制系統的設計[J].機床電氣,2008,35(2):8 11.

  [8] 李坤,楊家軍.5自由度焊接機械手的運動學研究[J].機械工程師,2007(4):20 21.

  [9] 何洋.三軸伺服注塑機機械手上位機控制器的設計與實現[D].杭州:浙江大學,2012.

  [10] 李濤.伺服機械手手控器軟件設計及其實現[D].西安:西安電子科技大學,2013.


主站蜘蛛池模板: 日本高清www片 | 国产亚洲高清不卡在线观看 | 成人免费手机在线看网站 | 在线观看免费黄视频 | 国产成人黄网址在线视频 | 中文字幕人成乱码在线观看 | 黄色三级毛片网站 | 在线精品视频免费观看 | 国产成人在线播放 | 久久国产免费观看精品1 | 成人亲子乱子伦视频 | 国产成人精品日本亚洲语音2 | 亚洲一级理论片 | 中文字幕视频网 | 99久久精品国产9999高清 | 欧美亚洲欧美区 | 中文字幕毛片 | 99久久国产综合精品网成人影院 | 久青草免费在线视频 | 人成免费a级毛片 | 欧美一区二区日韩一区二区 | 神马三级我不卡 | 亚州视频一区 | 久久免费影院 | 一级毛片私人影院老司机 | 曰韩一级毛片 | 男人天堂怡红院 | 国内精品影院久久久久 | 亚洲精品一区亚洲精品 | 天空在线观看免费完整 | 免费99热在线观看 | 国产亚洲女在线精品 | 亚洲精品国产综合久久一线 | 亚洲第一免费视频 | 性做久久久久久久免费看 | 香港三级日本三级三级人妇 | 99久久国产综合精品成人影院 | 色咪味成人网 | 成人毛片免费观看视频 | 国产精品成aⅴ人片在线观看 | 亚洲国产精品日韩高清秒播 |