為實現X-Y-Z三維工作臺的精確定位,設計了一種基于STM32F103VCT6單片機和步進電機的三維微位移控制系統。該系統可與上位機實現串口通信,接收上位機命令并把處理結果反饋給上位機;根據光柵傳感器提供的位置反饋信息,系統可以通過對步進電機的方向、速度調節來實現精確定位;采用勻加速和勻減速方式對步進電機的速度進行調節,避免了因步進電機的突然加速和急停所帶來的丟步和沖擊現象。控制系統的測量實驗結果表明,步進電機運行平穩,噪音低,定位精度高,控制系統性能穩定可靠。
微位移控制系統是一種集機械、光學、電子和計算機等多種技術于一體的智能化儀器。在先進制造技術與科學研究中有著極其廣泛的應用,也是現代工業檢測、質量控制和制造技術中不可或缺的測量設備。微位移控制系統一般由微定位機構、微位移檢測裝置和控制器組成??刂破魇俏⑽灰葡到y的指揮中心,它按照一定的控制算法控制微定位平臺,使其按照一定的規律運動,來實現精確定位。
? ? 傳統的三維微位移控制系統一般采用步進電機驅動滾珠絲杠來實現定位。步進電機是將電脈沖信號轉變為角位移或線位移的開環控制元件。在非超載的情況下,電機的轉速、停止的位置只取決于脈沖信號的頻率和脈沖數,而不受負載變化的影響,即每施加一個脈沖信號,電機就轉動一個步距角,因此脈沖數與電機轉動的總步進角度是呈線性關系的。另外,步進電機只有周期性的誤差而無累積誤差,使得在速度、位置等控制領域用步進電機控制變得非常簡單。步進電機開環控制系統主要優點是結構簡單,在控制精度要求不高的場合應用較為廣泛,但是在實際應用中,若步進電機升、降速控制不合理,會造成步進電機丟步或過沖;在開環控制系統中,由于步進電機丟步現象的存在,無法獲知它是否精確地到達了預定位置,也就無法實現高精度的定位。
? ? 為實現三維工作臺的精確定位,系統采用步進電機閉環控制系統。系統中,利用光柵傳感器的輸出作為微位移控制系統的位置反饋信號,實現閉環控制。光柵傳感器的分辨率為1μm,自帶讀數頭,可直接輸出TTL電平或正弦波信號,為信號處理和與控制系統連接提供了便利??刂葡到y通過光柵傳感器反饋信號來判斷是否達到了預定位置,進而做出相應的調整動作。從而達到精確定位的目的。
1 硬件電路設計
1.1 微位移控制系統總體設計
? ? 根據微位移控制系統的設計要求,首先應保證控制系統的定位精度,其次應盡量做到結構簡單,成本低,操作簡便?;谏鲜隹紤],本文設計了如圖1所示的微位移控制系統。其中,采用STM32F103VCT6單片機作為控制核心和數據處理器,基于THB7128驅動芯片設計驅動電路;定位系統采用電動平移臺,由步進電機驅動滾珠絲杠進行定位,重復定位精度可以達到3μm;上位機采用VB進行程序設計,實現各種控制命令的發送、數據處理、數據顯示等功能;通信方式采用RS 232串行通信,協議簡單,操作方便。

1.2 控制系統外圍電路設計
STM32系列單片機是基于嵌入式ARM Cortex-M3內核的32位微處理器,工作頻率為72 MHz,內置高速存儲器(包括256 KB的閃存和48 KB的SRAM),含有豐富的增強型I/O端口和連接兩條APB總線的外設,還包含3個12位的ADC、4個通用16位定時器和2個PWM定時器,還包含標準和先進的通信接口:2個I2C,3個SPI,2個I2S,1個SDIO,3個USART,1個USB和1個CAN??刂葡到y外圍電路圖如圖2所示。

