??????? 引言:在2010年的時候,在北京的一個數控公司工作。產品采用的是通過運動控制卡發脈沖的方式,控制機床的X、Y、Z軸進行加工。?? 機床在加工產品的時候,一直存在著精度的問題,例如DMG的機床可以達到0.01的加工精度,但是我們的就不行。? 當時作為一個小底層員工,猜測可能有兩點造成的這個問題。一點是我們的控制系統是基于微軟的WINDOWS XP開發的。 微軟的系統不是實時操作系統,在操作系統的任務切換上有些力不從心,然后公司的女同事寫的代碼還巨臃腫(對操作系統的任務切換和內存分配機制都不了解就可以寫代碼,領導還真放心),運行效率看著我都擔心CPU會不會過載累死 雖然公司的領導層屏蔽并精簡了很多系統上用不到的功能,降低系統負荷,但是微軟的系統在面對實時控制上依然力不從心,是不爭的事實。???? 在風河系統一統實時系統的時代,這么大的公司還在用XP,有點說不通啊~當然換平臺也是大工程,沒個果敢的勇氣還真下不了決心。 ???? 第二點是我們的伺服控制器是通過發脈沖的方式控制的,這種方式很容易有干擾,并且給上位機造成的工作壓力也不小。當時就覺得領導層為什么不狠心把這種方式改掉,改成CAN通信也好啊。?? 后來一次偶然的機會,從單位倉庫里搞了一套西班牙法格的數控系統,將我們機床的機械部分接到法格上,控制機床加工,當加工產品出來后,精度比我們自己的系統好很多(關鍵那套系統還是法格幾年前的產品),這回問題明顯了:同樣是發脈沖,別人的脈沖比我們的好多了,尤其在三軸脈沖的同步控制上比我們的產品好多了。如果操作系統換不了,那么想提高精度,唯一的辦法就是換成總線通信了,估計能對加工精度提高不少。但是很遺憾的是12年就離職了
,我的猜測也沒法驗證了~~
?????? 隨著IT產業的蓬勃發展,工廠內設備的自動化也全面進入了要以網絡來聯機的時代,這也使得"PC Based"的控制器在工廠設備中被運用的比例也愈來愈高,在圖一中所展現的是一個開放式架構 (Open Architecture) 工廠自動化 (Factory Automation) 的網絡結構,包含了硬件及各式的通訊協議。
?????? 在硬件方面可以看出走向串行式是一個共通的趨勢,因為串行式通訊本身就有「維修容易」、「簡省成本」、「遠程控制」等的特點。但其不方便的地方就是在于很難找出一種通用于所有組件及設備之間的通訊協議。舉例來說,串行式影像的標準通訊協議:Camera Link 和串行式運動控制的標準通訊協議:SERCOS就是完全不同的語言。彼此并不能共享一條線而彼此溝通。
??????? 本文將著重在探討串行式運動控制的技術。在近年來,由于半導體制造設備等相關的電子制造設備市場大幅成長,而使得機器設備上的運動控制系統出現了以下數點的技術需求:
1. 多軸運動控制
??????? 機器設備因自動化程度提高而使得單一機器上所需要的軸數增多,一臺設備上十幾軸是常見的事情。在軸數變多后,如何協調各軸動作就是一個重要的課題。
2. 體積要小
??????? 由于廠房空間的限制,機器的體積要越小越好,機器內控制器的體積也就被要求愈來愈小,相對地走線空間也愈來愈少。
3. 要更精準
??????? 隨著半導體制程已經精密到100nm以下,在制程及檢測相關設備所要求的運動精度也要更精確,其它如LCD設備、SMD制程設備也有相同要求。
4. 要更穩定
??????? 因為設備的投資經費龐大,系統停機的成本就更顯的突出,因此所有機器設備制造商都必須追求系統的穩定性。同時也必須考慮在組件損壞須要維修時,必須能快速替換且不出差錯。
??????? 然而,綜合以上幾點的需求分析可以看到,既要在一個控制器內進行多軸運動控制,又要控制器的體積更小,配線的維修要更容易,這些條件看來是相沖突的。可以這樣說,「串行式運動控制」技術便是因應這些新時式機器設備的需求而產生的。以下各節將深入介紹此技術之內涵。
傳統AC伺服定位系統
??????? 圖二所示是一個傳統「模擬式AC伺服定位系統」的方塊圖,驅動器的內層回路是一個相量控制的電流死循環系統以控制電機的轉矩,外圈是轉速死循環控制。運動控制卡讀回 encoder 位置來作定位死循環控制。通常控制卡會利用DA輸出電壓到驅動器當成轉速指令。
?????? 圖三所示為改良后的「脈沖式AC伺服定位系統」,因為伺服驅動器的進步而將定位死循環控制移入驅動器內執行。(也就是將速度環移到了驅動器內部)。運動控制卡輸出脈沖指令來同時控制馬達的位置及轉速,同時讀回encoder位置以作定位修正之用。
??? 不論是傳統或是改良式的控制架構都一定會遇到下列的瓶頸:
1. 配線太多。每軸至少需要12個訊號以作為反饋,指令及其它I/O點控制用途。
2. 分辨率的限制。在模擬式驅動器的架構里,須要藉AD/DA轉換來傳送指令,以一個16bit分辨率的AD為例,其保證分辨率為14bit。必須對應到最大正負轉速,例如:+/-4500rpm,則每一位所代表的分辨率為9000rpm/2^14=0.55rpm。這樣的分辨率沒有辦法對應到目前高性能驅動器所要求的控速比,在許多的高精度加工場合是不足的。
??????? 而在脈沖式驅動器架構里,分辨率則是被脈沖的最大傳輸速度限制住了,此點在后面章節還會解釋。
3. 偏移誤差(Offset)及噪聲。只要是模擬訊號必定會有所謂偏移誤差的問題,造成傳送指令的位準誤差,此問題在零轉速附近會特別明顯,必須靠校正來補償,另外在高壓大電流的AC伺服系統必須特別注意噪聲帶來的干擾,否則也很容易引起脈沖指令誤差。
4. 缺乏自我檢測功能。這兩類驅動器架構都很難令外界控制器讀取或實時調整伺服參數,伺服驅動器內的參數多達百種,沒有辦法藉由傳統配線方式就讀取這些參數,如此就沒有辦法在控制器上完全掌握這些參數,也就沒有辦法進行自我檢測及調試。
各式串行式運動控制通訊協議
??????? 隨著串行式通訊科技的日新月異,如:Ethernet,運用串行式通訊來解決傳統服務器驅動問題也有很大的進展,就如第一節中所述,串行式系統的不便之處在于沒有共同遵守的通訊標準,就連在單項的運動控制系統目前也沒有大家遵守的標準,不論是在硬件或通訊協議。雖然沒有標準,但是技術內涵的需求都是一樣的:
1. 要能在固定周期內實時地傳輸控制指令,
2. 此周期是快速到約0.1ms~5ms之間,
3. 非周期性地收集外圍所有I/O資料,
4. 選擇性地、非周期地傳收伺服參數數據,
5. 數據結構上要含數據正確性編碼,以防在噪聲干擾時作數據修正。
??????? 圖四所示是市面上可以看到的各式串行式運動控制通訊協議的一覽表,及其主要支持的廠商。硬件傳輸媒介主要有:RS485、IEEE1394、光纖及Ethernet四種,通訊協議方面目前還是百家爭鳴,雖然SERCOS (IEC 61491)是僅見的國際標準,但是日本、美國伺服大廠仍是定義自己的通訊協議。很難下定結論那一個通訊協議就是最好的通訊協議。傳輸速度愈快,當然伺服控制周期時間可以更短,而使得頻寬增加,可控制軸數變多,但畢竟這還不是決定性的因素。在應用層面還是要從系統規格往下看,根據性能/價格比來找到最好組合的運動控制卡+伺服(步進)驅動系統來發展應用。
? 下節我們將以日本伺服大廠:三菱電機所開發的串行式伺服技術:SSCNET為例,更深入地探討此技術為運動控制技術帶來如何的進步。
SSCNET串行式伺服技術
??????? 日本三菱電機自從九十年代初期開始開發SSCNET(Servo System Control Network)技術,到目前已經是等二代SSCNTⅡ,在市場上已經有超過一百萬軸伺服馬達應用SSCNET的成功實績,可以說是串行式伺服的成功案例。在三菱電機所有類型伺服的出貨比例也逐年提高。SSCNET的傳輸媒介是類似 RS 485 技術,傳輸距離最長可達30米,傳輸速度為5.625Mbps,控制用的通信周期為0.888ms。控制方式采主從式架構,控制卡上一顆主控IC(Master Controller)可以控制六顆Slave的伺服馬達,所以最多可控軸數,要看控制卡上能放多少 Master Controller,可控軸數為 6*N軸。各主控 IC之間還可以作同步,使得被控伺服軸得以同步。目前主控IC是由三菱電機獨家提供。
??????? 在通信協議方面可以參考圖五,主控IC與受控伺服驅動器之間數據傳送的時序如下:
1. 主控IC與伺服驅動器的通信時脈同步后,控制器側產生第一個絕對位置指令并寫入主控IC。
2. 在第二個時脈時,由主控IC透過傳輸線將指令廣播出去,各伺服驅動器各自接收自己的位置指令。
3. 在第三時脈時,各伺服驅動器根據位置指令而執行死循環定位控制。
?????? 除了固定周期的位置指令外,還可以不定期地讀寫各伺服驅動器內參數。
??????? 綜觀SSCNET技術,我們可以整理出它帶給運動控制使用者下列的好處:
1. 減少體積、節省配線
傳統一張運動控制卡約可以出線控制4~6軸,目前一張SSCNET控制卡便可到12軸。配線便大幅減少且變得容易很多,并使得配線人工成本及配線錯誤造成的損壞降到最低。
2. 高速高分辨率伺服控制之實現
由圖六所示可以看到隨著編碼器技術的進步,也使得服務器的頻寬進步到550Hz。這對機器帶來的效益就是加工速度大幅提高,因為它使得到位后穩定時間(Settling time)降低了。目前大多數是編碼器分辨率多在17位131,072pulse/rev。可是要發揮這些編編器所能達到的定位分辨率,在3000rpm時脈沖式控制器就必須送出約 6.5MHz 的脈波。這已經到達脈波傳輸線的極限。但是透過SSCNET在每個時序脈沖傳送32位的絕對位置指令,便很容易地達到17位的定位分辨率。
3. 絕對同步的實現
由圖七所示可以看到,在傳統的伺服系統在各軸之間,由于脈沖命令傳送的時間誤差(約0.5ms)造成各軸真正在執行位置命令時時間也有誤差,如此在多軸插補動作時便會有些許的時間誤差而造成插補曲線的不完美,而透過SSCNET就可以輕易地達到每一軸完全地同步動作。
4. 控制器上管理所有伺服軸參數
??????? 透過SSCNET各伺服軸的參數可以統一在控制器上作調整及讀取,如此可把伺服調機與真正機臺控制結合在同一個環境下實現。
5. 絕對位置系統的建構
?????????透過SSCNET控制器上讀到的是32位的絕對位置,不像脈沖式伺服只能得到增量式位置。讀到絕對位置能方便在緊急狀況 (ALARM)造成系統停機又重開后,不必再執行回原點的動作。
6. 可靠度的提高
??????? 在數字數據傳輸時,藉由HDLC所擁有的CRC Error Check功能,通信品質的信賴度就大幅提高,不會像傳統式伺服易受噪聲干擾。
PC Based SSCNET解決方案
??????? 圖八所示是一個PC Based 的SSCNET控制系統示意圖。Host PC透過PCI Bus 向卡上的DSP下各軸的位置,速度曲線命令。DSP運算成為各軸的位置命令后在各周期下命令到伺服驅動器。借著運算功能強大的DSP,各式復雜的運動機能都可以達成。如多軸插補、連續運動、運動間改變速度或端點位置等。為了達到真正的「位置死循環控制」,卡上還可以接受外部增量式編碼器的反饋,而后輸出SSCNET命令。如此可以克服機械傳動組件所造成的定位誤差。
???? 在軟件的開發方面,隨著控制卡也附有 Win32的函數庫在各種不同操作系統上,一個Motion Creator的調試軟件可會跟隨在軟件上。從圖九可以看到在SSCNET的Motion Creator軟件上,可以使伺服參數調整,到試機調校在同一平臺下完成,大幅減少了系統開發驗證的時間。
實際應用與未來發展
??????? 本節舉一實例來說明SSCNET在實用上的好處。圖十所示為一個雙軸的傳送機構, 由兩個伺服電機帶動兩個滾珠螺桿來作傳動。在此系統中, 兩個軸的位置必須完全同步,否則就會在兩個滾珠螺桿上出現剪應力。 圖十的左下圖所示是傳統伺服的應用方式。 第一軸作位置控制,同時第一軸輸出電流指令來下到第二軸來作扭力控制。如此就可以使第二軸跟隨第一軸同動。可是指令的時間差還是會造成無法完全同動。右下圖是利用SSCNET的雙軸同動。可以看到在控制方式及配在線都精簡很多。目前此應用已出現在搬運第五代TFT基板的Robot系統上。
??????? 未來SSCNET的發展還會朝著傳輸速度更快,傳輸距離更長來前進。對于客戶帶來的則是更高速更精準的自動化控制愿景。