《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于STM32的機(jī)械手運(yùn)動(dòng)控制器的實(shí)現(xiàn)
基于STM32的機(jī)械手運(yùn)動(dòng)控制器的實(shí)現(xiàn)
李向如,俞建定,汪 沁
(寧波大學(xué) 信息科學(xué)與工程學(xué)院,浙江 寧波 315211)
摘要: 本文以五軸機(jī)械手的設(shè)計(jì)實(shí)現(xiàn)為背景,提出了一種基于以Cortex-M4為內(nèi)核的微處理器STM32F407構(gòu)成的嵌入式運(yùn)動(dòng)控制器。本設(shè)計(jì)方案引入現(xiàn)場(chǎng)總線的通信方式,利用其高可靠性和高通用性的特點(diǎn),使得運(yùn)動(dòng)控制器具有高開放性和模塊化的特點(diǎn)。文中提供的以CAN總線控制多個(gè)私服電機(jī)的設(shè)計(jì)方法,使得硬件電路的設(shè)計(jì)大大簡化,也使得通信的效率和可靠性大幅提升。測(cè)試表明,控制器的性能穩(wěn)定可靠,能夠滿足機(jī)械手控制的需求,同時(shí)本設(shè)計(jì)對(duì)工業(yè)控制領(lǐng)域有著實(shí)際的應(yīng)用指導(dǎo)意義。
Abstract:
Key words :

  摘  要: 本文以五軸機(jī)械手的設(shè)計(jì)實(shí)現(xiàn)為背景,提出了一種基于以Cortex-M4為內(nèi)核的微處理器STM32F407構(gòu)成的嵌入式運(yùn)動(dòng)控制器。本設(shè)計(jì)方案引入現(xiàn)場(chǎng)總線的通信方式,利用其高可靠性和高通用性的特點(diǎn),使得運(yùn)動(dòng)控制器具有高開放性和模塊化的特點(diǎn)。文中提供的以CAN總線控制多個(gè)私服電機(jī)的設(shè)計(jì)方法,使得硬件電路的設(shè)計(jì)大大簡化,也使得通信的效率和可靠性大幅提升。測(cè)試表明,控制器的性能穩(wěn)定可靠,能夠滿足機(jī)械手控制的需求,同時(shí)本設(shè)計(jì)對(duì)工業(yè)控制領(lǐng)域有著實(shí)際的應(yīng)用指導(dǎo)意義。

  關(guān)鍵詞: CAN;多電機(jī)系統(tǒng)控制;現(xiàn)場(chǎng)總線

0 引言

  現(xiàn)代科學(xué)技術(shù)的不斷發(fā)展,極大地推動(dòng)了不同學(xué)科的交叉與滲透,導(dǎo)致了工程領(lǐng)域的技術(shù)革命與改造。機(jī)械手是近代自動(dòng)控制領(lǐng)域出現(xiàn)的一項(xiàng)新技術(shù),并已成為現(xiàn)代機(jī)械制造生產(chǎn)系統(tǒng)中的一個(gè)重要組成部分。運(yùn)動(dòng)控制技術(shù)作為其中的核心組成部分,得到長足的發(fā)展,目前已成為自動(dòng)化技術(shù)的一個(gè)重要分支[1]。隨著現(xiàn)代控制技術(shù)的提高,運(yùn)動(dòng)控制器的出現(xiàn)在某種意義上滿足了新型數(shù)控系統(tǒng)的標(biāo)準(zhǔn)化、開放性的要求,為各種工業(yè)設(shè)備、國防設(shè)備以及智能醫(yī)療裝置自動(dòng)化控制系統(tǒng)的研制和改造提供了一個(gè)統(tǒng)一的硬件平臺(tái)。運(yùn)動(dòng)控制器是運(yùn)動(dòng)控制技術(shù)中最具代表性的產(chǎn)品,其性能優(yōu)劣直接關(guān)系到生產(chǎn)的效率和質(zhì)量[2]。在此背景下,本文設(shè)計(jì)了一種基于STM32F407,采用以太網(wǎng)、CAN總線通信方式的五軸機(jī)械手運(yùn)動(dòng)控制器。

