康 杰,夏文豪,楊承漢,陳曉穎
(三江學院 機械與電氣工程學院,江蘇 南京210012)
近年來,國內外眾多高校、研究機構對Delta機器人的研究一直比較熱門[1-4];由于在食品、碼垛、3C等行業中快速性、穩定性和性價比等方面的較好表現,Delta機器人廠商如雨后春筍般崛起。商用Delta機器人多采用傳統的專用控制器;隨著計算機技術和DSP技術的快速發展,基于PC+運動控制板卡(DSP、FPGA)的開放式控制器成為新的潮流方向;鑒于PLC編程靈活方便、工作可靠,在工業領域應用廣泛,觸摸屏(或PC+組態軟件)+PLC+運動控制模塊的控制系統架構也成為部分研究人員或工廠自動化的選擇;部分研究人員和工程技術人員也在探索自主設計成本低、開放式、可靠性高、使用方便的各種機器人控制系統。本次設計采用PC+MCU控制器架構的教學型Delta機器人控制系統就是一次嘗試,免去昂貴的機器人控制器,增加了控制系統的開放性和多技術,便于教學。
控制系統方案圖如圖1所示。上位機通過USB轉RS485接口或以太網接口連接下位機;下位機控制器、步進電機驅動器、電源、開關、按鈕、指示燈等集中安裝于電控箱中;下位機主要完成至少4路頻率和個數可控的高速脈沖輸出,另外需要控制安全邏輯、數字量輸入采集、數字量輸出執行、加減速控制、每路的多段連續脈沖規劃、通信等。本次設計主要解決下位機基于MCU的控制器硬件、軟件系統設計。

圖1 控制系統總體方案框圖
采用通用的PC或便攜式PC或工業控制計算機,帶USB接口或以太網接口即可。電腦應預裝好微軟操作系統和C++編程軟件。開發串口Modbus RTU通信方式,通常只需要一個USB-RS485接口轉換器,電腦安裝其驅動。采用宇泰UT-890型工業級防浪涌屏蔽線轉接口,后期擬開發以太網通信方式,不需要轉接口,使用將更為方便。
硬件部分主要包括機器人本體結構如圖2所示和硬件控制包括核心控制模塊、狀態轉換模塊、功率放大模塊和通信模塊等如圖3所示。在該系統中主控芯片采用了STM32F103RCT6,具有多路PWM脈沖輸出接口,輸出頻率要達到10kHz左右,具有串行通信能力。利用內置的串行端口和RS485轉換電路來構建RS485總線實現與主計算機通信的目的,并實現一臺主機計算機主站可同時控制多個從屬控制器。同時需要接收上位機發送的控制指令,將整個系統的當前運行狀態信息發送給上位機。理論與實際偏移狀態和上位機指令狀態相結合,可獲得步進電機的所需脈沖數,從而實現該多步進電動機的控制和準確地到達目標位置或姿態。Delta機構的三個步進電機系統配置一致,其運動協調由上位機根據機器人運動學反解計算而成;獨立的第4軸(C軸)安裝于動平臺,可實現圍繞Z軸的旋轉。

圖2 Delta機器人本體結構圖