控制系統驅動的步進電機為兩相四線制步進電機,硬件配置上,E口的12~14腳負責控制步進電機的運動方向,A口的1,8腳和B口的0腳作為步進電機脈沖輸出。輸出信號通過74LV245進行輸出,提高相應的驅動能力;D口的8~13腳為限位開關輸入,B口的6,7腳為光柵反饋信號輸入,輸入信號通過光電耦合的方式輸入,具有良好的電絕緣能力,同時也提高系統工作的穩定性。
1.3 步進電機驅動電路設計
步進電機驅動電路基于THB7128進行設計,如圖3所示。具有以下特點:采用雙全橋MOSFET驅動,低導通電阻RoN=0.53 Ω;最高耐壓為40 VDC,最大電流為3.3 A(峰值);多種細分可選(1,1/2,1/4,1/8,1/16,1/32,1/64,1/128);自動半流鎖定功能;內置混合
式衰減模式;內置輸入下拉電阻;內置溫度保護及過流保護。
1.4 反饋電路
STM32單片機的定時器有對于反饋信號特定的工作模式,即編碼器接口模式。編碼器接口模式基本上相當于使用了一個帶有方向選擇的外部時鐘。這意味著計數器只在0到TIMx_ARR寄存器的自動裝載值之間連續計數(根據方向,或是0到ARR計數,或是ARR到0計數)。所以在開始計數之前必須配置TIMx_ARR;同樣,捕獲器、比較器、預分頻器、觸發輸出特性等仍正常工作。在這個模式下,計數器依照增量編碼器的速度和方向被自動地修改,因此計數器的內容始終指示著編碼器的位置。計數方向與相連的傳感器旋轉的方向對應。

圖4是一個計數器操作的實例,顯示了計數信號的產生和方向控制,還顯示了當選擇雙邊沿時,輸入抖動是如何被抑制的;抖動可能會在傳感器的位置靠近一個轉換點時產生。在這個例子中,假定配置如下:
CC1S=01 (TIMx_CCMR1寄存器,IC1FP1映射到TI1)
CC2S=01 (TIMx_CCMR2寄存器,IC2FP2映射到TI2)
CC1P=0 ?(TIMx_CCER寄存器,IC1FP1不反相,IC1FP1=TI1)
CC2P=0 ?(TIMx_CCER寄存器,IC2FP2不反相,IC2FP2=TI2)
SMS=011 (TIMx_SMCR寄存器,所有的輸入均在上升沿和下降沿有效),
CEN=1 (TIMx_CR1寄存器,計數器使能)
2 系統軟件設計
2.1 上位機軟件設計
上位機界面基于VB進行設計,包括初始狀態設定,步進電機命令輸入,運行模式選擇,調頻的實現,限位開關,反饋顯示,如圖5所示。

2.2 下位機軟件設計
下位機程序基于RealView MDK開發環境進行開發。RealView MDK集成了業內最領先的技術,包括μVision3集成開發環境與RealView編譯器。支持ARM7、ARM9和最新的Cortex-M3核處理器,自動配置啟動代碼,集成FLASH燒寫模塊,強大的Simulation設備模擬,性能分析等功能。程序采用模塊化設計,在主函數中實現系統的時鐘配置、中斷配置、通用輸入/輸出配置、硬件初始化和用戶函數的調用。用戶函數包括步進電機運動程序、反饋信號處理程序、限位信號處理程序、頻率調節程序等。驅動步進電機所需的脈沖由定時器中斷產生。定時器工作模式的向上計數模式,當計數器溢出時產生更新事件。所有的寄存器都被更新,計數器重新開始計數。在程序中設置脈沖啟動頻率為50?Hz,加減速頻率為50 Hz/脈沖,可以改善步進電機運動的平穩性,流程圖如圖6所示。

2.3 串口通信協議的編寫
? ? 上位機與下位機通信采用串口通信,波特率為9 600 b/s、8位數據、一個停止位、無校驗、無流量控制、接收發使能。
? ?

上位機與下位機之間的控制命令采用9個字節每幀,包括電機選擇、命令、數據、校驗等。
3 實驗
在微位移系統測量實驗過程中,采用步進電機步進角為1.8°;步進電機驅動器為8細分;定位機構滾珠絲杠導程為4 mm;光柵傳感器分辨率為1μm。理論上每發一個脈沖絲杠移動2.5μm。發送為20 000個脈沖,脈沖頻率2 000?Hz。理論上光柵傳感器產生50 000個脈沖??刂葡到y對反饋信號進行計數,并發送偏差命令進行實時修正直到最后達到預定位置。同時也進行了速度調節實驗,步進電機運行平穩,驗證了系統的可靠性。
4 結論
基于STM32F103VCT6單片機的微位移控制系統實現了對上位機命令的響應、處理及數據交互。通過接收上位機發送的各種命令,STM32F 103VCT6單片機控制系統產生相應的控制信號,并通過步進電機帶動滾珠絲杠完成規定的動作。同時通過處理位置反饋信號來判斷運動是否到位,使三維微位移系統的運動精度大大提高。而且步進電機采用升、降速控制,避免了步進電機的直接啟動與急停,大大地改善了步進電機運動的平穩性,而且輸出脈沖頻率可以在20 kHz以內調節,具有很寬的速度范圍,具有很強的適應性。整體上滿足了微位移控制系統的要求。
電子發燒友App











評論