任康磊,張夢微
(南京郵電大學 自動化學院,江蘇 南京 210023)
基于C/S結構的直流電機網絡化調速實驗平臺設計
任康磊,張夢微
(南京郵電大學 自動化學院,江蘇 南京210023)
設計了一種基于C/S結構的直流電機網絡化調速系統平臺。采用RTL8019AS網絡控制器實現客戶端與網絡控制節點的高速通信,網絡控制節點基于PWM方式控制電機轉速,并采用E6B2編碼器實時測量電機轉速。詳細介紹了網絡控制節點的軟硬件設計。該實驗平臺具有結構簡單、控制精度高、開放程度高的優點。
C/S結構;網絡化調速;RTL8019AS;TCP/IP;旋轉編碼器
隨著網絡通信技術和計算機技術的飛速發展,網絡化控制已成為近二十年來控制領域的研究熱點[1]。然而,目前的研究大都基于理論推導和軟件仿真,實驗驗證則相對較少[2]。運動控制系統在工業、農業、軍工等領域起著核心作用。直流電機因啟動轉矩大、調速性能好,在運動控制系統中得到了廣泛應用。因此,開發直流電機網絡化控制實驗平臺具有重要意義。近來,一些學者設計了網絡化電機控制系統[3-6]。但研究的系統大都基于DSP或者ARM處理器,價格昂貴且系統軟件實現復雜。另外,這些系統對電機轉速測量研究的較少。
本文采用遠程PC、STC89C516RD+單片機、以太網控制芯片RTL8019AS以及歐姆龍E6B2編碼器等,設計實現了一種基于C/S結構的直流電機網絡控制實驗平臺。該平臺具有結構簡單、成本低、開放程度高的特點。文中詳細介紹RTL8019AS協議棧以及轉速測量的軟件實現。
本文設計的直流電機以太網控制實驗平臺采用C/S結構模式,其總體結構如圖1所示。系統采用本地單片機作為服務器端,通過連接嵌入TCP/IP 協議的以太網控制器RTL8019AS實現以太網絡通信接口,采用L298N作為電機功率驅動模塊,利用旋轉編碼器實現電機轉速的檢測,實現網絡化電機控制節點設計。采用內含各種復雜控制算法的計算機為客戶端,作為網絡控制器和網絡化監視系統。

圖1 直流電機網絡控制系統結構圖
2.1以太網接口模塊設計
電機控制板上以太網接口模塊選用Realtek公司高度集成的以太網控制器RTL8019AS,該芯片硬件上實現了以太網底層數據鏈路層(MAC)和物理層(PHY)協議。采用單片機STC89C516RD+作為控制核心實現對RTL8019AS的訪問控制,RTL8019AS將數據包裝為幀,經20F001N隔離再與RJ45接口相連。以太網接口模塊硬件結構如圖2所示。

圖2 以太網接口模塊硬件結構圖
本設計中通過設置JP引腳使RTL8019AS工作于跳線模式,由IOS3、IOS2、IOS1以及IOS0決定I/O地址為0240H。單片機通過鎖存器對P0口進行復用使其既可作低8位地址線(A7~A0),又可以作數據線(D7~D0)。RTL8019AS低16位地址端口SA15~SA0與單片機地址線A15~A0相連,高4位SA19~SA16直接接地。由于收發數據還需要一定的緩存空間,本設計中使用了62256作為外部存儲器。為了區分片外的62256和RTL8019AS,將地址線最高位A15連接到62256的片選管腳,而對于RTL8019AS則將A15與A9交換。當A15為1時選通RTL8019AS,為0時選通62256。
2.2電機驅動模塊設計
電機驅動模塊總體結構如圖3所示,選用ST公司電機驅動芯片L298N。L298N集成了兩個H橋高電壓、大電流驅動電路,可方便地驅動直流電機。L298N使能端ENA接STC89C516RD+的P1.5口,當ENA為高電平時,通過PWM信號輸入端IN1(P1.3)和IN2(P1.4)控制電動機正反轉[7]。為便于調試,系統里設置了按鍵sw1和sw2,通過連接P1.6和P1.7口實現電機加、減速。

圖3 電機驅動模塊結構圖
2.3編碼器信號采集電路
本文采用增量式旋轉編碼器(歐姆龍E6B2)測量電機轉速,電路如圖4所示。

