張 慶,胡文彬,許德新
(哈爾濱工程大學(xué) 自動化學(xué)院,黑龍江 哈爾濱 150001)
“自動控制元件實(shí)驗(yàn)”課程是工科高等院校自動化專業(yè)學(xué)生進(jìn)入專業(yè)學(xué)習(xí)階段的第一門專業(yè)實(shí)驗(yàn)課程,對學(xué)生自主學(xué)習(xí)能力的培養(yǎng)起到承上啟下的作用[1-2]。實(shí)驗(yàn)內(nèi)容主要包括對直流電機(jī)、交流電機(jī)、步進(jìn)電機(jī)、自整角機(jī)、旋轉(zhuǎn)變壓器等元件的工作特性及技術(shù)數(shù)據(jù)測定,訓(xùn)練學(xué)生應(yīng)用理論知識分析實(shí)驗(yàn)現(xiàn)象的能力[3-4]。
實(shí)踐教學(xué)是專業(yè)理論聯(lián)系實(shí)際的重要環(huán)節(jié),以單片機(jī)為核心的綜合設(shè)計(jì)實(shí)驗(yàn)課程可以將專業(yè)理論、C語言編程、單片機(jī)原理等相關(guān)課程有機(jī)地結(jié)合起來,幫助學(xué)生更加深入地理解、掌握和運(yùn)用專業(yè)課知識。對于實(shí)踐教學(xué)過程,如何科學(xué)合理地利用實(shí)驗(yàn)教學(xué)裝置安排實(shí)踐教學(xué)內(nèi)容,幫助學(xué)生在實(shí)驗(yàn)中將更多的相關(guān)課程知識融會貫通,培養(yǎng)學(xué)生創(chuàng)新意識及工程實(shí)踐能力,是實(shí)踐教學(xué)內(nèi)容改革需要考慮的重要問題[5-7]。
由于現(xiàn)有的自動控制元件實(shí)驗(yàn)室的實(shí)驗(yàn)教學(xué)裝置陳舊,課程安排中大部分實(shí)驗(yàn)項(xiàng)目為驗(yàn)證性和演示性實(shí)驗(yàn),不利于引導(dǎo)和發(fā)揮學(xué)生對課程內(nèi)容理解應(yīng)用的主動性和拓展性。根據(jù)教學(xué)改革需要,針對自動控制元件實(shí)驗(yàn)課程中存在的問題,教研組以自研的方式改進(jìn)和增加了部分實(shí)驗(yàn)教學(xué)裝置,并配套增加了新的實(shí)驗(yàn)教學(xué)項(xiàng)目,在滿足課程教學(xué)需求的同時(shí),鍛煉了專業(yè)教師的專業(yè)技術(shù)水平。
根據(jù)旋轉(zhuǎn)變壓器實(shí)驗(yàn)中軸角解算原理的課程內(nèi)容,本文利用STM32F407 單片機(jī)設(shè)計(jì)開發(fā)了一套雙通道旋轉(zhuǎn)變壓器軸角解算實(shí)驗(yàn)教學(xué)裝置。該裝置可提供開放編程和線路實(shí)驗(yàn)接口,幫助學(xué)生在掌握軸角解算原理的同時(shí),更好地將理論與科研實(shí)踐相結(jié)合,啟發(fā)學(xué)生主動思考,提高自主學(xué)習(xí)能力。
旋轉(zhuǎn)變壓器作為自動控制元件中典型的角度測量元件,不僅精確而且經(jīng)濟(jì),自從其誕生以來就在各種類型的控制系統(tǒng)中得到了廣泛應(yīng)用[8-9]。隨著高精度自動控制系統(tǒng)的迅速發(fā)展,單通道旋轉(zhuǎn)變壓器已難以滿足高精度測角要求,兩種不同極對數(shù)的旋轉(zhuǎn)變壓器(粗機(jī)和精機(jī))組成一體的雙通道旋轉(zhuǎn)變壓器逐漸獲得廣泛應(yīng)用[10-11]。粗機(jī)采用單對極旋轉(zhuǎn)變壓器,精機(jī)采用多對極旋轉(zhuǎn)變壓器,精機(jī)的極對數(shù)為粗機(jī)極對數(shù)的N倍(N 為雙通道旋轉(zhuǎn)變壓器的傳動比),因此雙通道旋轉(zhuǎn)變壓器的分辨率是單通道旋轉(zhuǎn)變壓器的N 倍。在雙通道旋轉(zhuǎn)變壓器中,粗機(jī)實(shí)現(xiàn)0°~360°范圍內(nèi)的角度粗測量功能,而精機(jī)實(shí)現(xiàn)(0°~360°)/N 范圍內(nèi)的角度精測量功能,因此雙通道旋轉(zhuǎn)變壓器又被稱為粗精組合系統(tǒng)。
以傳動比為1 : 36 的雙通道旋轉(zhuǎn)變壓器為例,精機(jī)轉(zhuǎn)動1 圈相當(dāng)于粗機(jī)轉(zhuǎn)動1/36 圈,即粗機(jī)角度變化為360°/36=10°。1 : 36 雙通道旋轉(zhuǎn)變壓器測角粗精數(shù)據(jù)組合運(yùn)算公式為:
軸角解算處理器將粗機(jī)測量角度數(shù)據(jù)除以10,結(jié)果的整數(shù)部分I 為精機(jī)的轉(zhuǎn)動圈數(shù),結(jié)果的余數(shù)部分R 參與角度數(shù)據(jù)糾錯(cuò)。將精機(jī)測量角度數(shù)據(jù)S 除以36,得到商數(shù)部分Q。將粗機(jī)數(shù)據(jù)整數(shù)部分I 乘以10 后與精機(jī)商數(shù)部分Q 相加,得到對齊的雙通道粗精數(shù)據(jù)組合數(shù)據(jù)。粗機(jī)數(shù)據(jù)余數(shù)部分R 參與后續(xù)的組合數(shù)據(jù)糾錯(cuò)。
當(dāng)雙通道旋轉(zhuǎn)變壓器的粗機(jī)和精機(jī)轉(zhuǎn)動完全同步時(shí),上述粗精數(shù)據(jù)組合算法是不存在差錯(cuò)的。但雙通道旋轉(zhuǎn)變壓器中的粗精兩個(gè)通道是相互獨(dú)立進(jìn)行轉(zhuǎn)換的,而且由于變速齒輪存在齒隙等結(jié)構(gòu)誤差,粗機(jī)和精機(jī)的測角誤差不可能實(shí)現(xiàn)完全匹配。如果當(dāng)精機(jī)尚未完整轉(zhuǎn)完一圈時(shí),粗機(jī)輸出數(shù)據(jù)的整數(shù)部分I 已經(jīng)加“1”,在本例中即粗機(jī)數(shù)據(jù)對應(yīng)角度比實(shí)際被測角度多“10°”。而當(dāng)精機(jī)已經(jīng)完整轉(zhuǎn)完一圈時(shí),粗機(jī)輸出數(shù)據(jù)的整數(shù)部分I 還未加“1”,在本例中即粗機(jī)數(shù)據(jù)對應(yīng)角度比實(shí)際被測角度少“10°”。因此,在應(yīng)用雙通道旋轉(zhuǎn)變壓器進(jìn)行測角時(shí),必須進(jìn)行粗精數(shù)據(jù)組合的糾錯(cuò)。由于精機(jī)測角精度要遠(yuǎn)高于粗機(jī),糾錯(cuò)時(shí)應(yīng)基于精機(jī)數(shù)據(jù)進(jìn)行。
在雙通道旋轉(zhuǎn)變壓器中,粗機(jī)和精機(jī)的同步誤差不會大于精機(jī)轉(zhuǎn)動的1/4 圈(在傳動比為1 : 36 的雙通道旋轉(zhuǎn)變壓器中該值為2.5°)。粗機(jī)數(shù)據(jù)的余數(shù)部分R∈[0°, 10°)等分成的4 個(gè)區(qū)間在邏輯上對應(yīng)精機(jī)數(shù)據(jù)S∈[0°, 360°)角平面的4 個(gè)象限。根據(jù)精機(jī)數(shù)據(jù)S 和粗機(jī)數(shù)據(jù)余數(shù)部分R 分別所處的區(qū)間情況,來決定組合數(shù)據(jù)是否進(jìn)行糾錯(cuò)處理。
(1)粗機(jī)數(shù)據(jù)余數(shù)部分R∈[0°, 2.5°)代表粗機(jī)角度剛剛轉(zhuǎn)過一個(gè)10°區(qū)間,精機(jī)數(shù)據(jù)S∈[270°, 360°)代表精機(jī)角度即將轉(zhuǎn)完一圈,精粗兩組數(shù)據(jù)的圈數(shù)計(jì)算產(chǎn)生誤差,根據(jù)以精機(jī)為準(zhǔn)的原則,應(yīng)將粗機(jī)數(shù)據(jù)整數(shù)部分I 減去1。
(2)粗機(jī)數(shù)據(jù)余數(shù)部分R∈[7.5°, 10°)代表粗機(jī)角度即將轉(zhuǎn)過一個(gè)10°區(qū)間,精機(jī)數(shù)據(jù)S∈[0°, 90°)代表精機(jī)角度剛剛轉(zhuǎn)完一圈,精粗兩組數(shù)據(jù)的圈數(shù)計(jì)算產(chǎn)生誤差。根據(jù)以精機(jī)為準(zhǔn)的原則,應(yīng)將粗機(jī)數(shù)據(jù)整數(shù)部分I 加上1。
(3)精機(jī)數(shù)據(jù)S∈[90°, 270°)代表精機(jī)角度距離整數(shù)圈大于1/4 圈,粗機(jī)數(shù)據(jù)不存在進(jìn)位問題,精粗兩組數(shù)據(jù)的圈數(shù)計(jì)算未產(chǎn)生誤差,無需糾錯(cuò)。
對于雙通道旋轉(zhuǎn)變壓器的軸角測量解算主要有兩種方式:一是使用兩個(gè)單速軸角/數(shù)字轉(zhuǎn)換器和一個(gè)精粗?jǐn)?shù)據(jù)組合處理器來構(gòu)成雙通道旋轉(zhuǎn)變壓器的軸角測量解算電路;二是采用專用的集成雙通道旋轉(zhuǎn)變壓器的軸角/數(shù)字轉(zhuǎn)換模塊實(shí)現(xiàn)。為了便于引導(dǎo)學(xué)生參與甚至自主設(shè)計(jì)有關(guān)實(shí)驗(yàn)環(huán)節(jié),本文將采用第一種方案,設(shè)計(jì)一個(gè)基于STM32 微控制器STM32F407 的雙通道旋轉(zhuǎn)變壓器軸角解算實(shí)驗(yàn)教學(xué)裝置,來處理粗精兩個(gè)通道輸出的數(shù)字信號,并且該裝置提供了開放的編程和線路實(shí)驗(yàn)接口。
在該實(shí)驗(yàn)裝置中,粗機(jī)角度和精機(jī)角度分別經(jīng)過7 位的軸角/數(shù)字轉(zhuǎn)換模塊和14 位的軸角/數(shù)字轉(zhuǎn)換模塊,分別轉(zhuǎn)換為精粗兩組自然二進(jìn)制碼, STM32F407通過I/O 口分別讀入精機(jī)14 位二進(jìn)制數(shù)字量和粗機(jī)7位二進(jìn)制數(shù)字量,并進(jìn)行數(shù)據(jù)組合和糾錯(cuò),轉(zhuǎn)換為被測角度的19 位二進(jìn)制數(shù)字量后,再通過其SPI 口以串行方式輸出到串并轉(zhuǎn)換鎖存器74HC595,以并行方式輸出雙通道旋轉(zhuǎn)變壓器軸角測量解算的19 位并行數(shù)字量結(jié)果??傮w設(shè)計(jì)框圖如圖1 所示。
圖1 雙通道旋轉(zhuǎn)變壓器軸角解算實(shí)驗(yàn)教學(xué)裝置框圖
2.2.1 STM32F407 處理器特點(diǎn)
STM32F407 系列微處理器是意法半導(dǎo)體公司(STMicroelectronics,簡稱 ST)推出的基于 ARM CorteX-M4 內(nèi)核的高端32 位微控制器的代表,具有優(yōu)良的性能、豐富的外設(shè)、穩(wěn)定的供貨以及低廉的價(jià)格,廣泛應(yīng)用于工業(yè)控制、安防監(jiān)控、消費(fèi)電子等領(lǐng)域。其高性價(jià)比、入門資料豐富友好、適合手工DIY 等特點(diǎn),使其適合在校學(xué)生群體自主進(jìn)行嵌入式系統(tǒng)學(xué)習(xí)和設(shè)計(jì)開發(fā)[12]。
2.2.2 74HC595 接口
粗精雙通道解算處理器的二進(jìn)制數(shù)據(jù)需要大量I/O 口資源,單片機(jī)STM32F407VET6 的I/O 口數(shù)量不夠。本裝置選用串行數(shù)據(jù)轉(zhuǎn)并行數(shù)據(jù)的專用芯片74HC595 解決這一問題。74HC595 不但能夠?qū)⒋休斎氲臄?shù)據(jù)轉(zhuǎn)換為8 位并行數(shù)據(jù)輸出,還具備輸出數(shù)據(jù)鎖存功能。74HC595 采用CMOS 工藝制作,數(shù)據(jù)輸出速度快,能夠滿足粗精雙通道解算的高速輸出要求。在本文的粗精組合軸角解算實(shí)驗(yàn)教學(xué)裝置中,采用三片74HC595 級聯(lián),將微處理器STM32F407 的SPI 口輸出的串行數(shù)據(jù)轉(zhuǎn)換為19 位并行數(shù)據(jù),作為整個(gè)軸角解算裝置的輸出。接口電路如圖2 所示。
圖2 74HC595 與STM32 單片機(jī)的接口電路
2.2.3 數(shù)字接口控制信號
為了穩(wěn)定可靠地輸出解算結(jié)果,粗精雙通道解算處理器數(shù)據(jù)輸出需要具備相應(yīng)的數(shù)字接口控制電路??刂齐娐肪哂袃身?xiàng)功能:一是數(shù)據(jù)鎖存功能,確保輸出數(shù)據(jù)的穩(wěn)定性;二是電平轉(zhuǎn)換功能,在轉(zhuǎn)換器內(nèi)部的CMOS 電路和外部數(shù)字電路之間起緩沖作用。本文的粗精雙通道解算處理器的輸出過程,是由禁止信號和輸出使能信號(連接方式詳見圖2)兩個(gè)數(shù)字信號來控制的。這兩個(gè)信號均為低電平有效,兼容5V CMOS 電平,方便與微處理器接口信號與STM32F407VET6 的一個(gè)中斷管腳相連,用于控制 STM32F407 是否將數(shù)據(jù)更新到 74HC595;信號用來控制74HC595 鎖存器數(shù)據(jù)的輸出。兩信號接高電平時(shí)系統(tǒng)待機(jī),當(dāng)檢測端口為低電平時(shí),微處理器將當(dāng)前的粗精雙通道解算數(shù)據(jù)送入到74HC595 中。但此時(shí)74HC595 的輸出管腳數(shù)據(jù)不會被刷新,向端口施加低電平信號后,74HC595 輸出管腳數(shù)據(jù)才會被刷新。
系統(tǒng)軟件采用Keil MDK5 集成開發(fā)環(huán)境編寫和調(diào)試,它是Keil 公司專為ARM 內(nèi)核微處理器應(yīng)用而設(shè)計(jì)的集成開發(fā)工具,功能強(qiáng)大,能夠滿足大多數(shù)苛刻的嵌入式應(yīng)用。Keil MDK5 包含μVision4 IDE 集成開發(fā)環(huán)境,用戶界面友好,采用C/C++語言編寫源程序,具有強(qiáng)大的調(diào)試器和仿真環(huán)境。Keil MDK5 符合CMSIS 規(guī)范要求,具有大量的程序例程,方便用戶進(jìn)行快速開發(fā)。本實(shí)驗(yàn)教學(xué)裝置的軟件設(shè)計(jì)主要由系統(tǒng)初始化程序和雙速數(shù)據(jù)處理程序兩部分組成,程序流程如圖3、圖4 所示。
圖3 微控制器初始化流程
圖4 雙速數(shù)據(jù)處理程序流程
精粗組合軸角解算實(shí)驗(yàn)教學(xué)裝置的實(shí)驗(yàn)驗(yàn)證包括糾錯(cuò)算法驗(yàn)證和轉(zhuǎn)換精度驗(yàn)證兩方面內(nèi)容。
將傳動比為1 : 36 的雙通道旋轉(zhuǎn)變壓器的旋轉(zhuǎn)軸與高精度光學(xué)分度頭的轉(zhuǎn)動軸相固連,改變光學(xué)分度頭的軸角,雙通道旋轉(zhuǎn)變壓器的精機(jī)和粗機(jī)的信號輸出線分別接到雙通道旋轉(zhuǎn)變壓器軸角解算實(shí)驗(yàn)教學(xué)裝置的對應(yīng)輸入端。同時(shí)利用微處理器設(shè)計(jì)角度顯示電路,將解算結(jié)果的19 位并行數(shù)字量轉(zhuǎn)換為0°~360°數(shù)字顯示。
首先,分別按順時(shí)針和逆時(shí)針方向旋轉(zhuǎn)雙通道旋轉(zhuǎn)變壓器的轉(zhuǎn)動軸,如果隨著轉(zhuǎn)動軸角度變化,該裝置輸出的角度數(shù)字值變化方向與轉(zhuǎn)動方向一致,而且無突跳現(xiàn)象,則證明精粗?jǐn)?shù)據(jù)組合糾錯(cuò)算法正確。然后,在0°~360°角度范圍內(nèi)等間隔改變光學(xué)分度頭軸角,記錄該裝置相應(yīng)的輸出角度值。通過對比發(fā)現(xiàn),該裝置的軸角測量誤差在±4?以內(nèi),完全滿足實(shí)驗(yàn)教學(xué)需求。
本文以傳動比為1 : 36 雙通道旋轉(zhuǎn)變壓器為例,設(shè)計(jì)了精粗組合軸角解算實(shí)驗(yàn)教學(xué)裝置,并介紹了軟硬件實(shí)現(xiàn)。該裝置能夠幫助學(xué)生形象直觀地理解精粗組合軸角解算原理,增加學(xué)生學(xué)習(xí)興趣,使其在實(shí)驗(yàn)中加深對理論的理解。該裝置不但能夠滿足旋轉(zhuǎn)變壓器課程教學(xué)實(shí)驗(yàn)需求,還能為學(xué)生提供綜合運(yùn)用相關(guān)專業(yè)知識進(jìn)行實(shí)踐創(chuàng)新的應(yīng)用平臺。