陳錦儒 劉梓涵 林楚玲 葉偉森
(韶關學院,廣東 韶關 512000)
該課題主要的研究內容為通過改裝三軸運動控制平臺,加裝繪圖器,如圖1所示,使其成為三軸并聯式繪圖控制平臺。如圖2所示。通過建立基于Delta的運動控制模型,使用逆推、建模的方法,建立繪圖筆空間變換函數,根據設定的運動路徑函數,利用直線插值法以及曲線插值法進行運算,最后使用ARM系列嵌入式芯片STM32對其進行控制,使其可以繪制各種圖形。

圖1 繪圖器
DM556步進電機驅動器是一種將電脈沖轉化為角位移的執行機構,只需要STM32輸出PWM波,通過控制脈沖數即可控制步進電機的轉動步數,精確度高、不容易失步。使用驅動器共陽極接線法,3個驅動器的脈沖端PLU+、轉向控制端CIR+、使能端EN+接口全部接3.3 V,脈沖輸入端PLU-接STM32的定時器脈沖輸出口,轉向控制端CLR-和使能端EN-接STM32的普通I/O口,用于控制轉向和使能驅動器。

圖2 三軸運動控制平臺
STM32F103ZET6系列單片機是ST公司生產的高性能單片機,具有速度快、低功耗且抗干擾強的特點。該芯片內部集成了復位電路、多路普通定時器以及2個高級定時器,可用于產生PWM脈沖以及定時計時器、編碼器輸入等。工作頻率:72 MHz,512 K用戶應用程序存儲空間,芯片上集成2 k字節RAM。7個32位定時器可以很方便地實現我們所需的功能,利用其強大的功能不僅可以簡化硬件電路,而且還可以大幅度提高系統的運行速度,節約硬件成本。使用最小系統板作為主控板,結構緊湊,工作穩定。
該設計使用開關電源作為主電源,輸出電壓為12 V。由于STM32最小系統板具有穩壓芯片,可將12 V電壓穩定到3.3 V供芯片使用,因此將12 V的電壓直接輸入最小系統板。步進電機驅動器的工作電壓為12 V。
該項目需要同時驅動3路步進電機,因此必須要有3路脈沖控制信號輸出,同時也要有3路的方向控制I/O口輸出。該系統采用芯片STM32F103ZET6作為主控制器,利用其定時器作為脈沖控制信號源,并利用其72 MHz的內核進行高速運算。該系統的總體框架圖如圖3所示。從總體上看,整個系統由按鍵輸入電路、STM32主控芯片最小系統電路、DM556電機驅動電路以及步進電機組成。

圖3 三軸繪圖系統電路設計總體框架
整個軟件系統的運動控制主要分成3個部分,分別是1)模式選擇代碼:利用單片機的獨立按鈕控制信號的輸入,可以設置其運動的初始位置以及終點位置,并且可以設置其畫圖的軌跡;2)限位檢測開關的檢測代碼:利用單片機的中斷作為限位檢測,可用于系統初始化的校準以及系統運動過程中的限位保護,防止機器越過工作區導致硬件損壞;3)脈沖信號數的輸出以及方向控制代碼。整個系統代碼主要包括了串口通信代碼、脈沖輸出代碼、限位檢測代碼,笛卡爾坐標系變換代碼,步距計算代碼。
3.2.1 定時器初始化程序
定時器初始化模塊通過配置STM32內置的定時器,把定時器配置成占空比為50 %、頻率可調的脈沖輸出模式,并且設置其產生中斷,使其在使用脈沖控制步進電機運動的同時,進入中斷函數,處理額外的任務。
3.2.2 定時器中斷處理
定時器中斷主要有3個功能。
(1)限位保護,防止到達頂端后繼續向上運動,損壞機器。
(2)檢測運動模式下,繪圖器是否到達目標點。
(3)步進電機運動控制。
3.2.3 空間坐標變換
笛卡爾坐標系與Delta空間坐標變換算法是利用笛卡爾坐標系與世界坐標系的數學關系進行空間變換,使我們眼中的X、Y、Z坐標系變成三軸并聯式繪圖機的世界坐標系。通過Delta空間變換算法,可以算出笛卡爾坐標系下的目標坐標與Delta空間坐標系下對應的3個軸的滑塊高度。并且通過步距計算函數,計算出滑塊應該運動的距離以及STM32應該輸出的脈沖數。
4.1.1 電源部分
按要求接電源線,并且把輸入檔位設置為220 V。檢查接線無誤后上電,測量輸入電壓以及開關通電后輸出端是否有12 V電壓輸出。
4.1.2 最小系統板以及各個外設
上電后,測量STM32最小系統板的輸入電壓是否為12 V,測量STM32的VCC引腳是否為3.3 V,并且檢查能否成功下載代碼以及運行檢測程序,最后用示波器檢測定時器脈沖輸出端口的波形是否正確,檢測顯示屏等器件是否正常工作。
系統軟件設計采用模塊化設計方法,整個系統由初始化模塊程序、PWM輸出程序,定時器程序,按鍵檢測模塊程序、顯示屏輸入模塊程序等部分組成。系統上電后,對相關外設進行初始化,系統開始運行。在執行過程中,根據運行流程分別調用各個功能模塊,完成脈沖輸出控制步進電機。
軟件調試時,使用串口通信程序通過STM32與PC端的串口通信,使用上位機獲取、觀察STM32上傳的繪圖器的笛卡爾空間坐標,以及經過Delta坐標變換運算之后得到的滑塊位置數據。完成這一步之后,用尺子測量、檢查、校驗坐標變換Delta算法的輸出與步進電機的實際位置的偏差,并通過調整參數來提高步進電機的控制精度。
該設計綜合運用數學、控制理論方面的知識,通過理論與實際相結合提出并論證設計方案,然后進行軟、硬件調試,最后使整個機器系統穩定運行。在整個設計過程中,本著穩定性和精確性并重的原則,采取了諸多有效措施,極大地提高了控制的精確度。
筆者通過不斷地對硬件試驗和程序進行調試,使系統可以較好地滿足要求,無論是畫圓還是畫直線均能獲得較好的效果。