• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于ARM和FPGA的軟體機(jī)器人的CAN總線運(yùn)動(dòng)控制器的設(shè)計(jì)

    2020-08-03 04:14:38袁俊杰朱鵬程
    科學(xué)技術(shù)與工程 2020年20期
    關(guān)鍵詞:開發(fā)板驅(qū)動(dòng)器上位

    袁俊杰, 朱鵬程

    (北方工業(yè)大學(xué)機(jī)械與材料工程學(xué)院,北京 100043)

    軟體機(jī)器人有別于傳統(tǒng)剛體機(jī)器人,其具有眾多優(yōu)點(diǎn),具有生物柔性,能夠通過蠕動(dòng)、爬行、扭動(dòng)穿過狹小的空間實(shí)現(xiàn)靈活避障或者實(shí)現(xiàn)柔順抓取等操作,在非結(jié)構(gòu)化環(huán)境中應(yīng)用前景廣泛[1],于是需要一種適用于軟體機(jī)器人運(yùn)動(dòng)控制的運(yùn)動(dòng)控制器。

    到目前為止,通用的運(yùn)動(dòng)控制器從結(jié)構(gòu)上可分為以下3大類[2-3]。

    (1)標(biāo)準(zhǔn)總線式運(yùn)動(dòng)控制器。這種運(yùn)動(dòng)控制器大多是基于計(jì)算機(jī)標(biāo)準(zhǔn)總線的,其相對于計(jì)算機(jī)是獨(dú)立的、具有開放式體系結(jié)構(gòu)。其大多使用數(shù)字信號(hào)處理器(digital signal processor,DSP)芯片或微機(jī)芯片作為處理器,可實(shí)現(xiàn)運(yùn)動(dòng)規(guī)劃、高速插補(bǔ)、伺服濾波和電機(jī)驅(qū)動(dòng)、I/O通用接口等功能,并且用戶可以使用其豐富的函數(shù)庫,根據(jù)自己的需求,在不同平臺(tái)下自行開發(fā)相應(yīng)軟件來組成控制系統(tǒng)。

    (2)開放式運(yùn)動(dòng)控制器。這種運(yùn)動(dòng)控制器靈活性好,將控制軟件安裝在計(jì)算機(jī)中,再加上伺服驅(qū)動(dòng)器、通用I/O接口等硬件電路,就可以在操作系統(tǒng)支持下,利用開放式的運(yùn)動(dòng)控制器內(nèi)核,開發(fā)所需要的各種類型的高性能運(yùn)動(dòng)控制系統(tǒng),因此它可以提供給用戶更多的選擇。其優(yōu)點(diǎn)是開發(fā)設(shè)計(jì)成本相對較低,可以給用戶提供更加個(gè)性化的開發(fā)平臺(tái)。

    (3)嵌入式運(yùn)動(dòng)控制器。這種運(yùn)動(dòng)控制器能夠獨(dú)立運(yùn)行,其特點(diǎn)是把計(jì)算機(jī)嵌入到運(yùn)動(dòng)控制器中。而它們之間的通信則是依靠計(jì)算機(jī)總線,該總線實(shí)質(zhì)上是計(jì)算機(jī)標(biāo)準(zhǔn)總線一種變化。對于標(biāo)準(zhǔn)總線來說,其采用了更加通用的總線連接方式,在工業(yè)生產(chǎn)中有更廣泛的應(yīng)用。在實(shí)際使用中,采用如控制器局域網(wǎng)絡(luò) (controller area network,CAN)總線、以太網(wǎng)、串口等現(xiàn)場通信接口來連接計(jì)算機(jī)或控制面板以實(shí)現(xiàn)對該種運(yùn)動(dòng)控制器的上位機(jī)控制。

    鑒于以上總結(jié)分析,對基于STM32和FPGA(field-programmable gate array)的嵌入式運(yùn)動(dòng)控制器進(jìn)行了研究和設(shè)計(jì),該嵌入式硬件架構(gòu)能充分發(fā)揮它們的優(yōu)點(diǎn),可以同時(shí)控制多個(gè)電機(jī),目前很少應(yīng)用在軟體機(jī)器人控制中。對于二者之間的通信則采用可變靜態(tài)存儲(chǔ)控制器(flexible static memory controller,FSMC)總線來實(shí)現(xiàn)數(shù)據(jù)信息的交換與傳輸,并采用CAN總線來實(shí)現(xiàn)與上位機(jī)通信,該總線具有實(shí)現(xiàn)連接方便、靈活度高、實(shí)時(shí)性強(qiáng)等特點(diǎn)。

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

    控制器以基于Cortex-M4處理器為核心的STM32F407芯片進(jìn)行通信、數(shù)據(jù)處理等操作,它具有多種集成功能,滿足系統(tǒng)的設(shè)計(jì)要求。FPGA作為該控制器的脈沖發(fā)生和數(shù)據(jù)采集機(jī)構(gòu),則利用其高速性和并行性進(jìn)行速度控制、位置確定和算法實(shí)現(xiàn)??刂破鞯目傮w構(gòu)造如圖1所示。

    圖1 總體方案結(jié)構(gòu)Fig.1 Overall schematic

    控制器主要由上位機(jī)、STM32開發(fā)板控制模塊、FPGA開發(fā)板脈沖發(fā)生模塊、伺服驅(qū)動(dòng)器等部分組成。其中每個(gè)部分的組成和相應(yīng)的作用是:上位機(jī)具有信息傳輸和CAN通信的作用,CAN通信具有大量數(shù)據(jù)高速通信的優(yōu)點(diǎn),通過上位機(jī)可向STM32開發(fā)板發(fā)送指令,如實(shí)現(xiàn)電機(jī)的啟動(dòng)、停止、正反轉(zhuǎn)等;STM32開發(fā)板控制模塊與FPGA開發(fā)板脈沖發(fā)生模塊,通過I/O接口來進(jìn)行兩者之間的數(shù)據(jù)發(fā)送和讀取,STM32開發(fā)板根據(jù)上位機(jī)傳輸過來的的不同命令和相關(guān)數(shù)據(jù)進(jìn)行對應(yīng)的數(shù)據(jù)分析和處理,然后傳輸給FPGA開發(fā)板,與此同時(shí)也要從FPGA開發(fā)板上依次讀取直流伺服電機(jī)在運(yùn)動(dòng)過程當(dāng)中相應(yīng)的速度和位置等參數(shù);伺服驅(qū)動(dòng)器通過脈沖寬度調(diào)制來實(shí)現(xiàn)直流伺服電機(jī)的精確控制,如正反轉(zhuǎn)、加減速、啟動(dòng)、停止等??刂破鞑捎弥绷饔兴⑺欧姍C(jī),其具有成本較低、結(jié)構(gòu)簡單、控制方便、啟動(dòng)轉(zhuǎn)矩大、調(diào)速范圍寬等優(yōu)點(diǎn),因此適合作為控制器的運(yùn)動(dòng)執(zhí)行部分[4-5]。

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

    在對控制器進(jìn)行硬件設(shè)計(jì)時(shí),其核心器件有STM32開發(fā)板、FPGA開發(fā)板、伺服驅(qū)動(dòng)器、CAN通信模塊和外圍電路等??紤]到在制作和使用過程中的成本和性能方面,現(xiàn)對各個(gè)模塊進(jìn)行選型,以達(dá)到合理與合適的效果。其中STM32開發(fā)板選擇基于Cortex-M4內(nèi)核的STM32F407IGT6,FPGA開發(fā)板則選用Xilinx公司的AX7102,直流伺服電機(jī)選擇MAXON MOTOR RE30。

    每個(gè)開發(fā)板的最小系統(tǒng)能夠正常運(yùn)行是硬件設(shè)計(jì)的基礎(chǔ),而每個(gè)最小系統(tǒng)都是由很多模塊組成的,且都有對應(yīng)的功能。電源模塊為該系統(tǒng)提供電源,晶振模塊為該系統(tǒng)提供基本的時(shí)鐘信號(hào),下載模塊則負(fù)責(zé)將程序下載到該系統(tǒng)中,I/O接口模塊是為了進(jìn)行數(shù)據(jù)的輸入和輸出,復(fù)位模塊的作用是使CPU恢復(fù)到原始狀態(tài),等等。不同的是,FPGA的最小系統(tǒng)中芯片外圍濾波電路模塊的功能是濾去電壓中的紋波、配置電路模塊以達(dá)到實(shí)現(xiàn)相應(yīng)的功能、存儲(chǔ)模塊用以數(shù)據(jù)存儲(chǔ)等。STM32的最小系統(tǒng)則還有通信模塊以實(shí)現(xiàn)上位機(jī)與開發(fā)板之間的通信。下面就下載模塊、接口模塊、通信模塊進(jìn)行詳細(xì)描述[6]。

    2.1 STM32模塊電路

    2.1.1 仿真器接口模塊

    STM32有2種下載模式,分別是串行調(diào)試(SWD)模式和聯(lián)合測試工作組(JTAG)模式。本文設(shè)計(jì)的系統(tǒng)采用JTAG模式,如圖2所示。JTAG作為一種邊界掃描技術(shù),主要被用來做芯片內(nèi)部測試??刂葡到y(tǒng)設(shè)計(jì)時(shí)選用的JTAG調(diào)試口針數(shù)為20針。由于開發(fā)板預(yù)留的是SWD接口,則通過ST-Link實(shí)現(xiàn)JTAG與SWD的轉(zhuǎn)換,這里SWD接口的頻率使用4 MHz。在進(jìn)行代碼調(diào)試時(shí),通過ST-Link將上位機(jī)與STM32微控制器開發(fā)板相連,進(jìn)而燒寫程序。

    圖2 仿真器接口模塊Fig.2 Simulator interface module

    2.1.2 CAN通信模塊

    CAN是一種異步通信,只有CAN_High和CAN_Low兩條信號(hào)線,共同構(gòu)成一組差分信號(hào)線,以差分信號(hào)的形式進(jìn)行通信。由于上位機(jī)與STM32通過CAN進(jìn)行通信需要USB轉(zhuǎn)CAN模塊[7],這里選用若比特公司的USB2CAN適配器V2,其工作原理如圖3所示。

    圖3 CAN通信原理Fig.3 Principle of CAN communication

    STM32開發(fā)板具有內(nèi)置的CAN控制器,即bxCAN,它支持CAN協(xié)議2.0A和CAN協(xié)議2.0B,具有3個(gè)發(fā)送郵箱,2個(gè)3級(jí)深度的接收FIFO(first input first output,先進(jìn)先出),14個(gè)可變位寬的過濾器組,波特率最高為1 Mbit/s[8]。CAN通信模塊如圖4所示。

    圖4 CAN通信模塊Fig.4 CAN communication module

    2.2 STM32與FPGA接口模塊

    STM32開發(fā)板與FPGA開發(fā)板的接口電路的作用是實(shí)現(xiàn)二者之間的通信以及數(shù)據(jù)傳輸。在控制器設(shè)計(jì)過程中,控制信號(hào)、地址信號(hào)和伺服電機(jī)運(yùn)行參數(shù)是STM32開發(fā)板與FPGA開發(fā)板之間相互傳輸?shù)闹饕獢?shù)據(jù)。在輸入/輸出端口中有4組引腳被使用到,分別是PD、PE、PF、PG中的部分引腳,接口模塊的具體設(shè)計(jì)如圖5所示。

    圖5 STM32與FPGA接口模塊Fig.5 Interface module between STM32 and FPGA

    在該設(shè)計(jì)中,FSMC總線用來實(shí)現(xiàn)STM32開發(fā)板和FPGA開發(fā)板之間數(shù)據(jù)的傳輸,所以PE0、PE1、PD4、PD5、PG10作為FSMC總線端口。除此以外,STM32還將部分端口配置為步進(jìn)電機(jī)驅(qū)動(dòng)器方向信號(hào)的輸出端口,FPGA的脈沖輸出信號(hào)輸入至步進(jìn)電機(jī)驅(qū)動(dòng)器。

    2.3 伺服驅(qū)動(dòng)器

    作為自動(dòng)調(diào)速系統(tǒng)中的一部分,伺服驅(qū)動(dòng)器是用來調(diào)節(jié)電動(dòng)機(jī)的轉(zhuǎn)速的[9]。采用的是COPLEY公司的Accelnet型伺服驅(qū)動(dòng)器。該驅(qū)動(dòng)器的組成部分有電源電路、繼電器板、主控板、驅(qū)動(dòng)板及功率器件。伺服驅(qū)動(dòng)器的工作原理如圖6所示。

    圖6 伺服驅(qū)動(dòng)器工作原理Fig.6 Working principle of servo driver

    電源電路通過把外部輸入的20~55 V直流電轉(zhuǎn)換為相應(yīng)的直流電,為繼電器板、主控板、驅(qū)動(dòng)板和功率器件提供直流電源。繼電器板的作用包括兩個(gè)方面,一方面是提供相應(yīng)的直流電,另一方面是完成控制信號(hào)、轉(zhuǎn)速檢測信號(hào)和轉(zhuǎn)子位置檢測信號(hào)之間的傳遞。該伺服驅(qū)動(dòng)器的核心部分是主控板,主控板則采用數(shù)字信號(hào)處理器作為控制核心[10]。功率器件采用智能功率模塊(intelligent power module,IPM)為核心的驅(qū)動(dòng)電路,即主電路,采用三相全控橋式逆變電路,在主回路中還加入軟啟動(dòng)電路,以減小啟動(dòng)過程對驅(qū)動(dòng)器的沖擊。

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

    在軟件設(shè)計(jì)部分主要涉及3個(gè)模塊,分別是STM32與上位機(jī)通信模塊、FPGA與STM32通信模塊和直流電機(jī)運(yùn)動(dòng)中的加減速模塊,如圖7所示。

    3.1 STM32與上位機(jī)通信模塊

    關(guān)于STM32與上位機(jī)的CAN通信在硬件設(shè)計(jì)部分已經(jīng)介紹過了,這里只對軟件設(shè)計(jì)進(jìn)行詳細(xì)介紹,軟件部分是基于CAN總線來實(shí)現(xiàn)STM32與上位機(jī)的通信,主要任務(wù)是只要進(jìn)行CAN初始化和數(shù)據(jù)發(fā)送即可。本設(shè)計(jì)初始化模塊中只需要對 CAN 工作方式進(jìn)行配置,而不需要對過濾器進(jìn)行特殊的配置,部分初始化程序如下。

    /* CAN register init(CAN寄存器初始化)*/

    CAN_DeInit();

    CAN_StructInit(&CAN_InitStructure);

    /* CAN cell init(CAN單元初始化)*/

    CAN_InitStructure.CAN_TTCM=DISABLE;

    ……

    CAN_InitStructure.CAN_Mode=CAN_Mode_Normal; //工作模式選擇

    CAN_InitStructure.CAN_SJW=CAN_SJW_1tq;

    CAN_InitStructure.CAN_BS1=CAN_BS1_5tq;

    CAN_InitStructure.CAN_BS2=CAN_BS2_1tq;

    CAN_InitStructure.CAN_Prescaler=6;//波特率的設(shè)定

    CAN_Init(&CAN_InitStructure);

    /* CAN filter init(CAN過濾器初始化)*/

    CAN_FilterInitStructure.CAN_FilterNumber=0;

    ……

    CAN_FilterInitStructure.CAN_FilterActivation=ENABLE;

    CAN_FilterInit(&CAN_FilterInitStructure);

    其中波特率的配置在工作方式配置中是最主要的,設(shè)計(jì)中使用的開發(fā)板中CAN是掛APB1時(shí)鐘上的,其頻率為42 MHz。由波特率的計(jì)算公式,波特率=1/正常的位時(shí)間,正常的位時(shí)間=1tq+tBS1+tBS2。但是這樣計(jì)算的為理論值,且難以計(jì)算和理解,在實(shí)際設(shè)置中有簡單公式(1),現(xiàn)欲得到1 Mbit/s的波特率,計(jì)算如下:

    式(1)中:CANclock為APB總線頻率;prescler為APB總線時(shí)鐘6分頻;tq、tBS1、tBS2分別對應(yīng)1個(gè)、5個(gè)和1個(gè)tcan時(shí)鐘周期

    3.2 FPGA與STM32通信模塊

    在硬件設(shè)計(jì)中已經(jīng)介紹了STM32和FPGA使用I/O口連接,軟件設(shè)計(jì)采用FSMC總線實(shí)現(xiàn)二者的數(shù)據(jù)信息的交換。

    STM32和FPGA的通信既要完成STM32向FPGA 下傳數(shù)據(jù)的工作,還要達(dá)到STM32從FPGA中回讀數(shù)據(jù)的目的。所以兩者的通信包含了接收數(shù)據(jù)和傳送數(shù)據(jù)兩個(gè)部分。在本文所設(shè)計(jì)的控制系統(tǒng)中,為了能夠?qū)崿F(xiàn)同步控制多臺(tái)步進(jìn)電機(jī),使用了FSMC來實(shí)現(xiàn)STM32和FPGA兩者之間的通信。

    ST公司為用戶開發(fā)提供了完整、高效的工具和固件庫,STM32固件庫中擁有FSMC的SRAM控制器相應(yīng)的操作固件,其中含有1個(gè)數(shù)據(jù)結(jié)構(gòu)和3個(gè)函數(shù)。

    FSMC_NORSRAMInitStructure;//調(diào)用庫函數(shù);

    RCC_Configuration();//時(shí)鐘選擇;

    NVIC_Configuration();//中斷優(yōu)先級(jí);

    FSMC_GPIO_Configuration(); //連接IO口初始化;

    FSMC_SRAM_Init(); //FSMC配置;

    USART_Initial(); //UART1端口配置。

    本設(shè)計(jì)初始化模塊中只需要對FSMC工作方式進(jìn)行配置,部分STM32初始化程序如下:

    FSMC_NORSRAMInitTypeDefFSMC_NORSRAMIni-tStructure;//定義FSMC初始化的結(jié)構(gòu)體變量

    FSMC_NORSRAMTimingInitTypeDefreadWrite-Timing; //用來設(shè)置FSMC讀時(shí)序和寫時(shí)序的指針變量

    GPIO_InitTypeDefGPIO_InitStructure; //初始化FSMC總線的IO口。

    部分FPGA程序如下:

    assign rd=!(csn & rdn); //獲取讀脈沖

    assign wr=!(csn & wrn) ; //獲取寫脈沖

    assign db=rd? indata:16′hzzzz; /*當(dāng)不進(jìn)行讀寫操作時(shí)db=indata;

    當(dāng)進(jìn)行寫操作時(shí)db=16′hzzzz;當(dāng)進(jìn)行讀操作時(shí)db=indata*/

    3.3 加減速模塊

    在伺服電機(jī)從穩(wěn)定運(yùn)行狀態(tài)轉(zhuǎn)換為停止?fàn)顟B(tài)時(shí),如果直接停止,會(huì)因?yàn)閼T性發(fā)生過沖的情況。電機(jī)運(yùn)行要經(jīng)過啟動(dòng)、加速、恒速、減速、停止的幾個(gè)階段,這其中加減速的要求是既能夠在最短時(shí)間內(nèi)達(dá)到穩(wěn)定或者停止的要求,又不能產(chǎn)生失步或者過沖的情況。

    在控制電機(jī)過程中,對電機(jī)進(jìn)行加減速控制常用的方法主要有梯形曲線法、S型曲線法、指數(shù)曲線法、拋物曲線法等。S型曲線加減速法是一種沖擊力小、柔性程度較好的控制方法,能讓電機(jī)性能得到充分發(fā)揮,減小沖擊振動(dòng)[11]。S型曲線加減速法作用方法是通過改變運(yùn)動(dòng)過程中加速度的大小,使其在不同階段擁有不同的加速度,來大幅度地減小沖擊力[12],如圖8所示。

    根據(jù)加速度大小的變化,可以將加減速過程分為7段(即m1~m7)。由圖8可知速度v、加速度a、加加速度j以及勻加速階段的加速度值為A、勻減速階段的加速度值為-D,Ti(i=1,2,3,…,7)表示每個(gè)階段的運(yùn)動(dòng)時(shí)間,ti(i=0,1,2,…,7)為每個(gè)階段過渡點(diǎn)的時(shí)刻,τi(i=1,2,3,…,7)為以每個(gè)階段起始點(diǎn)作為零點(diǎn)的時(shí)間,其中τi=ti-ti-1(i=1,2,3,…,7)。加速度a、電機(jī)速度v與時(shí)間t的關(guān)系如式(2)和式(3)所示,vi(i=0,1,2,…,7)、ai(i=1,2,3,…,7)分別為m1~m7每個(gè)階段結(jié)束時(shí)的速度、加速度值。

    圖8 S曲線加減速圖Fig.8 S curve acceleration and deceleration diagram

    對加減速模塊進(jìn)行程序設(shè)計(jì)并通過FPGA的編程軟件Vivado編程后在仿真軟件Modelsim上進(jìn)行仿真,為了加快仿真速度,特意修改了部分參數(shù),但不影響仿真結(jié)果,其仿真結(jié)果如圖9所示。由仿真結(jié)果可以看出,該加減速模塊構(gòu)造滿足速度和加速度曲線的構(gòu)造,滿足速度變化平穩(wěn)、加速連續(xù)等條件,起始和終止速度與要求速度一致,在穩(wěn)定運(yùn)行階段其加速度為0,加加速度可以根據(jù)實(shí)際需要隨時(shí)調(diào)整,通用性很好。

    圖9 S加減速的仿真波形Fig.9 Simulated waveform of S acceleration and deceleration

    4 實(shí)驗(yàn)驗(yàn)證

    為驗(yàn)證該運(yùn)動(dòng)控制器的控制效果和控制精度,現(xiàn)對其控制進(jìn)行實(shí)驗(yàn)驗(yàn)證。實(shí)驗(yàn)驗(yàn)證是在自行設(shè)計(jì)制作的運(yùn)動(dòng)平臺(tái)上進(jìn)行的,該運(yùn)動(dòng)實(shí)驗(yàn)平臺(tái)運(yùn)動(dòng)執(zhí)行部分采用的是彈性比較好的彈簧,中間則是支撐彈簧,其中3個(gè)電機(jī)與3根纜繩相連,纜繩的另一端則連接在軟體機(jī)器人的單個(gè)關(guān)節(jié)上,通過控制器控制不同電機(jī)的啟停運(yùn)轉(zhuǎn),來實(shí)現(xiàn)該節(jié)彈簧的彎曲,并可以實(shí)現(xiàn)彈簧在不同方向的運(yùn)動(dòng)??刂破饕曰贑ortex-M4處理器為核心的STM32F407芯片和Xilinx公司的AX7102的FPGA開發(fā)板,進(jìn)行通信、數(shù)據(jù)處理、位置確定和算法實(shí)現(xiàn)等操作。軟體機(jī)器人運(yùn)動(dòng)平臺(tái)如圖10所示。

    圖10 軟體機(jī)器人運(yùn)動(dòng)平臺(tái)Fig.10 Software robot motion platform

    通過控制算法和對應(yīng)的數(shù)據(jù)計(jì)算,在運(yùn)動(dòng)平臺(tái)按照預(yù)先設(shè)定的運(yùn)動(dòng)方式進(jìn)行運(yùn)動(dòng)。通過同時(shí)控制多個(gè)電機(jī)進(jìn)行協(xié)同運(yùn)動(dòng),其中電機(jī)轉(zhuǎn)速為2 r/min,以中間支撐軸為原點(diǎn),可以得到在最終運(yùn)動(dòng)狀態(tài)下機(jī)器人彎曲了約45°,纜繩縮短約5 cm。具體運(yùn)動(dòng)實(shí)驗(yàn)過程如圖11所示。

    圖11 軟體機(jī)器人運(yùn)動(dòng)實(shí)驗(yàn)Fig.11 Motion experiment of software robot

    圖11僅展示機(jī)器人首節(jié)運(yùn)動(dòng),其中圖11(a)記為機(jī)器人起始狀態(tài),圖11(b)、圖11(c)、圖11(d)分別對應(yīng)5、15、30 s時(shí)運(yùn)動(dòng)狀態(tài),其中圖11(d)即為最終運(yùn)動(dòng)狀態(tài)。由運(yùn)動(dòng)狀態(tài)結(jié)果可以得到,開發(fā)板在控制電機(jī)運(yùn)動(dòng)過程中整體運(yùn)行平穩(wěn),運(yùn)動(dòng)速度有變化,在按照設(shè)定的軌跡運(yùn)動(dòng)時(shí)運(yùn)動(dòng)精度較高,基本實(shí)現(xiàn)了設(shè)想的功能,使得該實(shí)驗(yàn)成功實(shí)現(xiàn)。

    5 結(jié)論

    對于目前軟體機(jī)器人運(yùn)動(dòng)控制難度大、精度低、協(xié)同控制多電機(jī)難以實(shí)現(xiàn)同步性等問題,提出采用基于ARM和FPGA的軟體機(jī)器人的CAN總線運(yùn)動(dòng)控制器,得到以下結(jié)論。

    (1)實(shí)現(xiàn)STM32與FPGA接口通信,STM32開發(fā)板根據(jù)上位機(jī)傳輸過來的不同命令和相關(guān)數(shù)據(jù)進(jìn)行對應(yīng)的數(shù)據(jù)分析和處理,然后傳輸給FPGA開發(fā)板,與此同時(shí)也要從FPGA開發(fā)板上依次讀取直流伺服電機(jī)在運(yùn)動(dòng)過程中相應(yīng)的速度和位置等參數(shù);伺服驅(qū)動(dòng)器通過脈沖寬度調(diào)制來實(shí)現(xiàn)直流伺服電機(jī)的精確控制。

    (2)實(shí)現(xiàn)STM32開發(fā)板與上位機(jī)之間的通信,這里采用CAN總線,因?yàn)镃AN總線可以進(jìn)行大量數(shù)據(jù)的高速通信,適合對多電機(jī)進(jìn)行協(xié)同控制,并可大量傳輸下位機(jī)采集到的數(shù)據(jù)。

    (3)在加減速模塊中,采用S型曲線加減速法有利于減小電機(jī)的沖擊,實(shí)現(xiàn)機(jī)器人整體平穩(wěn)運(yùn)行,作用方法是通過改變運(yùn)動(dòng)過程中加速度的大小,使其在不同階段擁有不同的加速度,來大幅度減小沖擊力。

    (4)根據(jù)自行設(shè)計(jì)加工的運(yùn)動(dòng)對軟體機(jī)器人的運(yùn)動(dòng)控制進(jìn)行了實(shí)驗(yàn)驗(yàn)證,實(shí)驗(yàn)結(jié)果表明,該控制器整體協(xié)同控制性能較好,能比較理想地實(shí)現(xiàn)預(yù)期的運(yùn)動(dòng)。

    由于控制算法部分并沒有介紹,在實(shí)際控制過程中與控制算法中的仿真存在誤差,所以下一步會(huì)對控制算法和機(jī)械結(jié)構(gòu)進(jìn)行優(yōu)化,以期望實(shí)現(xiàn)更理想的運(yùn)動(dòng)。

    猜你喜歡
    開發(fā)板驅(qū)動(dòng)器上位
    藏起驅(qū)動(dòng)器號(hào)確保數(shù)據(jù)安全
    電腦愛好者(2020年6期)2020-05-26 09:27:33
    特斯拉 風(fēng)云之老阿姨上位
    車迷(2018年12期)2018-07-26 00:42:22
    Microchip最新推出兩款PIC32 Curiosity開發(fā)板
    淺析單片機(jī)開發(fā)板的設(shè)計(jì)與制作
    電子制作(2017年22期)2017-02-02 07:10:14
    “三扶”齊上位 決戰(zhàn)必打贏
    基于ZigBee和VC上位機(jī)的教室智能監(jiān)測管理系統(tǒng)
    壓電陶瓷驅(qū)動(dòng)器的遲滯特性
    以新思路促推現(xiàn)代農(nóng)業(yè)上位
    SiC基和Si基永磁同步電動(dòng)機(jī)驅(qū)動(dòng)器的比較
    Mouser為您呈上開發(fā)關(guān)鍵之STMicroelectronics Nucleo開發(fā)板
    饶阳县| 龙山县| 平阴县| 呼玛县| 泾川县| 怀远县| 灯塔市| 益阳市| 漳浦县| 什邡市| 名山县| 南昌县| 神池县| 唐海县| 于都县| 玛沁县| 施甸县| 新营市| 平乐县| 宜昌市| 横峰县| 新宾| 玉门市| 鸡东县| 泰来县| 恩施市| 称多县| 开鲁县| 伊宁县| 承德县| 灌阳县| 兴安县| 南宁市| 南江县| 大厂| 凤阳县| 洞口县| 新晃| 湖北省| 枣强县| 阜宁县|