圖4 編碼器信號采集電路
旋轉編碼器B、A兩相輸出經施密特觸發器脈沖整形后,分別接到STC89C516RD+的P1.0和P1.1口,B、A相異或信號接P3.7口, P1.0和P3.7信號用于判別電機旋轉方向,P1.1口采集旋轉編碼器的脈沖數以計算出電機轉速;P3.3(INT1)口接旋轉編碼器Z相信號線實現零位檢測。
單片機STC89C516RD+的P1.1通過設置中斷計算出脈沖數,再通過M方法求電機轉速;P1.0則是通過先比較B、A兩路的高低電平,再將A⊕B的信號送入P3.7口,通過異或處理得到的電平值,判斷出電機的正反轉。在周期T內,A、B兩信號存在4次高低電平變化,更容易判斷旋轉方向,如圖5、圖6所示。

圖5 電機正轉

圖6電機反轉
當A超前B時,電機正轉,A⊕B周期內電平變化為:11、01、00、10;反之,周期內電平變化為:11、10、00、01[8-9]。
3.1以太網接口模塊軟件設計
以太網接口軟件設計包括芯片的驅動以及精簡TCP/IP協議棧的嵌入。芯片驅動主要是對RTL8019AS芯片進行初始化,使其能夠進行正常的數據收發。軟件流程如圖7所示。

圖7 以太網通信收發數據流程圖
RTL8019AS的內存分成兩個部分,分別用來保存以太網物理地址和緩沖區。緩沖區的地址為0x4000至0x7fff,接收和發送的數據都可以保存在這64頁中。發送緩沖區分為兩個大小相等的部分以交替使用,提高發送效率。該芯片偏移地址00H至1FH是I/O地址。00H至0FH是寄存器地址,CR寄存器可以控制需要訪問寄存器所在的頁數。芯片收發數據主要通過遠程DMA和本地DMA端口實現,其過程是對相關寄存器進行讀寫來完成的。
除了RTL8019AS芯片的驅動程序外,還必須實現復雜的TCP/IP協議棧將數據包裝成網絡上規定的格式。TCP/IP協議棧為分層的結構,可以根據系統的實際應用,將不需要的協議進行刪減。精簡后結構如圖8所示。

圖8 協議棧分層及其數據封裝結構
協議棧在處理數據時主要就是完成數據的拆包與封裝。在接收數據時,按照協議解讀其首部信息后把數據傳遞給上層協議。發送的數據則是通過協議的封裝傳遞給下層。
在傳輸層中,本系統選擇了可靠的TCP協議。網絡層中實現IP協議,將上層的協議和硬件隔離開。每個網絡適配器都有唯一的IP地址。IP和TCP協議中規定的端口號唯一確定了一個連接,因此可以確定數據傳輸的路徑。除此之外還實現了ARP協議,用于將IP地址與MAC地址對應。由于資源限制,差錯控制只實現ICMP協議中簡單的回答報文,該協議用來測試網絡是否連通。
3.2PWM信號軟件實現
本設計中電機的轉速由加在其兩端的平均電壓(改變電壓的占空比ZKB)決定。要實現轉速調節則必須改變電壓值。通過單片機編寫的PWM程序來分別控制L298N輸入端IN1,IN2。PWM由中斷進行控制,代碼如下,其中的ZKB表示占空比,通過以太網通信獲得。
void timer0(void) interrupt 1
{static uchar time=0;
TH0=0x9B; TL0=0x9B; ++time;
if(timegt;=100) time=0;
if(timelt;=ZKB) P1.2=1;
else P1.2=0;
}
3.3速度檢測軟件設計
速度檢測主要利用STC89C516RD+內部定時器/計數器T2的計數功能實現,計數通過中斷完成。置模式寄存器T2MOD的DCEN位為“0”以實現T2向上計數。置控制寄存器T2CON的外部使能標志位EXEN2 為“1”。 P1.1(T2EX)引腳信號的負跳變將觸發T2的捕獲或重裝,捕獲或重裝標志位EXF2置“1”,系統響應中斷,將標志位C/T2位和TR2位分別置“1”,T2啟動計數。當T2計數達到預定值時,產生溢出,標志位TR2位置“0”,停止計數,中斷返回。中斷響應程序如下:
void timer2int(void)
{uchar i;
TF2=0;
P17=0;
if(TF2==1)
{TF2=0; TH2=RCAP2H; TL2=RCAP2L; n++;}
if(EXF2==1)
{EXF2=0;
if(i==0)
{ TR2=1;
i++;
}
//外部中斷啟動計數
else {reg1=RCAP2L;
//高位計數寄存器
reg2=RCAP2H;
//低位計數寄存器
i=0; TR2=0;
//停止T2計數
}
}
}

