劉戰峰
(太原科技大學 太原 030024)
目前,調平系統被應用在多個領域,在軍工領域,導彈發射車的調平系統[1];在建筑領域,需要測量空間的立體尺寸[2];在光學領域調平系統可以利用光的直線傳播原理進行方向引導[3];調平系統還可以為實驗室創造實驗環境,調平系統被廣泛運用到多個領域,在測量行業也有設計,測量系統,以及各種工程領域的調平,比如水平測距,汽車前照燈,激光發射儀[4]等。
常用的自動調平技術采用數字化的機械電子技術,實現了系統的自動化。目前大部分的設計主要集中在大型和中型設備上,對于方便我們實驗研究的小型設備還不完善。比如在測量領域,學生實驗室領域等。對于某些領域,由于系統承受的負載比較小,如果采用液壓技術[5]會大材小用,再加上需要實現調節快,精度高的特點,所以采用電子式[6]。本系統采用高自動化的機械電子設計方案,采用機械調節理念,應用STM32微處理器和三軸陀螺儀相結合技術,通過伺服舵機旋轉調節平面水平,是一種全新的調平系統。通過實驗計算得出,系統不僅能達到高精度,少時間,而且生產成本也不高。
調平系統基于STM32單片機設計,此款單片機集多個優良性能于一體,有多個串口功能,而且功耗比較低,內置嵌入式開發系統[7]。LSM303DLH三軸陀螺儀[8]用于測量重力加速度,PID算法[9~11]控制舵機旋轉角度,舵機采用PWM波控制[12~14],數據采集需要進行數字平滑濾波消除誤差,陀螺儀與單片機利用I2C協議[15~16]傳輸數據。
調平系統的設計結合了機械電子技術,在機械上實現了兩個自由度的可控調節,在電子上實現了數電與模電相結合的優勢,還利用了可以控制角度的伺服舵機作為調節載體,陀螺儀與單片機進行數字的采集和控制,再加上PID算法的快速響應,在速度和精度上為系統功能的實現提供了保障。

圖1 調平系統構成
電源管理為整個系統提供電力支援,兩個伺服舵機控制兩個自由度的旋轉體,最小角度包含于1024個數字位置平分108°,伺服舵機最小調節角度達到0.176°。系統在STM32微控制系統,伺服舵機旋轉系統,陀螺儀反饋系統的控制下進行調平。
調平系統由兩個伺服舵機,三個金屬框架,和陀螺儀等元件組成。系統所用到的機械結構是由兩個舵機作為旋轉主動力,底端伺服舵機用金屬框架和底板鏈接,底端伺服舵機利用圓盤與上端伺服舵機鏈接,實現了旋轉體的兩個自由度屬性。上端伺服舵機通過圓盤與直角金屬固定,直角固定架上面安裝陀螺儀芯片。
旋轉體工作原理:調平系統的底座固定伺服舵機A,首先伺服舵機A進行旋轉,由于系統上部分整體連結在與伺服舵機A固定的圓盤上,所以伺服舵機A的旋轉會導致系統上部分即伺服舵機B和陀螺儀以及支架的整體的旋轉。然后伺服舵機B進行旋轉,伺服舵機的旋轉會帶動直角固定架以及陀螺儀的移動,這樣就實現了陀螺儀平面兩個自由度的旋轉。在空間里兩個自由度能實現空間任何位置的旋轉。

圖2 旋轉體
電源管理包含TLE8366-EV5,AMS-1117-3.3,利用開關電源設計方案可將直流7V到45V降壓到5V,由于單片機供電電壓為3.3V所以利用線性穩壓原理,調節得到3.3V電壓,同時也為陀螺儀等供電。
考慮到單片機I/O口的輸出電壓只有3.3V,并且I/O口能提供的電流也有很大的限制,為了保護單片機的I/O口,并且可以在驅動伺服舵機時能有一個較大的電流寬域,設計了一種經過比較器的上拉電路,使電壓變為5V,同時提供可觀的電流。此波形是通過利用單片機的定時功能,設定20ms的周期,改變高低電平的時間調節占空比,產生周期為20ms的方波,峰值為3.3V,通過比較器電路把峰值抬高到需要的5V。

