亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        嵌入式系統(tǒng)的多路步進電機控制系統(tǒng)的設(shè)計

        2019-09-25 09:43:36
        計算機測量與控制 2019年9期
        關(guān)鍵詞:脈沖數(shù)網(wǎng)絡(luò)通信命令

        (廣西師范大學(xué) 電子工程學(xué)院,廣西 桂林 541004)

        0 引言

        隨著社會與經(jīng)濟的飛速發(fā)展,自動化控制代替人為操作越顯明顯[1]。步進電機作為自動化控制重要的執(zhí)行機構(gòu)來說,其控制一直以來都是一個重要的研究課題,其主要研究集中在加減速曲線優(yōu)化和具體實現(xiàn)上。與此同時隨著嵌入式技術(shù)的快速發(fā)展,特別是其ARM架構(gòu)芯片的性能有了大幅度的提升以及嵌入式實時控制系統(tǒng)的功能變得更加完善。因此將嵌入式技術(shù)應(yīng)用于多路步進電機控制系統(tǒng)中不僅可以提高了步進電機控制的實時性和可靠性,而且還降低了控制系統(tǒng)的成本[2]。本文設(shè)計的主控芯片使用了ST公司的的STM32F4系列微處理器,嵌入式以太網(wǎng)控制器W5500、電機控制芯片A4984、光電傳感器、RFID射頻識別傳感器等多種外設(shè),操作系統(tǒng)采用嵌入式實時操作系統(tǒng)FreeRTOS,上位機控制軟件應(yīng)用程序采用PyQt,并進行相應(yīng)的軟件程序開發(fā),本設(shè)計致力于設(shè)計一種可靠穩(wěn)定,實時性高的多路步進電機控制系統(tǒng)。

        1 硬件電路設(shè)計

        1.1 總體設(shè)計

        本設(shè)計總體架構(gòu)如圖1所示。主控芯片通過嵌入式以太網(wǎng)控制器W5500與上位機通信,接收上位機軟件發(fā)送的命令,并向上位機返回現(xiàn)在所處的工作狀態(tài)。W5500通過SPI通信將上位機命令發(fā)送給主控制端STM32,后由主控進行命令解析,得到指令中的電機脈沖數(shù)、頻率以及正反轉(zhuǎn)等參數(shù),最終得到驅(qū)動電機的脈沖數(shù)量、脈沖頻率以及脈沖信號順序,從而控制各路步進電機按照指令所需的頻率精確達到目的位置。

        圖1 系統(tǒng)總體結(jié)構(gòu)圖

        本設(shè)計電路中主控芯片采用ST公司的STM32F407系列微控制器,電機驅(qū)動芯片采用A4984SLPTR-T芯片,步進電機選擇倆相四線的混合式步進電機。

        1.2 網(wǎng)絡(luò)通信模塊

        STM32網(wǎng)絡(luò)通信主要有倆種方式一種采用移植LWIP協(xié)議棧,一種是采用外置網(wǎng)絡(luò)芯片與主控芯片之間進行通信。由于主控芯片已經(jīng)移植了小型操作系統(tǒng)FreeRTOS,為了不增加主控芯片的內(nèi)存壓力且外置網(wǎng)絡(luò)芯片加以外部晶振,較LWIP協(xié)議棧以及內(nèi)部晶振時鐘會更加精確,故采用外置網(wǎng)絡(luò)芯片加以外部晶振來進行網(wǎng)絡(luò)通信。網(wǎng)絡(luò)通信芯片采用韓國WIZnet公司的W5500芯片,該芯片集成了IP/TCP協(xié)議棧,方編程模塊化,有助于系統(tǒng)后期的擴展性,也減少了主控芯片的資源占用。

        1.3 電機驅(qū)動模塊

        本系統(tǒng)電路中電機驅(qū)動模塊采用Allegro公司的A4984SLPTR-T電機驅(qū)動器,該驅(qū)動器是一個完整的帶有內(nèi)置轉(zhuǎn)換器的微電機驅(qū)動器。A4984SLPTR-T包括一個固定停機時間電流穩(wěn)壓器,該穩(wěn)壓器可在慢或混合衰減模式下工作。該電機驅(qū)動器具有高達35 V和±2 A的輸入驅(qū)動能力,且控制簡單。若電機的溫度過高,會導(dǎo)致電機力矩降低乃至失步,故將電機的電流設(shè)定為1.414 A,既可以使得電機芯片不過載,又盡可能的使得電機的利用率更高。驅(qū)動模塊電路如圖2所示。

        圖2 電機驅(qū)動模塊原理圖

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

        2.1 軟件總體設(shè)計

        根據(jù)設(shè)計需要實現(xiàn)的目標,本文把系統(tǒng)分為不同的子功能,充分利用嵌入式系統(tǒng)多任務(wù)的優(yōu)勢,把各個子功能作為系統(tǒng)中不同的任務(wù)進程實現(xiàn)[3],包括:網(wǎng)絡(luò)通信任務(wù)、上位機通訊協(xié)議解析任務(wù)、電機驅(qū)動任務(wù)、光電傳感器任務(wù)等,各個任務(wù)通過操作系統(tǒng)的信號量進行同步運行,由上位機軟件統(tǒng)籌規(guī)劃。為了保證步進電機系統(tǒng)的實時性,其中電機驅(qū)動進程為核心進程,設(shè)定其任務(wù)優(yōu)先級為次高,除W5500的通信模塊,沒有其他進程可以搶占他的CPU控制權(quán)。

        本文主要介紹軟件設(shè)計網(wǎng)絡(luò)通信管理和電機控制的實現(xiàn):從網(wǎng)口讀取運動指令,轉(zhuǎn)換為實際電機的移動。

        1)上位機軟件通過工作人員設(shè)定的電機工作時序來發(fā)送相對應(yīng)的電機控制指令,命令通過網(wǎng)絡(luò)傳輸至網(wǎng)絡(luò)控制芯片中的命令緩存區(qū)中,后由SPI通信發(fā)送至主控制端STM32所建立的循環(huán)鏈表中進行存儲,防止命令丟失,最后又主控制端進行相對應(yīng)的命令解析;

        2)主控制端解析電機控制命令后,使用電機控制算法來控制電機來進行相對應(yīng)的電機動作,其中主要參數(shù)包括電機脈沖頻率、電機轉(zhuǎn)動方向、脈沖總數(shù)以及加減速脈沖數(shù)等信息;

        3)完成動作后,主控制端再通過SPI向網(wǎng)絡(luò)控制芯片傳輸完成指令,請求下一指令;網(wǎng)絡(luò)控制芯片向上位機返回相對應(yīng)的結(jié)束命令,結(jié)束動作,等待下一次協(xié)議命令;

        2.2 嵌入式系統(tǒng)選擇

        ARM系列的微處理器不支持大型操作系統(tǒng)的移植,但是在單片機模式下的縱向處理程序處理又滿足不了任務(wù)量多的程序設(shè)計。而此時嵌入式實時操作系統(tǒng)既滿足ARM處理器的內(nèi)存要求且可以進行多個任務(wù)假性同步運行,一個處理器核心每次僅可以執(zhí)行一個任務(wù),但實時操作系統(tǒng)的主要工作則是將任務(wù)切換的時間變得非常短,而這已經(jīng)滿足了本設(shè)計對操作系統(tǒng)的需求。

        本設(shè)計采用了FreeRTOS嵌入式實時操作系統(tǒng)。FreeRTOS實時操作系統(tǒng)內(nèi)核占用空間小、源碼公開、可移植、實時性高,可免費用于商業(yè)用途。其基本功能包括:通過時間片調(diào)度切換任務(wù);多種信號量應(yīng)用于各種場景;多個實時任務(wù)且及其優(yōu)先級的配置;文件任務(wù)的管理等。

        在嵌入式領(lǐng)域,F(xiàn)reeRTOS是不多的同時具有實行性,開源性,可靠性,易用性,多平臺支持等特點的嵌入式操作系統(tǒng)[4]。

        2.3 網(wǎng)絡(luò)通信管理

        由于單步執(zhí)行的程序架構(gòu)中,下位機會來不及處理上位機發(fā)送的連續(xù)運動指令,上位機向網(wǎng)關(guān)發(fā)送命令,對數(shù)據(jù)進行實時監(jiān)控,但是由于接收到的命令要從流水線的控制器交互,交互需要一個過程,在這個過程里,導(dǎo)致上位機命令冗余,存儲在一個數(shù)組里,但是上位機長時間收不到命令,網(wǎng)絡(luò)連接會中斷,這種異常在工業(yè)控制里是堅決不允許的,所以,對處理的命令進行過濾,即設(shè)計了一個環(huán)形鏈表算法,將先存儲在鏈表中但未處理的命令刪除,把剛接收到的命令,插入尾部。如圖3環(huán)形鏈表示意圖。

        圖3 環(huán)形鏈表示意圖

        環(huán)形鏈表結(jié)構(gòu)體定義所示:

        typedef struct rx_net_data

        {

        char rx_data[CMD_MAX_DATA_LEN];

        unsigned char rx_data_len;

        SemaphoreHandle_t task_binarySemaphore;

        SemaphoreHandle_t ISR_binarySemaphore;

        Struct rx_net_data *next;

        } RX_NET_DATA_LinkedListDef;

        結(jié)構(gòu)體中的 rx_data用來存放上位機發(fā)送過來的指令,rx_data_len表示rx_data數(shù)據(jù)長度,task_binarySemaphore為任務(wù)級的二值信號量,ISR_binarySemaphore為中斷級的信號量,用來同步中斷中接收到的數(shù)據(jù)與數(shù)據(jù)包解析任務(wù)同步。

        中斷接收指令過程,流程圖如圖4所示。

        圖4 網(wǎng)絡(luò)通信流程圖

        2.4 電機驅(qū)動控制

        步進電機的控制方式通常分為倆種,一種是使用定時器中斷來驅(qū)動步進電機,另一種則是定時器PWM脈寬調(diào)制來驅(qū)動。本文采用的則是定時器PWM脈寬調(diào)制,通過設(shè)置自動裝載值和預(yù)分頻值來控制占空比,從而控制電機的頻率。

        由于步進電機本身的局限性,在步進電機起始階段頻率變化過大,則會導(dǎo)致電機失步、過沖現(xiàn)象,所以啟動階段需要一段較為緩慢的預(yù)熱階段。為了防止電機出現(xiàn)過沖或失步的現(xiàn)象,在電機控制中加入改進型S型算法,則有效的規(guī)避了該現(xiàn)象。

        由文獻[3]可得S型曲線的速度函數(shù),所得的S型曲線,如圖5所示:

        (1)

        式(1)中:a為設(shè)定的系統(tǒng)加速度;Vm為步進電機運行的最大速度;Vs為步進電機運行的起始速度。

        S型算法的好處是速度具有很好的平滑性,運動精度也很高[5-6]。S型算法又名Sigmoid函數(shù),Sigmoid函數(shù)原型為:

        (2)

        對其加以修改,式如下所示:

        (3)

        在式(3)所示:F(i)為即時頻率值;Fmin為步進電機運行的起始速度;Fmax為步進電機運行的最大速度;k為代表設(shè)定的加速度;i為加速或者減速的脈沖索引(i≥2 num)。

        給定K值為7時,電機運作較為良好,值得提醒的是加速階段或者減速階段脈沖索引都從0開始計數(shù)。

        通過MATLAB對公式(3)的加速部分進行仿真,取電機初始頻率Fmin為2 000 Hz,最大頻率Fmax為3 000 Hz,加速脈沖數(shù)num(電機一個脈沖數(shù)為1.8°)為4 000,T1取值為2 000,加速度k為7,所獲得加速S曲線如圖5所示:電機轉(zhuǎn)動主要分為3個階段,加加速,勻加速以及加減速階段[7-8],減速和加速階段類似,故不做多余講解。

        圖5 文獻[3]S型加速曲線圖

        圖6 本文S型加速曲線圖

        通過圖5,圖6倆者比較可以明顯發(fā)現(xiàn),本文中的S型算法有效的避免了電機初始加速速率變化過大而導(dǎo)致的電機速率突變的情況,避免了電機過沖與丟步的現(xiàn)象;電機也可以在最短的時間內(nèi)達到所需的頻率,也大大的降低系統(tǒng)的功耗[9-10]。將圖5、圖6進行對比,通過對MATLAB仿真圖進行取脈沖值0,1 000,2 000,3 000,4 000,得到電機的實時頻率值,比較S型加減速的脈沖數(shù)和頻率之間的關(guān)系如表1。

        3 上位機軟件設(shè)計

        PC上位機使用python3.5和pyqt5進行研發(fā)編寫。

        表1 步進脈沖時間間隔

        Python是功能很強大的跨平臺解釋性腳本語言,而 PyQt 是python針對Qt的一門功能性拓展[11]。由于Qt本身功能的強大性加上Python語言的良好的擴展性,該設(shè)計選擇Python和PyQt作為開發(fā)語言和開發(fā)環(huán)境。

        界面如圖7所示,電機開始偵聽則開始與下位機進行連接,連接成功則顯示連接成功,如果失敗則返回連接失敗。界面主要參數(shù)包括:脈沖總數(shù)、電機轉(zhuǎn)向、起始頻率值、最大頻率值、脈沖加速脈沖數(shù)、減速脈沖數(shù)以及電機選擇等。通訊協(xié)議數(shù)據(jù)幀以圖7為例為:

        圖7 上位機軟件示意圖

        0231|CT|MA|500|10 000|CW|20 000|5 000|5 000|AABB03。其中起始位0231,控制位CT;電機選擇為MA;起始頻率為500;最大頻率10 000;電機轉(zhuǎn)向,正向為CW,反向為CCW;電機總脈沖數(shù)為20 000;加速脈沖數(shù)為5 000;減速脈沖數(shù)為5 000;校驗位為AABB以及截止位為03。當電機動作完成之后,下位機需返回信息給上位機告知動作完成。返回信息的通訊協(xié)議僅將控制位和電機選擇進行互換,表示是下位機向上位機返回的信息。電機動作完全結(jié)束后,需將電機進行復(fù)位,等待下一次的動作命令。復(fù)位是通過觸碰光電傳感器從而使電機返回初始位置,后進入待機狀態(tài),等待上位機的協(xié)議命令。電機的誤差就不會進行疊加。

        4 實驗結(jié)果與分析

        在實際應(yīng)用中有8臺步進電機同時工作,所以在FreeRTOS中創(chuàng)建8個實時電機控制任務(wù)。給電機相同起始頻率2 000以及最大頻率5 000,不同脈沖數(shù),比較丟失步的比例。由于電機轉(zhuǎn)動需要主控制端給脈沖,而每給一個脈沖數(shù)就要進入一次定時器中斷,故在定時器中斷中給一個疊加參數(shù),當脈沖數(shù)完成后由串口通信打印至串口調(diào)試助手,即可得到其電機實際接受到的脈沖數(shù)。

        表2 電機丟失步比例情況

        由上述數(shù)據(jù)以及通過若干次測試可以顯示該電機控制系統(tǒng)的丟失步比例均在1%以內(nèi),電機一個脈沖為1.8°,加上電機細分數(shù)為8細分,所以電機丟失步所造成的轉(zhuǎn)動距離非常的小。因此將此控制系統(tǒng)運用至實際工程中去,實際項目工程圖如圖8所示。

        圖8 項目工程圖

        5 結(jié)論

        用嵌入式實時控制系統(tǒng)和步進電機控制技術(shù),設(shè)計了一種基于嵌入式系統(tǒng)的多路步進電機控制系統(tǒng),并且闡述了系統(tǒng)的硬件設(shè)計、步進電機控制技術(shù)以及上位機控制軟件應(yīng)用程序。通過測試表明該系統(tǒng)提高了電機控制的穩(wěn)定性以及可靠性,有效的防止步進電機失步和過沖現(xiàn)象,有效的提高了試管架的檢測效率;另一方面使用ARM7微處理器的嵌入式控制技術(shù),使得控制成本大大降低,更適合中小型控制系統(tǒng)的低成本要求。該系統(tǒng)現(xiàn)已在多進樣流水線中運用,且系統(tǒng)運作良好。

        猜你喜歡
        脈沖數(shù)網(wǎng)絡(luò)通信命令
        只聽主人的命令
        某型組合導(dǎo)航系統(tǒng)故障分析及預(yù)防
        高精度電子體溫計設(shè)計與實現(xiàn)
        基于網(wǎng)絡(luò)通信的智能照明系統(tǒng)設(shè)計
        電子制作(2019年15期)2019-08-27 01:11:48
        檢定電能表的圈數(shù)設(shè)定問題探討
        網(wǎng)絡(luò)通信中信息隱藏技術(shù)的應(yīng)用
        移防命令下達后
        基于網(wǎng)絡(luò)通信的校園智能音箱設(shè)計
        電子制作(2018年1期)2018-04-04 01:48:30
        談計算機網(wǎng)絡(luò)通信常見問題及技術(shù)發(fā)展
        電子制作(2017年17期)2017-12-18 06:41:06
        這是人民的命令
        人人爽人人爽人人爽| 久久精品爱国产免费久久| 极品美女扒开粉嫩小泬| 免费人成再在线观看网站| 狠狠噜天天噜日日噜| 熟妇无码AV| 国产精品人成在线观看| 欧美亚洲日韩国产人成在线播放| 日本在线一区二区在线| 很黄很色的女同视频一区二区| 国产做无码视频在线观看 | 国产婷婷色综合av蜜臀av| 国产精品无码午夜福利| 国产福利一区二区三区在线观看| 日韩精品无码免费专区网站| 亚洲日韩区在线电影| 有码中文字幕一区二区| 人妻少妇中文字幕,久久精品| 精品女同一区二区三区免费战| 丝袜美腿一区二区国产| 日本高清视频永久网站www| 久久亚洲中文字幕无码| yw193.can尤物国产在线网页| 九色精品国产亚洲av麻豆一| 日本一区二区三区免费| 中文字幕有码在线人妻| 蜜桃传媒网站在线观看| 7777色鬼xxxx欧美色妇| 国产三级在线观看播放视频| 动漫av纯肉无码av在线播放| 熟女丝袜美腿亚洲一区二区三区 | 成人亚洲精品777777| 成人午夜性a级毛片免费| 免费成人福利视频| 国产精品成人久久一区二区| 成人免费av色资源日日| 樱桃视频影院在线播放| 精品欧美乱码久久久久久1区2区| 人妻精品一区二区免费| 亚洲av高清一区三区三区| 国产内射一级一片内射视频|