文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.174340
中文引用格式: 楊曉昆,張正平,張燦,等. 基于STM32的新型光耦電機定位技術(shù)[J].電子技術(shù)應用,2018,44(5):60-62,66.
英文引用格式: Yang Xiaokun,Zhang Zhengping,Zhang Can,et al. A new localization technique for optocoupler motor based on STM32[J]. Application of Electronic Technique,2018,44(5):60-62,66.
0 引言
隨著精工技術(shù)的不斷發(fā)展,越來越多的儀器設(shè)備對數(shù)據(jù)精密度的要求不斷提高[1-2]。本實驗室參與的工程項目——納米量子點蛋白質(zhì)芯片關(guān)鍵技術(shù)及產(chǎn)品研發(fā)所采用的微型移動平臺,經(jīng)過幾代的技術(shù)改進,不斷將控制平臺微型化,對儀器平臺精密定位的要求也在不斷提高。此時前幾代所使用的傳統(tǒng)中小型移動平臺的多光耦定位電機已無法達到工作需求。所以,實驗組在逐步縮小光耦體積、減少光耦數(shù)量的同時,采用一種新型定位技術(shù),以便更進一步提高平臺精準度。
1 總體結(jié)構(gòu)與電機驅(qū)動
1.1 模塊化項目結(jié)構(gòu)
納米量子點蛋白質(zhì)芯片關(guān)鍵技術(shù)及產(chǎn)品研發(fā)項目設(shè)備總體結(jié)構(gòu)如圖1所示,因?qū)嶒烅椖坎捎玫氖悄K化工程模式,即不同的實驗組負責各自的模塊,其中主要分為結(jié)構(gòu)搭配與設(shè)計組、上位機軟件工程組和下位機硬件工程組3個方向。本實驗組隸屬于下位機硬件工程組,在總體結(jié)構(gòu)中,實驗組沒有直接參與或負責的部分已用虛線框注明。
1.2 電機的驅(qū)動
在實際工程中,需同時考慮產(chǎn)品最優(yōu)化性能、維護成本及可操作性等因素,所以選用由微型四相電機所組成的xy軸單光耦十字移動工作滑臺。因為所選用的移動平臺是由四相永磁式步進電機和光耦共同搭建完成的,此電機在通常情況下可以由電壓直接驅(qū)動,但考慮到重定義相位、電機功率等原因,采用市面上已經(jīng)非常成熟的A4988芯片對電機進行驅(qū)動[3]和保護。
滑臺電機的轉(zhuǎn)動方向與STM32電機方向引腳的高低電平有關(guān)。實驗組根據(jù)電機實際情況,將輸出方向與電壓的關(guān)系建立如下公式:
式中,x為STM32下位機方向引腳輸出電壓。
同時,電機轉(zhuǎn)動的速度是通過改變STM32下位機速度引腳的脈沖頻率來控制的,速度引腳所產(chǎn)生的脈沖頻率越高,電機所對應的移動速度越快。
因?qū)嶋H電機受到靈敏度限制,只能識別一定范圍內(nèi)的脈沖頻率,所以實驗組根據(jù)頻率要求將電機速度分為25個擋位,并通過部分源碼簡介電機速度與脈沖頻率間的關(guān)系[4-5]。
以下為電機控制部分一個周期脈沖所對應的C語言程序源碼:
PWM_X_ON;
OSTimeDly(1);
PWM_X_OFF;
OSTimeDly(Pulse_X_Time);
經(jīng)頭文件及宏定義之后,第1行源碼的效果是拉高x軸速度引腳電平;第2行源碼將速度引腳高電平延遲一個節(jié)拍(1 ms);隨后,通過第3行源碼拉低x軸速度引腳電平;第4行源碼將此時狀態(tài)維持,并等待下一個脈沖周期。此時,電機會相應的移動一個位置,這里將移動路程記做1。
由上述C語言程序源碼和周期條件可得出電機速度與周期頻率的關(guān)系如下:
式中,n為第4行源碼中所接收的上位機Pulse_X_Time參數(shù)所代表擋位。
2 光耦的原理及使用
光耦的全稱為光耦合器,是誕生于20世紀70年代的一種新型器件,因其優(yōu)秀的抗干擾能力、工作穩(wěn)定性、持久性等特性在實際工業(yè)生產(chǎn)中有著非常廣泛的應用。
原光耦理想電路如圖2所示,因其簡單結(jié)構(gòu)無法滿足電路的安全與功能需求,所以在光耦電路的接收和發(fā)送端分別接入了保護電阻[6]。
將接入保護電阻的光耦結(jié)構(gòu)通電后接入示波器,令電機以式(2)中v(0)速度運行,其示波器中顯示的電壓與時間關(guān)系如圖3所示。
從圖3中結(jié)果可以看出光耦的輸出電壓并非理想的跳變,這是由于光耦的結(jié)構(gòu)特性所決定的。
光耦的接收端是由光敏電阻所構(gòu)成的,其阻值會隨著光強度變化而發(fā)生改變,而當光耦滑臺產(chǎn)生移動時,滑臺所配套的遮光擋板處于勻速運動,以至于無法在短時間內(nèi)完全阻擋發(fā)射光線,因此才會出現(xiàn)圖3所示現(xiàn)象。
光耦電壓的這種不確定性,使得STM32電壓接收引腳無法準確對其進行捕獲,以至于無法對距離進行準確的把握。
針對光耦的這一非理想因素,實驗組最終提出將光耦電路輸出端接入遲滯比較器的解決方案[7]。遲滯比較器的作用是當光耦輸入電壓大于一定范圍時遲滯比較器輸出高電平,光耦輸入電壓小于某一范圍時遲滯比較器將輸出低電平。
此時,光耦結(jié)構(gòu)完整電路如圖4所示,并通過設(shè)置與實際測量,最終得到遲滯比較器輸出電壓與光耦輸入電壓間的關(guān)系如式(3)所示:
式中,x代表光耦的輸入電壓。
將完善后的電路圖并入實際工作電路,經(jīng)過示波器實際測量,光耦輸出電壓與時間的關(guān)系如圖5所示。
最后,實驗組得出準確STM32輸出脈沖次數(shù)與電機移動距離關(guān)系,如式(4)所示:
式中,x為STM32下位機輸出的脈沖次數(shù),經(jīng)計算最大脈沖數(shù)值為4 439。
3 光耦電機結(jié)構(gòu)與新型定位技術(shù)
針對前幾代雙光耦電機因體積原因無法準確定位的缺陷,實驗組在進一步將電機微型化的條件下,構(gòu)建了微型xy軸單光耦十字移動工作滑臺。并采用了一種新型的定位技術(shù)——數(shù)值邊界定位算法,有效克服了只能適用于中小型移動平臺的雙光耦電機所存在的缺點[8]。
xy軸單光耦十字移動工作滑臺其結(jié)構(gòu)分為x、y兩軸,每一個軸分別由對應的電機、光耦和遮光擋板所構(gòu)成。在這里,只單例出其中x軸來進行分析,y軸同理。其x軸的結(jié)構(gòu)如圖6所示。
因為xy軸單光耦十字移動工作滑臺是一個微型平臺,即使選配體積極小的光耦和遮光擋板,仍然會占據(jù)大量空間,所以,光耦的跳變對輸出有了不同的意義:當遮光擋板進入光耦時,光耦會輸出一個低電平,并始終保持;當遮光擋板離開光耦時,光耦的輸出電平會被拉高,并始終保持直到遮光擋板再次進入光耦,電平拉低。所以,新的光耦輸出電壓與電機移動距離關(guān)系如圖7所示。
在此,重新定義STM32所輸出的一個脈沖,對應電機移動距離為單位1。
因此,本文提出的數(shù)值邊界定位技術(shù),通過多次實驗分別測得圖6中的X_Left和X_Right距離所需的脈沖次數(shù),再從復以上實驗步驟,多次測量得到X_Left+X_Right的總長脈沖次數(shù)記做XY_Test(因為實際工程中存在X、Y相同的兩個電機)。以上數(shù)據(jù)對y軸電機同樣適用。通過多次的實驗測量和計算分別得出X_Left=2 034、X_Righ=2 445、XY_Test=4 439。
在啟動系統(tǒng)之前,因為無法得知電機所在位置,所以需要對整體結(jié)構(gòu)進行初始化[9],以下為針對此電機的初始化算法步驟:
(1)判斷光耦輸出端的電平,如果是低電平,即說明遮光擋板位于光耦內(nèi),給予電機一個向右移動的命令;如果是高電平,說明遮光擋板位于光之外,給予電機一個向左移動的命令。
(2)電機向左移動離開光耦時,光耦電平由低變高,電機向右移動進入光耦時,光耦電平被拉低。所以,無論遮光擋板是離開還是進入光耦,都會產(chǎn)生一個跳變信號。若已捕獲到這一跳變信號,則說明電機遮光擋板已經(jīng)運行至臨界點。
(3)給予電機一個向右的方向和X_Right的距離,此時遮光擋板運行至電機起點位置。
光耦電機初始化流程如圖8所示。
當電機x、y軸同時運動時,此技術(shù)仍然適用,只需要添加對二者邊界的判決條件,構(gòu)造如下函數(shù):
式中,i表示次電機上電后所運行的次數(shù),di(x1)由式(1)定義為電機第i次運動方向,si(x2)由式(4)定義為電機第i次運行距離的絕對值。
因此,若想要時刻得到電機的絕對位置并判斷是否越過邊界條件則需要公式如下:
式中,m、n分別為x、y軸當前操作電機的次數(shù),x1、x2分別為x軸所對應方向電壓和距離,y1、y2分別為y軸所對應的方向電壓與距離,f(x,y)為式(5)所構(gòu)建電機一次的運動距離。
若z值超出了已經(jīng)給定的數(shù)值邊界,則下位機將向PC上位機返回警告信號。
4 結(jié)論
與前幾代雙光耦電機定位技術(shù)的局限性不同,單光耦電機的數(shù)值邊界定位技術(shù)適用于多種電機工作平臺,有較好的可移植性,尤其在微型電機平臺有著顯著的優(yōu)勢。它可以避免因測量精確度限制導致的誤差,并且從軟件方面著手大大減少了硬件工程所需的工作量。
但是該技術(shù)也存在的相應的缺點,電機的運行過度依賴于軟件的程序,對硬件故障無法及時地做出反饋??赡軐е碌膯栴}之一是,如果旋轉(zhuǎn)電機出現(xiàn)滑絲現(xiàn)象,單從軟件是無法得到這一結(jié)論的。
所以在后期的工作之中,實驗組將會系統(tǒng)地對工程進行完善,將對硬件的檢測部分加入到工作內(nèi)容之中,并且在現(xiàn)有的基礎(chǔ)之上,對電機的運動進行維度拓展,將之后的工作重心轉(zhuǎn)移到第三維度的處理與應用。
參考文獻
[1] FAN Y,ZHANG L,CHENG M,et al.Sensorless SVPWM-FADTC of a new flux-modulated permanent-magnet wheel motor based on a wide-speed sliding mode observer[J].IEEE Transactions on Industrial Electronics,2015,62(5):3143-3151.
[2] 王登貴,楊中平,胡真明,等.基于PLC的四相步進電機控制方法及實現(xiàn)[J].微計算機信息,2015,41(1):21-24.
[3] Chen Chao,Shi Yunlai,Zhang Jun,et al.Novel linear piezoelectric motor for precision position stage[J].Chinese Journal of Mechanical Engineering,2016,29(2):378-385.
[4] 莫本團.基于步進電機控制的大空間火災精確定位原理設(shè)計[J].電子測試,2017(9):34-35.
[5] RAHIDEH A,KORAKIANITIS T.Analytical open-circuit magnetic field distribution of slotless brushless permanent-magnet machines with rotor eccentricity[J].IEEE Transactions on Magnetics,2011,47(12):4791-4807.
[6] QIAO Z,SHI T,WANG Y,et al.New sliding-mode observer for position sensorless control of permanent-magnet synchronous motor[J].IEEE Transactions on Industrial Electronics,2013,60(2):710-719.
[7] 王洪祥,趙野,黑勇.一種帶有遲滯比較器的新型RC振蕩器[J].科學技術(shù)與工程,2013,13(18):5345-5349.
[8] 章圣焰,劉小康,胡水仙.淺談光耦的使用方法[J].航空電子技術(shù),2015,46(4):51-54.
[9] 賈啟.三自由度永磁同步平面電機定位控制研究[D].沈陽:沈陽工業(yè)大學,2013.
作者信息:
楊曉昆,張正平,張 燦,趙 麒
(貴州大學 大數(shù)據(jù)與信息工程學院,貴州 貴陽550000)