1 機(jī)械手運(yùn)動(dòng)控制器總體方案

  目前市場(chǎng)上的運(yùn)動(dòng)控制器依據(jù)不同的原則有不同的分類。按照運(yùn)動(dòng)控制器的核心技術(shù)方案,主要有基于模擬電路型、基于微控制單元型、基于可編程邏輯(FPGA/CLPD)型、基于數(shù)字信號(hào)處理(DSP)型等;按照運(yùn)動(dòng)控制器的系統(tǒng)結(jié)構(gòu),可分為基于總線的運(yùn)動(dòng)控制器和獨(dú)立應(yīng)用的運(yùn)動(dòng)控制器以及混合型的運(yùn)動(dòng)控制器[3]。本設(shè)計(jì)方案采用基于微控制單元型和現(xiàn)場(chǎng)總線的設(shè)計(jì)方案,機(jī)械手運(yùn)動(dòng)控制器的系統(tǒng)結(jié)構(gòu)如圖1所示。

001.jpg

  由上圖可以看出該系統(tǒng)主要是由手持器、控制電路、電機(jī)驅(qū)動(dòng)器及電機(jī)等幾部分組成。本文主要討論其中的控制電路的設(shè)計(jì),其運(yùn)行過程大致是手持器通過以太網(wǎng)接口把相應(yīng)的動(dòng)作指令發(fā)給控制電路,該過程采用LWIP協(xié)議。然后控制電路在接收到指令之后,開始解析指令,再通過CAN接口給伺服電機(jī)驅(qū)動(dòng)器發(fā)送指令,該過程采用CANopen協(xié)議。伺服驅(qū)動(dòng)器在得到指令后開始驅(qū)動(dòng)電機(jī),在電機(jī)到達(dá)指定位置后停止。在整個(gè)系統(tǒng)運(yùn)行過程中,如何實(shí)現(xiàn)對(duì)五個(gè)電機(jī)的實(shí)時(shí)控制是整個(gè)系統(tǒng)的關(guān)鍵。為了保證數(shù)據(jù)在傳輸過程中的可靠性和實(shí)時(shí)性,系統(tǒng)在設(shè)計(jì)時(shí)采用了CAN接口和以太網(wǎng)接口。

2 運(yùn)動(dòng)控制器的硬件電路設(shè)計(jì)

  由于本設(shè)計(jì)采用現(xiàn)場(chǎng)總線進(jìn)行通信,所以硬件電路得到很大簡化。本設(shè)計(jì)主要以STM32F407VGT6為處理中心,通過以太網(wǎng)與手持器通信,以CAN總線與電機(jī)驅(qū)動(dòng)器通信。由圖2可以看出,CANopen通信是在控制電路和電機(jī)驅(qū)動(dòng)器之間實(shí)現(xiàn)的。STM32F407VGT6基于高性能ARM CortexTM-M432位RISC內(nèi)核,可在高達(dá)168 MHz的頻率下工作。Cortex-M4內(nèi)核采用單一精密浮點(diǎn)單元(FPU),支持所有ARM單一精密數(shù)據(jù)處理指令和數(shù)據(jù)類型。該系列還能執(zhí)行全套DSP指令,執(zhí)行存儲(chǔ)保護(hù)單元(MPU),用以加強(qiáng)應(yīng)用安全性[4]。以太網(wǎng)采用的是PHY控制器DP83848,DP83848是一個(gè)強(qiáng)大的、功能齊全的單端口10/100物理層設(shè)備,提供低功耗管理,包括幾個(gè)智能功率下降狀態(tài)。這些低功耗模式可以提高整體產(chǎn)品的可靠性,減少功耗。CAN的硬件實(shí)現(xiàn)包括兩個(gè)部分:與OSI模型中數(shù)據(jù)鏈路層和物理層分別對(duì)應(yīng)的CAN控制器和CAN收發(fā)器。本文采用基于Cortex-M4內(nèi)核的STM32系列芯片作為控制電路的MCU,該芯片內(nèi)有CAN控制器,并且完全支持CAN 2.0協(xié)議。CAN收發(fā)器選用CTM1050T,其內(nèi)部集成了CAN隔離及收發(fā)器件,將CAN控制器的邏輯電平轉(zhuǎn)換為CAN總線的差分電平,同時(shí)具有隔離功能機(jī)ESD保護(hù)作用。運(yùn)動(dòng)控制器硬件結(jié)構(gòu)示意圖如圖2所示[5]。