圖3 電源管理
程序數據反映在一個閉環的調節上,數據的處理在反復的進行,對調平的準確度起到了不可磨滅的作用。采集到的數據和理想位置進行對比,根據相應情況進行PID控制算法的計算,通過STM32產生PWM波,調節陀螺儀平面,于此同時還需要傳感器的反饋,最后調節完成一個周期,如圖4所示。

圖4 數據流程圖
本系統包含的軟件程序有輸出兩路PWM波的I/O口控制程序、I2C總線程序、各模塊的初始化程序。各軟件程序功能如下:
1)I/O口控制程序:方波占空比可變,周期為20ms。
2)I2C總線程序:實現陀螺儀傳感器和STM32數據傳輸的功能。
3)各模塊的初始化程序:上電復位初始化硬件,做好準備工作。

圖5 程序流程圖
上電復位,進入主函數,初始化設備之后進入工作狀態,首先測量重力加速度,判斷加速度情況后,計算調節值。進入PID閉環循環調節,直到在誤差循序的范圍之內進入下一步調節(以上方法類似),結束。
為了能明確地解釋程序設計思路,所以結合機械結構進行說明。首先使裝置計算周期公式為

其中T表示周期,V表示預分頻,IV表示初始值。
伺服舵機A、伺服舵機B旋轉到垂直的外置,如圖6所示。

圖6 系統初始狀態
觀察系統初始狀態示意圖,可看到陀螺儀在空間上的x,y,z軸,其中x,y軸所在的平面以理想狀態與我們需要的平面在一個平面。z軸和伺服舵機A旋轉主動軸是平行的兩條線。所以假使伺服舵機A旋轉那么空間上我們的坐標系會圍繞z軸旋轉,那么在旋轉的過程中,可以使x軸或者y軸與z軸所在的平面與自然界的重力加速度在一個平面。根據幾何知識,這樣得到的結果是自然界的重力加速度在陀螺儀所在的空間坐標系上,在x方向或者是在y方向所在的分量接近0,當一個方向的分量接近0后,在通過旋轉使另一個方向的分量同樣也變為0,所以我們是實現了x,y軸所在的平面,即我們需要調平的平面與自然的重力加速度垂直,這樣的旋轉使得系統調平的實現。
調平程序控制:(使重力加速度在x軸方向的分量接近于0)根據系統初始狀態的仰視圖如圖7所示。

圖7 系統初始仰視圖
利用三角函數知識需要轉動的角度:

伺服舵機進行180°旋轉占空比的域度為2.5%到12.5%所以對應于初始狀態下,需要旋轉α角度對應的占空比:

PID控制參數設計:PID是比例、積分、微分的縮寫。在一個具有閉環的控制過程中,過程的控制方法會受到環境的影響,在參數的整定方面還需要考慮所控制對象的特點,以及干擾的來源于干擾的大小,當我們將參數整定完成后,參數就不應該被改動,可以適當的去調整設計[8]。由于微小誤差的存在為了使結果更加精確,所以需要引入積分變量,累計誤差進行微小的調節,誤差的計算按照公式:

其中:x2為最新得到的重力加速度在x軸的分量;x1為代表上一次測得的重力加速度在x軸的分量。
PID的控制算法中還需要加入比例項,比例項Kp按照公式:

經過上述的步驟我們已經把重力加速度在x方向的分量調節到接近于0,那么接下來按照預定的思路需要調節在y方向的分量。

圖8 系統一次調節后狀態
如上所述:

進行PID閉環調節以后,裝置在x,y方向的重力加速度分量接近0,從而我們可以看到系統已經達到了我們所希望的水平狀態,這是,如果去測量z軸重力加速度的值,可以發現其值和自然重力加速度幾乎相等。根據幾何知識也可以了解到自然重力加速度與z軸幾乎重合。
調平后,系統狀態如圖9所示。

圖9 系統調平狀態
本文主要針對STM32微處理器控制伺服舵機調平進行了設計,通過機械電子相結合實現了高自動化的調平系統。本系統具有成本低,制作工藝簡單,發展前景好的優點。本設計在時間上和精度上能滿足絕大部分需求,但是在擔負負載方面還有缺陷,希望以后可以改善。