機器人、遙控載具和遙測系統是控制應用走向更上層樓的新研究領域,而舵機是其主要關鍵零組件之一。數位舵機馬達比傳統馬達有較高的精準度與較快的響應速度。在智能機器蓬勃發展的年代,自動控制及調整精準度是目前我們努力的方向。馬達是現今民航機機舵主要的驅動應用。自動控制舵機比起傳統由手動控制馬達有更多優點:配合回傳的電流數值使得馬達穩定性增加,反應速度更快。且在切換為手動駕駛時快速的將機舵調整為當下適合的飛行模式。自動舵機馬達的控制是靈活多元,可透過電流環、電壓環、PWM等參數的改變,使自動機舵能在不同的環境下皆能快速的達到準確的位子,能產生效率的最佳化表現,提升飛機在飛行時的靈活度與應變緊急狀況的能力。
本產品將利用盛群半導體所發展之HT66FU50與HT66FM2240晶片作為系統控制的主要電路元件。HT66FM2240透過H-Bridge輸出來控制舵機馬達,再經由位置環跟電流環閉迴路設計,來監控目前馬達負載與位置改變;再搭配程式演算法來辦別馬達正確的運行位置,以利於控制馬達達到最高精準度與高效能。HT66FU50為人機介面之主控晶片,本產品採用I^2 C與UART的方式,作為電腦端與馬達控制端的橋樑。本產品重點在於設計並研究出適用所有市面上的舵機馬達的開發平台。如此,便能省去舵機馬達開發者許多時間和勞力成本。本產品以高性能與低價位來開創市場經濟價值,值得加緊開發。
前言
創作動機
舵機馬達的研發已持續許久,但靠普通舵機馬達是無法精準迅速的達成各種環境的需求。因應這股風潮,數位舵機馬達正快速發展在產業界,不僅運用面更廣闊,控制面相對於傳統馬達更優化更有效率,普及到日常生活中也指日可待。
早期在模型上使用最多,主要用於控制模型的舵面,適用於那些需要角度不斷變化並可以確保順暢穩定運動的控制元件。舵機接受一個簡單的控制指令就可以自動轉動到一個精確的角度,所以非常適合在微機電系統、自動控制系統和航模中作為基本的輸出執行組件。因舵機馬達與目前市面上所使用的馬達,如交流感應馬達、直流有刷與無刷馬達相比之下,具有相當的優勢。因此引起了國內、外學者與廠商的注意。目前有不少關於舵機馬達的研究與應用產品問世。
在台灣,機器人、遙控載具和遙測系統在產界已發展多年,在研發方面更趨於成熟,卻有大部分還在使用普通舵機馬達,其應用產品也在萌芽階段。對於控制應用,為求更優於傳統手動控制,因此投入於自動控制舵機領域,進而達成高效能、低價位、高精準,且能以最快速度自動調整來靈活應變各種環境。這項作品不僅僅想推動一個新的應用概念,更思考如何改變手動控制的環境限制,來達成一個舵機馬達新的里程碑。
創作目的
未來不管大型或小型的機械工具都會走向高精密跟高精準的方向。在各方面的器械驅動應用,更應該以自動化和高效率的原則下,去做開發和應用。鑒於傳統馬達手動控制,數位舵機馬達能更有效率針對環境自動迅速做出調整,再用主控晶片搭配演篹法連接電腦終端,提高的精準度、效能和經濟價值是傳統馬達所做不到的。
本創意產品的主要特色是以HT66FU50作為系統控制與人機介面的主要核心,並配合HT66FM2240控制並判斷馬達的角度和轉速,並回饋給主控端。溝通方面由I2C與UART介面作為電腦端與馬達控制端的橋梁去作傳輸與接收。控制馬達的轉速和角度非常困難。經由位置環跟電流環閉迴路設計,來監控目前馬達負載與位置改變參數是屬於各實驗室的智慧財產權,而馬達開發平台控制系統就是一整個系統的指揮官。
本產品提出一個通用型的舵機馬達驅動控制器開發平台的製作方法,未來可根據不同的應用場合,調整控制參數,使舵機馬達系統可滿足各種負載環境的需求。
本產品將開發以舵機馬達做為新一代的動力控制核心的產品。相較於感應馬達與串激馬達,新的數位舵機馬達除了消除電刷與轉換器的摩擦耗損之外,尚能針對節能減碳、精準控制、快速反應和降低成本做出貢獻。
數位舵機馬達還有優異的幾項特性:
1.體機輕巧,易於安裝。
2.輸出力矩大,穩定性極佳。
3.控制簡單,便於和數字系統配合應用,讓馬達轉速與負載能力能滿足各種應用領域的要求。 4.低價位,創造市場經濟價值。
工作原理
本套數位舵機平台,結合了HT66FU50和HT66FM2240兩晶片的功能。使用HT66FU50內建UART模組來連接電腦作溝通,同時當主控端,藉由I2C作訊號和數據傳輸針對HT66FM2240內P.I.D演算法參數作調整,透過H-Bridge電路去驅動馬達模組,控制舵機馬達運轉角度。
由上可知,舵機馬達在控制與調整的過程中,總是消耗大量的時間成本,因此需要一套完善的舵機開發平台系統。
本產品共分為四大模組,下列為本產品的模組:
1.人機介面模組。
2.UART模組。
3.I2C串列介面模組。
4.馬達驅動模組。
這些模組加上 I/O 的應用和軟體整合開發正是HT66家族的強項,極適合用來做數位舵機平台開發。下列為各個模組的介紹。
人機介面
本產品採用電腦介面顯示、按鍵與卷軸來組成一套完善的人機介面,透過C#軟體充沛的 軟體資源,能使介面更加精美,使用者在使用上更加便利,能使舵機之調製過程,大幅降低時間成本的消耗。
此套人機介面包含有馬達參數區、RS232通道數值設定與馬達控制區,三個簡約且清楚的介面,讓使用者可以輕易地上手,使用者也可從介面上得到相對應的訊息去做立即的控制與調整,提升工作效率。
UART模組
UART模組之設計是使用HT66FU50晶片內部配備之UART模組來實現。
透過UART模組之TX、RX腳位配合MAX3232週邊電路做設計,來與個人電腦做溝通,達到資料數據之傳輸與控制,並調整舵機馬達驅動模組內P.I.D演算法之參數。如此便能有效地調製馬達的運作。
USART解碼是用掃描BUFFER的方式。BUFFER總共有30組,一組有10位元組(10 Bytes),共300 Bytes,各組資料裡的最高位元為有效位元是和資料種類位元作邏輯運算,當有掃描到有效資料時,程式會先將有效位元去除,再根據資料種類做資料處理。
以下為每個Bytes所代表的資料種類:
當收到開頭碼為0X7A 、0X01~0X04時,代表此時電腦端將執行各個模式之選擇,選擇模式共分為舵機調適模式、固定角度模式、角度微調模式與雨刷模式四大模式,在測試方法會詳細介紹各個模式之功能。
當接收到開頭碼為0X5A、0X01時,表示電腦端要求讀取當下數位舵機馬達之參數值,如位置角度參數、電流損耗參數..等。
接收到開頭碼為0X5A、0X02時,為電腦端要求進行數位舵機之調適,透過傳輸介面來調整目前馬達驅動晶片內的P.I.D演算式參數。
I2C串列介面模組
I2C模組為HT66FU50人機核心與HT66FM2240馬達驅動核心之溝通橋梁。
此模組是透過SAD、SCL兩條信號線的控制來達到資料傳輸之目的。I2C模組資料傳輸方式是以串列方式進行,連接於I2C模組上的裝置分為「Master」與「Slave」兩大類,Master端是指發號施令的裝置,而Slave端就是聽令者,根據Master的命令完成資料的傳輸動作。
在本套產品中由HT66FU50做為Master端,HT66FM2240則為Slave端,如此就能將HT66FM2240所偵測到之馬達參數傳送至HT66FU50,在透過UART模組傳至人機介面做顯示,使用者便能在電腦上清楚知道目前馬達之參數。
MCU核心功能
本組採用HT66FU50作為核心MCU,再搭配HT66FM2240作為馬達驅動,基於其高效能、低功率的特性。
HT66FU50 晶片
在本套產品內HT66FU50晶片為人機介面核心晶片透過內建的UART模組來與個人電腦、人機介面做連接,並顯示參數值,其內建的UART模組來做資料處理與解碼的動作,RS232協定的部分作為與個人電腦的資料傳輸與溝通。
以 I/O 腳位來輸出PWM,提供舵機馬達驅動模組作比較。用I2C串列介面模組與馬達驅動模組作連接,藉此來改變內部之P.I.D演算是參數。
HT66FM2240 晶片
HT66FM2240晶片是本產品最主要核心部分,其工作內容為驅動數位舵機馬達,透過晶片的高效率運算,配合位置環、電流環閉迴路,將接收到的訊號回傳至晶片,做數學運算來校正 H-Bridge之PWM輸出,以此來達到高精準的馬達驅動。
透過I2C串列介面模組與人機介面系統晶片作溝通,來根據使用者設定,改變P.I.D演算式參數。
產品結構
本產品結構主要就軟、硬體兩大部份分別討論。本部份主要闡明HT66FU50與HT66FM2240晶片在電路中與各大系統的相互關係,與其I/O接腳配置以描述硬體架構。再透過系統流程圖與程式演算法,藉此說明系統之軟體設計概念。
硬體結構
本系統採用HT66FU50與HT66FM2240兩種晶片來當作本產品主要控制晶片;分配本系統所需進行工作,各司其職,以此來完成快速、高精準度之數位舵機開發平台。
硬體架構圖分為兩個區塊,左半邊是主控區,右半邊是馬達驅動區。圖一為本產品之系統架構圖。
主控區:
主控區是以HT66FU50做為主控核心,透過晶片內部的模組與 I/O 腳位,與個人電腦做溝通。溝通介面使用的是HT66FU50內建的UART模組與電腦做溝通,以RS232協定與個人電腦做資料傳輸。
個人電腦上所使用的介面是本組為此套作品量身製作的軟體介面,操作簡單且直覺式操作,如此設計能使本產品更加人性化,增加市場競爭力。
馬達驅動區:
馬達驅動區採用HT66FM2240晶片來做設計,本產品在晶片設計時導入P.I.D演算式,透過位置環、電流環閉迴路之設計,將讀取到的數值做運算與外部PWM Command做比較,以此來校正H-Bridge之PWM輸出,來達到快速、高精準度之馬達驅動。
HT66FM2240 是一塊高性能、低價位的晶片,使用在舵機馬達的驅動,更凸顯出晶片的效能,也能大幅降低產品的成本。
UART模組電路:
UART模組電路是使用HT66FU50內建的模組,透過軟體之設定與兩隻I/O腳位(TX、RX),配合MAX3232週邊電路[4]來實現HT66FU50與個人電腦資料傳輸之功能。圖二為UART模組電路之電路圖。
I2C模組電路:
模組電路是配置於HT66Fx0系列中SIM模組I2C介面架構,其資料串列傳輸是經由SCL(Serial Clock)與SDA(Serial Data)兩條信號線眾完成;這兩隻腳位為NMOS「漏極開路(Open Drain)」的結構,在使用上必須分別接上提升電阻。圖三為I2C模組電路之示意圖。
電流環閉迴路電路:
電流環閉迴路電路設計概念,是針對數位舵機馬達的電流損耗來做偵測,在H-Bridge電路輸出端接上不同數值電阻,透過電壓、電流與電阻值間的關係,來偵測舵機馬達在有負載時,所損耗之電流量,將數值回傳至馬達驅動晶片,做P.I.D運算,來調製馬達。圖四為電流環閉迴路電路圖。
軟體系統
本產品軟體系統部分,分為HT66FU50人機介面系統晶片與HT66FM2240數位舵機馬達驅動晶片兩個主要MCU來作說明。
HT66FU50 人機介面系統晶片
HT66FU50主要軟體流程分為UART、I2C與PWM三大部分[5],下列根據此三大部分詳細說明:
UART軟體流程
UART軟體設計採用HT66FU50內新增的UART模組來作實現,透過程式設計來設定UART波特率與傳輸模式。
程式開始會先初始化UART所有功能設定,當MCU收到電腦傳輸來的資料時,進入UART中斷向量,在中斷內判斷是否為有效資料,為有效資料時,回到主程式作相對應的程序,否則跳出中斷,執行其他程式段,並持續等待下一筆資料輸入。圖五為UART軟體流程圖。
I2C軟體流程
由於HT66FU50之I2C模組只能限用Slave功能,所以本產品在設計上使用I/O模擬I2C功能來實現。
此流程主要在主程式內執行,透過諸多副程式架構來完成,當程式呼叫Receve_data()副程式時,便會進入資料讀取,因採用I/O模擬的方式,所以在時間上的設定非常重要。圖六為I2C軟體流程圖。
PWM軟體流程
PWM軟體流程主要功能是用HT66FU50內建ETM單元輸出PWM波形。
根據電腦介面要求之模式與數值,透過UART傳輸至HT66FU50作判斷,將數值載入TM1A暫存器內,來設定PWM佔空比,使其輸出600us~2400us之PWM佔空比。此PWM為提供馬達驅動晶片比要使用。圖七為PWM軟體流程圖。
HT66FM2240馬達驅動軟體流程
數位舵機馬達驅動晶片軟體部分,主要讀取外部PWM Command與舵機馬達位置數值作比較判斷,透過位置環、電流環閉迴路所讀取到的A/D值,用P.I.D運算使舵機馬達能精準快速地達到使用者要求之角度。圖八為馬達驅動軟體流程。
測試方法
本產品為一舵機馬達開發平台,為配合特定廠商與使用者使用。在測試的部分,分為兩部分,第一部分為電腦介面與MCU連接測試與控制,第二部分為舵機馬達P.I.D調適測試。下列即為本設備重要功能之測試報告。
UART模組溝通測試
首先要讓我們使用UART模組與電腦連接,若畫面顯示ok代表已成功連接。由畫面可以看見連接後正在初始化中,Loading Line還沒跑完。若通道初始化OK可以看見Loading Line已經跑完。同時會顯示初始化OK。
UART連接成功後,使用者便能開始選擇模式,本產品介面提供四種模式選擇,分別為固定角度模式、舵機調適模式、角度微調模式與雨刷模式。
固定角度模式
在馬達控制區模式選擇後,馬達參數區會立即顯示目前模式,在RS232參數設定可以得知Port腳位與波特率在此模式下的參數。固定角度模式的第二階段測試,馬達角度選擇正45度,在未進入調適模式,馬達經測定是在40度,誤差值為負5度,電流耗損量為143mA。
舵機調適模式
透過調製的過程,經由人機介面裡將我們所需要的參數值傳輸至馬達做P.I.D調製,經由這個測試我們可以使馬達立即轉到我們設定的角度。進入模式後可以細微的調整我們所需要的角度,由負45到正45度。我們將其設定為負30度之後,可以由圖十二得知馬達是否轉到我們調製的角度。
雨刷模式:
這個模式是為了測試當馬達有負載時,是否會導致馬達角度有偏轉的情況發生。藉由模擬雨刷來做測試,會分別由負45度至0度,再到正45度做一個循環。
馬達調適測試:
馬達調適測試過程,是利用示波器與量角儀器來作測試。分別為舵機在正45度、0度與負45度時,所量取的角度位置圖。如此便能清楚得知,舵機馬達在角度的控制,是完全精準的。
上述到的雨刷模式,主要測試當舵機上有負載時,所耗損的電流量與位置角度之波形,分別為負載為0g、500g與1000g下,測得的電流損耗量與位置角度波形。
結論與討論
經由一系列的測試與實驗結果,一套以「高效能」、「低價位」與「人性化」為特點的數位舵機開發已成功被開發。透過HT66FU50與HT66FM2240的豐沛硬體資源及使用彈性搭配各種模組的精巧控制實際完成了一個非常完善的低價位高功能數位舵機開發平台。實際體驗後,感覺十分滿意,是一個成功的產品。
因為作品開發的時間不夠,在P.I.D的調製上還有些美中不足,在未來使用者可透過本開發平台,依各自產品與規格所需作參數之調整。此項產品將會對數位舵機市場掀起一場革命性的改變,經濟效益無可限量。
(作者汪啟茂為義守大學電子工程學系教授,鄭任皓、李偉綸、陳凱暉、周政滔為義守大學電子工程學系學生)