002.jpg

3 運(yùn)動(dòng)控制器程序設(shè)計(jì)

  運(yùn)動(dòng)控制器的程序部分主要分為兩個(gè)模塊:控制模塊和通信模塊??刂颇K完成系統(tǒng)控制參數(shù)的計(jì)算和控制量的輸出;通信模塊一方面通過以太網(wǎng)接收手持器發(fā)送的動(dòng)作命令,另一方面根據(jù)命令通過CAN總線來控制電機(jī)運(yùn)動(dòng)。運(yùn)動(dòng)控制器程序是整個(gè)控制系統(tǒng)的核心,首先調(diào)用?滋C/OS-II操作系統(tǒng)中的函數(shù)完成任務(wù)調(diào)度和內(nèi)存管理,然后根據(jù)移植的LWIP協(xié)議完成以太網(wǎng)通信,最后是CAN總線和其他I/O的硬件配置。整個(gè)程序主要分為三個(gè)任務(wù):以太網(wǎng)通信、數(shù)據(jù)處理和CAN通信。以太網(wǎng)任務(wù)主要完成與手持器的通信,接收上面發(fā)送的數(shù)據(jù)與指令,采用查詢方式來完成數(shù)據(jù)的接收。數(shù)據(jù)處理任務(wù)根據(jù)以太網(wǎng)傳送過來的數(shù)據(jù)和指令選擇不同的數(shù)據(jù)處理子函數(shù),通過這些子函數(shù)來執(zhí)行相應(yīng)的動(dòng)作。CAN通信任務(wù)主要是與電機(jī)驅(qū)動(dòng)器進(jìn)行通信,把數(shù)據(jù)處理任務(wù)傳送過來的動(dòng)作指令轉(zhuǎn)換成CANopen協(xié)議的指令形式進(jìn)行通信。在這三個(gè)任務(wù)中,數(shù)據(jù)處理任務(wù)是最為核心部分,其流程圖如圖3所示。

003.jpg

  上圖中的模式是指機(jī)械手的運(yùn)動(dòng)模式,其任務(wù)就是根據(jù)以太網(wǎng)中的指令來判斷機(jī)械手需要在什么模式中運(yùn)行,然后調(diào)用子函數(shù)運(yùn)行以太網(wǎng)傳遞下來的數(shù)據(jù),再通過CAN向驅(qū)動(dòng)器發(fā)送指令。

4 結(jié)束語

  本文討論了多軸運(yùn)動(dòng)控制器的設(shè)計(jì),給出了基于ARM和現(xiàn)場(chǎng)總線相結(jié)合的控制方案。現(xiàn)場(chǎng)總線集數(shù)字通信、微機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)于一身,從根本上突破了傳統(tǒng)的點(diǎn)對(duì)點(diǎn)式的模擬信號(hào)或數(shù)字-模擬信號(hào)控制的局限,為真正的分散式控制集中式管理提供了技術(shù)保證。ARM處理器具有高性能、低功耗、體積小等特點(diǎn),兩者的結(jié)合可以縮短研發(fā)時(shí)間,提高研發(fā)效率,應(yīng)用前景十分廣泛。

  參考文獻(xiàn)

  [1] 郗志剛,周宏甫.運(yùn)動(dòng)控制器的發(fā)展與現(xiàn)狀[J].電氣傳動(dòng)自動(dòng)化,2005,27(3):10-14.

  [2] 李澄,趙輝,聶保錢.基于CANopen協(xié)議實(shí)現(xiàn)多電機(jī)系統(tǒng)實(shí)時(shí)控制[J].微電機(jī),2009(9):53-56.

  [3] 張峰.嵌入式多軸運(yùn)動(dòng)控制器的研究與開發(fā)[D].青島:山東科技大學(xué),2008.

  [4] 吳世名.基于ARM的三軸機(jī)械手控制系統(tǒng)研究與設(shè)計(jì)[D].杭州:浙江工業(yè)大學(xué),2013

  [5] 王峰.基于嵌入式系統(tǒng)的CANopen協(xié)議分析研究[D].天津:天津理工大學(xué),2010.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。