圖3 下位機硬件控制連接圖
2.2.1 通信接口電路設計
RS485是半雙工通信,所組建的網絡屬于總線型網絡。在教學過程中可以利用該網絡實現集中控制。網絡地址是區分每臺Delta機器人的唯一標識。在該網絡中,下位機與上位機通信所使用的協議是Modbus RTU協議,地址(ID)范圍是0~127,127一般作為廣播地址用,常用的是1~124。本系統采用4位撥碼開關來實現地址ID的設定,后續改進可采用8位撥碼開關來實現ID的設定,以滿足通常實驗室設備臺(套)數的要求。另外為了進一步提高系統可擴展性,系統選用了ENC28J60芯片設計了以太網接口。該芯片內部具有DMA模塊,能夠實現快速數據吞吐,硬件支持IP校驗和計算。通信速率可達到10Mb/秒。該芯片有兩個引腳專用于連接的LED,它可以很容易指示網絡活動的狀態。
2.2.2 普通I/O接口設計
主控芯片STM32F103RCT6的邏輯電平是+3.3V,Delta機器人控制柜使用的是+24V的邏輯電平,所以輸入輸出I/O需要電平轉換。輸入部分采用光電耦合器控制電平隔離,輸出部分需要提高電流輸出能力,在光電耦合器隔離的基礎上加入N溝道MOS管用來提高負載能力。
2.2.3 電源電路設計
主控制芯片STM32F103RCT6電源為+3.3V,步進電機驅動器的邏輯電源是+5V,但控制柜提供+24V電源,因此它需要必要的+3.3V電壓調節器電路和+5V的電壓調節器電路。+5V電源轉換芯片采用XL4005E,該電源轉換芯片輸入電壓范圍為5V-32V,輸出電壓范圍為0.8V-30V可調,輸出電流能力高達5A,可以滿足總體硬件系統的需求。+3.3V穩壓電源部分由于涉及到通信的穩定性的要求,選用TPS7333器件,其是微功耗低壓差LDO穩壓器可以使通信更加穩定。
教學型Delta機器人需要同時對3個主動臂進行控制,從而實現動平臺的位置控制,再加上末端的旋轉電機,需要4路高頻脈沖信號。程序設計時使用TIM3、TIM4、TIM5、TIM6作為產生4路高頻脈沖的定時器。首先需要對4個定時器進行初始化的操作:將4個定時器的自動重裝載設置為1;定時器的預分頻設置為7199,設置時鐘分割為1,計數模式設置為向上計數模式;初始化4個定時器中斷的優先級和編寫中斷服務子函數。下位機控制器所發出的各路實時累計脈沖數存儲于其存儲器中,可供上位機讀取。在其定時器更新中斷函數中進行各路脈沖數的實時累計,正轉累加,相應的反轉則累減,初始化回零時實時累計脈沖值清零。
下位機作為Modbus從站,利用了STM32F103RCT6單片機的UASRT串口來進行通信。下位機串口接收到上位機發來的數據幀,并確定是否和本機的地址一致,若不一致,從機結束本次接收進入等待;若一致,從機首先對收到的數據幀進行CRC計算,并與主機發送的CRC進行校驗。當檢查沒有錯誤時,可以根據主機發送的功能碼去調用對應的功能函數來執行此函數操作;否則將錯誤消息以從機錯誤數據幀的格式返回給主機,Modbus RTU從站程序流程圖如圖4所示。
在Delta機器人運行過程中,雖然單段式控制可以滿足點位運動的要求,但是插補運動時需要多段控制切換每段速度和脈沖數,否則機構容易出現抖動、卡頓等現象,為了平順運動過程,下位機可以采取多段式連續點規劃模式[5]控制步進電機。
如圖5所示,一個完整的運動過程,根據轉速被分成了3個步驟,下位機分別向步進電機發送連續多段運行頻率和脈沖個數不同的脈沖串[5]。多個脈沖串之間沒有停止間隙,進行連續平滑切換。包括起跳頻率、終止頻率以及起動、停止、頻率切換過程中的加速頻率、減速頻率等規劃,均由下位機單片機控制器根據上位機通過串行通信發送過來的相關參數進行準確規劃,并將系列脈沖串發送給對應步進電機驅動器。

圖5 步進電機控制的多段連續點規劃模式示意圖
目的:設計一個連續循環動作,比如取放物品,進行示教與循環再現操作。
內容:將幾枚硬幣放于操作空間內的平面上,在動平臺中間安裝電磁吸盤,控制Delta機器人進行拾取、移動、放置等動作;注意整套動作能循環執行多次,注意拾取(電磁吸盤通電)和放置(電磁吸盤斷電)動作后應有一定延時時間才能使動作連貫。
通過前期的結構設計與實物制作裝配完成了Delta機器人實驗平臺的搭建。其電控箱內實物圖和總體實物圖,分別如圖6、圖7所示。圖8為實驗平臺進行的吸硬幣示教與再現實驗過程。對3枚1元硬幣依次吸取、放置,圖中的8個動作為一個周期,經過數百組循環實驗,實驗平臺末端對硬幣吸取與放置位置誤差能達到預期效果。Delta并聯機器人廠商通常以25*305*25mm門形路徑的運行時間作為快速性指標,本實驗平臺經測試時間約為0.40s,達到國內知名商用機器人水平。

圖6 數據采集數據庫

圖6 電控箱內實物圖

圖7 教學型Delta機器人實驗平臺

圖8 硬幣的拾取-放置循環再現實驗
本文主要介紹了Delta機器人實驗平臺下位機控制系統設計,主要完成了以下工作:硬件部分主要包括核心控制模塊,輸入輸出模塊和通信等模塊。軟件部分包括解決了4個通用定時器來產生4路的高頻PWM脈沖信號,通過Modbus通訊協議與上位進行通信的問題。通過各路實時累計脈沖數來驗證開環步進電機運行位置是否準確。在點位控制上通過采用多段式路徑規劃來提高機器人的運行性能。初步教學設計并通過吸硬幣實驗進行驗證,實驗結果良好,達到預期效果。本實驗平臺也為機器人工程等專業的實踐教學提供了一種新的嘗試。