圖9 編碼器速度測量流程圖
中斷計數產生溢出之前,采用測速算法M法,即在時間TC內測取編碼器輸出脈沖個數M1,以計算這段時間內的平均轉速。測速流程如圖9所示。
3.4客戶端軟件設計
基于可視化VC++軟件,采用C/S結構模式在遠程PC端設計客戶端程序。通過Socket技術[10]與STC89C516RD+進行以太網通信,該軟件主要功能模塊包括連接建立、轉速設定及轉速反饋顯示。
該軟件使用C++的Socket編程實現。用戶可通過該軟件連接到對應IP和端口的電機,并對其進行轉速和轉向的控制。其中還能夠顯示經編碼器反饋的電機實時速度。
本文開發了一種基于C/S結構的直流電機網絡化調速系統平臺,著重介紹了平臺軟硬件設計。該實驗平臺具有結構簡單、控制精度高、開放程度高的優點,具有廣闊的應用前景。
[1] Shi Yang, Huang Ji, Yu Bo. Robust tracking control of networked control systems: application to a networked DC motor[J]. IEEE Transactions on Industrial Electronics, 2013, 60(12): 5864-5874.
[2] 龐中華, 劉國平, 鄭耿, 等. 基于 NetCon 的網絡化控制系統快速實現[J]. 化工自動化及儀表, 2009, 36(5): 79-83.
[3] 謝志遠, 貢振崗, 楊星, 等. 基于 ARM 的中壓 FTU 檢測平臺的設計[J]. 微型機與應用, 2012, 31(16): 16-19.
[4] 王新彪, 俞建定, 王青. 基于 ARM 的無刷直流電機控制系統的設計[J]. 微型機與應用, 2015, 34(16): 1-3.
[5] 冀石磊,夏繼強,陶震宇,等.基于GPRS及CAN總線的遠程電機群控制[J].單片機與嵌入式系統應用,2015,15(1):27-30.
[6] 張興, 吳愛國, 劉玉明,等. 基于以太網的無位置無刷直流電機系統設計[J]. 儀表技術與傳感器, 2015 (4): 69-72.
[7] 孫緒才. L298N在直流電機 PWM 調速系統中的應用[J]. 濰坊學院學報, 2009, 9(4): 19-21.
[8] 陳立兵,樊瑜瑾,代杰,等.基于AVR單片機的光電編碼器定長系統設計[J].機床與液壓,2012,40(13): 110-113.
[9] 靖朋, 王和明, 張景偉. 導彈角速度編碼器組合測試系統信號源設計[J]. 電子技術應用, 2013, 39(2): 36-38.
[10] 劉業顏, 鄭文. 基于WINSOCK 的遠程信號采集與分析系統[J]. 機電工程技術, 2010,39(1): 28-29.
2017-04-18)
任康磊(1993-),通信作者,男,碩士研究生,主要研究方向:網絡化控制、物聯網、嵌入式。E-mail:15651632713@163.com。
張夢薇(1993-),女,本科生,主要研究方向:電氣自動化。
Design of networked DC motor speed control experiment platform based on C/S framework
Ren Kanglei, Zhang Mengwei
(College of Automation, Nanjing University of Posts and Telecommunications, Nanjing 210023, China)
A networked DC motor speed control experiment platform is designed in this paper based on C/S framework. The RTL8019AS network controller is utilized to realize high speed communication between the client and the networked control nodes. Networked control nodes control the speed of the DC motors by PWM, and the speed of the DC motors is measured by E6B2 rotary encoder. The design of software and hardware in networked control nodes is stated detailedly. The experiment platform designed in this paper is characterized by simple structure, high control precision and high open degree.
C/S framework; networked speed regulation; RTL8019AS; TCP/IP; rotary encoder
TP39;TP274
A
10.19358/j.issn.1674- 7720.2017.22.031
任康磊,張夢微.基于C/S結構的直流電機網絡化調速實驗平臺設計J.微型機與應用,2017,36(22):115-117,120.