• 
    

    
    

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

      基于FPGA 的步進(jìn)電機(jī)驅(qū)動控制系統(tǒng)的研究與設(shè)計

      2023-06-21 05:00:16向云峰王秀蓮
      南方農(nóng)機(jī) 2023年13期
      關(guān)鍵詞:編碼器串口角度

      向云峰 ,王秀蓮

      (沈陽理工大學(xué)自動化與電氣工程學(xué)院,遼寧 沈陽 110159)

      0 引言

      步進(jìn)電機(jī)是一種用電脈沖信號控制,并將其轉(zhuǎn)換成角位移的執(zhí)行機(jī)構(gòu)[1]。由于其具有低成本、易控制、無累計誤差等優(yōu)點(diǎn),其一直以來被廣泛應(yīng)用于各個領(lǐng)域,如工業(yè)、農(nóng)業(yè)、航空航天等。隨著控制系統(tǒng)的復(fù)雜化以及動態(tài)性能要求的提高,常用的開環(huán)控制在定位系統(tǒng)中存在振蕩、跟蹤精度低的問題,對系統(tǒng)突加負(fù)載可能導(dǎo)致出現(xiàn)失步、堵轉(zhuǎn)的現(xiàn)象。

      為解決上述問題,近年來對步進(jìn)電機(jī)的閉環(huán)控制的研究愈加火熱。在實際設(shè)計步進(jìn)電機(jī)驅(qū)動控制中,大多數(shù)采用單片機(jī)進(jìn)行驅(qū)動。呂穎利等[2]、余智勇等[3]采用單片機(jī)研究步進(jìn)電機(jī)控制系統(tǒng),實現(xiàn)簡單且易于控制。但眾多應(yīng)用實踐顯示,單片機(jī)在一些復(fù)雜的實時性高的控制系統(tǒng)中,其電機(jī)的控制性能有所下降。FPGA 具有計算速度快、可靠性高以及邏輯資源豐富等特點(diǎn)[4],本文基于FPGA 進(jìn)行了步進(jìn)電機(jī)驅(qū)動控制系統(tǒng)的研究與設(shè)計。

      1 系統(tǒng)硬件設(shè)計

      步進(jìn)電機(jī)驅(qū)動系統(tǒng)的整體結(jié)構(gòu)主要由電源、主控制器、驅(qū)動芯片、編碼器等組成。根據(jù)本系統(tǒng)的設(shè)計以及實現(xiàn)功能,系統(tǒng)硬件設(shè)計可以劃分為以下幾個部分。

      1.1 主控芯片電路

      在主控芯片電路設(shè)計方面,以A3PE600 為核心的電路主要包括兩個方面:一個是控制器本身工作所需的最小系統(tǒng)電路,另一個是指向機(jī)構(gòu)驅(qū)動系統(tǒng)正常運(yùn)行時所需器件的電路。其中,最小系統(tǒng)設(shè)計主要包括電源電路(3.3 V,1.5 V)、復(fù)位電路、時鐘電路以及仿真接口部分,而外圍電路則根據(jù)系統(tǒng)要求設(shè)計。

      1.2 驅(qū)動電路

      本研究選擇TMC5130 驅(qū)動芯片驅(qū)動步進(jìn)電機(jī),此芯片具有高精度無傳感器負(fù)載檢測、靜音平穩(wěn)運(yùn)動、失速檢測等功能,更加符合電機(jī)運(yùn)動時的要求,它也可以設(shè)置成位置模式、速度模式和上電保持模式[5-6]。SPI 通信接口串聯(lián)33 Ω 電阻為了阻抗匹配,由于信號源的阻抗低,與信號線阻抗不匹配,串聯(lián)一個小電阻后,可以改善匹配狀況,減少反射和振蕩的干擾,同時可以保證信號的完整性,特別是讀寫信號線。

      1.3 編碼器接口電路

      采用DS-25 系列編碼器,其數(shù)據(jù)輸出與時鐘傳輸采用差分RS422 的接線標(biāo)準(zhǔn),串口通信也采用此類傳輸方式。RS422 差分傳輸?shù)奶攸c(diǎn)很明確,它是四線類型的接口,全雙工、差分傳輸[7]。本研究利用DS26LV32 高速四路差動線路接收器和DS26LV31 高速四路差動線路驅(qū)動器,它們功耗低,且工作電壓滿足3.3 V。在編碼器以及串口接口電路中,考慮到差分傳輸,因此信號的穩(wěn)定性、抗共模干擾能力等性能必不可少。當(dāng)阻抗不匹配時,可以考慮使用串聯(lián)/并聯(lián)電阻的辦法。一般來說,一些驅(qū)動器的阻抗比較低,可以串聯(lián)一個合適的電阻來跟傳輸線匹配,而一些接收器的輸入阻抗則比較高,可以使用并聯(lián)電阻的方法來跟傳輸線匹配。例如,RS422 總線接收器,常在數(shù)據(jù)線終端并聯(lián)1 000 Ω 的匹配電阻。

      2 系統(tǒng)軟件設(shè)計

      采用Verilog語言結(jié)合自頂向下的設(shè)計思路,實現(xiàn)驅(qū)動控制系統(tǒng)的軟件部分設(shè)計。自頂向下指的是先從系統(tǒng)的整體功能要求開始,規(guī)劃系統(tǒng)整體結(jié)構(gòu)并分別劃分為各個小規(guī)模、功能簡單的子模塊,然后確立各個子功能模塊之間的相互關(guān)系和模塊接口,進(jìn)而繼續(xù)這種形式劃分,最終整個系統(tǒng)被細(xì)分為多個最小單元。

      2.1 部分模塊的軟件系統(tǒng)設(shè)計

      2.1.1 串口通信設(shè)計

      本研究采用RS422 串口通信實現(xiàn)與上位機(jī)通信,完成數(shù)據(jù)信息的傳輸,同時串口通信相對而言具有較好的穩(wěn)定性和抗干擾能力[8]。其子功能模塊結(jié)構(gòu)圖如圖1 所示。在設(shè)計時考慮到數(shù)據(jù)傳輸?shù)臏?zhǔn)確性,本次設(shè)計通過“幀頭+數(shù)據(jù)+幀尾”的方式實現(xiàn)一段數(shù)據(jù)的傳輸,同時增加奇偶校驗位以加強(qiáng)對數(shù)據(jù)傳輸準(zhǔn)確性的判斷。

      圖1 串口通信模塊結(jié)構(gòu)圖

      串口接收控制模塊主要功能是將串口接收模塊收到的數(shù)據(jù)組成完整的數(shù)據(jù)包,并進(jìn)行幀頭與幀尾的校驗,將校驗正確的數(shù)據(jù)輸出給控制寄存器模塊(圖1 中Recv_Data 模塊)。串口發(fā)送控制模塊的功能是將下位機(jī)向上位機(jī)發(fā)送的數(shù)據(jù)經(jīng)過解碼成8bit 的數(shù)據(jù)依次傳送給RS422_TX 模塊。串口發(fā)送模塊的功能是將串口發(fā)送控制模塊輸出的數(shù)據(jù),通過UART_TX 信號傳輸給上位機(jī),其數(shù)據(jù)傳輸形式與串口接收模塊類似。

      2.1.2 Netzer編碼器數(shù)據(jù)采集設(shè)計

      角度反饋量由絕對式電編碼器得到,其接口電路已在1.3 小節(jié)詳細(xì)介紹,根據(jù)DS-25 系列的數(shù)據(jù)手冊得知:采集到的角度值可以通過SSI 和BISS 兩種傳輸協(xié)議將當(dāng)前角度傳輸?shù)郊拇嫫骼颷9-10]。在本研究中,采用SSI 傳輸協(xié)議完成角度值的采集,若要將角度值返回到上位機(jī),則可以通過RS422_RX 發(fā)送一個指令使能編碼器數(shù)據(jù)采集傳輸功能,然后將編碼器接口接收到的數(shù)據(jù)轉(zhuǎn)存到寄存器里,再通過發(fā)送控制模塊對數(shù)據(jù)進(jìn)行解碼,解碼為8bit 的數(shù)據(jù),最后通過RS422_TX模塊將數(shù)據(jù)發(fā)送到上位機(jī)。

      基于SSI 傳輸協(xié)議的角度值采集功能模塊如圖2所示,這里主要對SSI_INTERFACE 模塊進(jìn)行研究。首先,系統(tǒng)時鐘頻率為32 MHz,程序中設(shè)計SSI傳輸時鐘頻率為4 MHz。因此,可以對系統(tǒng)時鐘進(jìn)行8 分頻,本研究主要利用某個定義的寄存器的3bit(如sd_cnt[2]),當(dāng)sd_cnt[2]為1 時,SSI_SCK(SSI_SCK 初始狀態(tài)為1)相對于原狀態(tài)取反,從而實現(xiàn)4 MHz 的時鐘頻率。其次,數(shù)據(jù)采集精度定義為17 位,因此整個數(shù)據(jù)幀結(jié)構(gòu)為“17bit 數(shù)據(jù)+1bit 停止位”,并且在SSI_SCK 時鐘上升沿時傳輸數(shù)據(jù),下降沿時采集數(shù)據(jù),依次完成數(shù)據(jù)的傳輸。最后,將傳輸?shù)淖詈笠晃煌ㄟ^右移位計算移除停止位,剩下17 位為當(dāng)前角度值,再通過串口通信模塊將其傳輸?shù)缴衔粰C(jī)或者傳輸?shù)讲竭M(jìn)電機(jī)驅(qū)動控制模塊。本模塊的設(shè)計用到三段式狀態(tài)機(jī),以便于后期的查閱與復(fù)用。

      圖2 基于SSI傳輸協(xié)議的角度值采集功能模塊圖

      2.1.3 TMC5130驅(qū)動設(shè)計

      此模塊編寫程序時可以分為兩個功能模塊,其一是數(shù)據(jù)傳輸模塊,其二是數(shù)據(jù)控制模塊。

      1)數(shù)據(jù)傳輸模塊主要功能是SPI 通信協(xié)議的編寫,使用三段式狀態(tài)機(jī)編寫,設(shè)置五個狀態(tài),分別為IDLE、WAIT0、SPI_W_R、WAIT1、STOP。IDLE狀態(tài)到WAIT0 狀態(tài)依據(jù)數(shù)據(jù)控制模塊的SPI_EN 使能信號;WAIT0 轉(zhuǎn)換到SPI_W_R 狀態(tài),等待計時器到達(dá)即可。SPI_W_R 狀態(tài)實現(xiàn)數(shù)據(jù)的傳輸,傳輸完成標(biāo)志信號產(chǎn)生時,進(jìn)入下一個狀態(tài)。數(shù)據(jù)之間來回傳輸只需多次使能SPI_EN 信號即可。依據(jù)數(shù)據(jù)手冊,主機(jī)向從機(jī)發(fā)送數(shù)據(jù)的格式為:“8bit 地址值+8’h80+32bit 的數(shù)據(jù)”;在從機(jī)向主機(jī)發(fā)送數(shù)據(jù)時,主機(jī)需要先向從機(jī)發(fā)送讀取數(shù)據(jù)寄存器的地址一次,此時主機(jī)接收的數(shù)據(jù)為無效數(shù)據(jù),第二次發(fā)送該寄存器地址后,才能讀取到有效數(shù)據(jù),且讀取有效數(shù)據(jù)的高8位為SPI狀態(tài)寄存器的數(shù)據(jù)。

      2)數(shù)據(jù)控制模塊主要功能是TMC5130 芯片的寄存器賦值以及實現(xiàn)主機(jī)與從機(jī)之間多數(shù)據(jù)的傳輸;上位機(jī)向下位機(jī)發(fā)送一段指令,使能SPI_EN,同時將數(shù)據(jù)存入輸出寄存器中。

      2.2 系統(tǒng)整體控制模式

      2.2.1 開環(huán)驅(qū)動模式

      將上述2.1 節(jié)中各個模塊的設(shè)計在頂層中例化,在頂層實現(xiàn)接口連接,然后利用美高森美的開發(fā)軟件Libero SoC 對程序進(jìn)行綜合、管腳分配,并將程序下載到FPGA 里實現(xiàn)電機(jī)的開環(huán)驅(qū)動控制?;赥MC5130的驅(qū)動模塊結(jié)構(gòu)圖如圖3所示。

      圖3 基于TMC5130的驅(qū)動模塊結(jié)構(gòu)圖

      2.2.2 定位控制模式

      根據(jù)上述研究內(nèi)容,將串口通信模塊、角度值采集模塊、電機(jī)驅(qū)動模塊等子功能模塊分別例化到頂層模塊中,然后進(jìn)行綜合、管腳分配以及程序下載,通過發(fā)送指令使指向機(jī)構(gòu)可以執(zhí)行開環(huán)驅(qū)動的工作模式。在開環(huán)驅(qū)動模式的基礎(chǔ)上進(jìn)一步對驅(qū)動芯片進(jìn)行開發(fā)與研究,可實現(xiàn)閉環(huán)控制的定位模式。具體設(shè)計思路為:首先,通過Netzer 讀取上電鎖定狀態(tài)時電機(jī)的位置,注意此時編碼器讀取的值不是對應(yīng)的角度,需要經(jīng)過以下關(guān)系轉(zhuǎn)換:

      式中,current_deg 表示當(dāng)前電機(jī)角度;cur_ssi_recvdata表示當(dāng)前Netzer 讀取的角度值由16 進(jìn)制轉(zhuǎn)換為10進(jìn)制的數(shù)值。

      根據(jù)以上公式,規(guī)定此時的值為初始位置。定義電機(jī)需旋轉(zhuǎn)的角度,然后通過對上式的變形可得到電機(jī)到達(dá)目標(biāo)位置后的值與到達(dá)目標(biāo)位置所對應(yīng)Netzer 的值相同(理想條件下)。經(jīng)過多次試驗測試,理論計算的數(shù)值與實際電機(jī)到達(dá)目標(biāo)后采集的數(shù)值之間相差角度范圍為±0.07°。此值不滿足設(shè)計期望。這里設(shè)定一個閾值,使其差值范圍約為0.007°。通過對理論計算角度值和實際角度值的差值與閾值的比較,判斷下次電機(jī)的運(yùn)行方式。當(dāng)差值大于閾值時,說明電機(jī)運(yùn)動的角度超過給定角度,電機(jī)需要反方向運(yùn)行;當(dāng)差值小于閾值時,說明電機(jī)運(yùn)動的角度未超過給定角度,電機(jī)需要繼續(xù)當(dāng)前方向運(yùn)行。運(yùn)行具體步數(shù)根據(jù)以下關(guān)系轉(zhuǎn)換:

      當(dāng)ssi_position﹥target_position時,

      式中,ssi_position為Netzer 采集的角度數(shù)值(十六進(jìn)制表示),target_position為給定角度數(shù)值(經(jīng)過數(shù)值轉(zhuǎn)換),spi_xactual為TMC5130 驅(qū)動芯片完成一次運(yùn)動后所對應(yīng)位置寄存器的值(TMC5130驅(qū)動芯片上電后每次運(yùn)行時,需要計算絕對位置,不能隨意給定位置寄存器的值),DR為減速比120,K為25,M為64。

      加速度與最大速度的計算,可以根據(jù)TMC5130芯片所給的速度曲線控制算法計算得到對應(yīng)的數(shù)值,斜坡發(fā)生器速度相關(guān)電機(jī)控制如圖4 所示。通過設(shè)置V1=0禁用A1與D1階段,只使用AMAX和DMAX階段,因此構(gòu)成一個梯形速度曲線控制方式。再設(shè)置總運(yùn)行時間為20 s,加減速時間相等且預(yù)設(shè)為4 s,因此可以根據(jù)以下關(guān)系計算電機(jī)對應(yīng)的VMAX、AMAX。

      圖4 斜坡發(fā)生器速度相關(guān)電機(jī)控制

      依據(jù)本設(shè)計選用的晶振為16 MHz,則速度與加速度時間的轉(zhuǎn)換公式如下:

      假設(shè)設(shè)置X/Y軸運(yùn)動12°,總步數(shù)為204 800微步,根據(jù)以上的預(yù)設(shè)關(guān)系,可以得到VMAX=13 421μstep/t,AMAX=DMAX=27μstep/t_a^2。

      3 結(jié)束語

      研究團(tuán)隊以FPGA 為主控制器,結(jié)合TMC5130驅(qū)動芯片、Netzer 編碼器等,設(shè)計了步進(jìn)電機(jī)驅(qū)動控制系統(tǒng),首先滿足步進(jìn)電機(jī)驅(qū)動控制的基本性能要求,其次結(jié)合驅(qū)動芯片的特點(diǎn),設(shè)置了幾種運(yùn)動模式,相較于其他芯片,此芯片更適用于具有高精度定位、靜音運(yùn)動控制系統(tǒng)的場合。

      猜你喜歡
      編碼器串口角度
      神奇的角度
      淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
      一個涉及角度和的幾何不等式鏈的改進(jìn)
      基于FPGA的同步機(jī)軸角編碼器
      角度不同
      37°女人(2017年8期)2017-08-12 11:20:48
      人啊
      滇池(2017年7期)2017-07-18 19:32:42
      基于PRBS檢測的8B/IOB編碼器設(shè)計
      USB接口的多串口數(shù)據(jù)并行接收方法探索
      JESD204B接口協(xié)議中的8B10B編碼器設(shè)計
      電子器件(2015年5期)2015-12-29 08:42:24
      基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實時無線通信
      地礦測繪(2015年3期)2015-12-22 06:27:26
      宁河县| 大冶市| 通州市| 萝北县| 正镶白旗| 库尔勒市| 鄂伦春自治旗| 永城市| 凤庆县| 富阳市| 嘉定区| 九龙城区| 吕梁市| 当涂县| 江陵县| 同德县| 沂源县| 温州市| 毕节市| 镇江市| 莱阳市| 济源市| 孝感市| 辉南县| 康马县| 永年县| 噶尔县| 牟定县| 南丰县| 满洲里市| 札达县| 牡丹江市| 南和县| 合山市| 安庆市| 遂溪县| 凤台县| 平阳县| 泾川县| 化州市| 改则县|