如何在24小時之內(nèi)完成伺服控制器設(shè)計?妮姐和豆豆就使用了一個“神器”,真的快速地完成了——
這個“神器”就是TMC4671,有多神,先賣個關(guān)子,大家繼續(xù)往下看。
電機(jī)控制,用簡單的硬件電路就可以,但是無法做到穩(wěn)定、高速、精確。如果在要求不高的場合,這些簡單的硬件控制也是可行的,但到了工業(yè)控制、機(jī)器人以及其他更精細(xì)的場合中,顯然需要對電機(jī)的速度、電流、位置進(jìn)行高精度的閉環(huán)控制了。但問題又來了,對電機(jī)的高精度控制,離不開控制算法。
電機(jī)控制算法通過運(yùn)算向電機(jī)提供適當(dāng)?shù)尿?qū)動信號,預(yù)測電機(jī)轉(zhuǎn)載的位置,盡快地和盡平穩(wěn)地使電機(jī)轉(zhuǎn)速達(dá)到指令速度,并維持這個速度。一旦電機(jī)轉(zhuǎn)速達(dá)到了指令速度,即使在各種不利因素的干擾下也應(yīng)該保持速度值不變。針對不同的電機(jī)、不同的應(yīng)用,需要選擇合適的控制算法。
稚暉君曾在知乎發(fā)布了一篇關(guān)于“【自制FOC驅(qū)動器】深入淺出講解FOC算法與SVPWM技術(shù)”的文章,把他學(xué)習(xí)FOC算法過程中看到的一些有關(guān)無刷電機(jī)矢量控制的資料和個人理解整理分享出來。相信大多數(shù)做電機(jī)調(diào)試的小伙伴都看過,雖然稚暉君已經(jīng)深入簡出的介紹了,但基本上要看上N遍才能看懂理解,甚至需要要花1,2個月的時間,才能弄出來一套能用的控制算法。
誰要是能幫我們搞定算法,那就完美了!這個事,早在三年前,就實現(xiàn)了,就是用TMC4671!
TMC4671是什么神器?
TMC4671是一款ADI Trinamic于2020年發(fā)布的全球首個具有針對BLDC/PMSM和兩相步進(jìn)電動機(jī)以及直流電動機(jī)和音圈的磁場定向控制的全集成伺服控制器IC、集成ADC、位置傳感器接口(增量式編碼器,HALL信號等)和位置插值器的完整組件。全集成就是它最大的特點(diǎn):
?硬件上,集成了ADC、位置傳感器接口(增量式編碼器,HALL信號等)和位置插值器的完整組件。
?軟件上內(nèi)置了算法庫,包括位置和速度控制、FOC算法和控制、PWM驅(qū)動引擎、電流環(huán)檢測,以及編碼器引擎等。
其中轉(zhuǎn)矩環(huán)核心的FOC算法,將FOC算法包含的Park,反Park變化等時間關(guān)鍵性的計算都集成在芯片中。因此開發(fā)動態(tài)伺服控制器只需幾行代碼,就可以輕松驅(qū)動像我們常見的無刷電機(jī)、永磁同步電機(jī)等。
一句話就是:TMC4671就是一個全能選手,電機(jī)控制的活基本全能搞定,不管是直流,步進(jìn),還是BLDC。
24小時真的能完成嗎?
能。
不過,需要借助達(dá)爾聞朋友、技術(shù)型授權(quán)代理商世健提供的這套TCM4671方案,以及Trinamic的TMCL IDE。
只有TCM4671顯然不行的,因此在這塊開發(fā)板上還有MCU、驅(qū)動器、MOSFET、以及通信接口、電源管理等,具體信號鏈框架如下:
驅(qū)動器TMC6100同樣也來自Trinamic,含有3個半橋,可以用于高壓BLDC,PMSM和伺服電機(jī)。此外,還有8 VDC至60 VDC的寬電壓范圍,以及0.5 A,1 A或1.5 A的可編程柵極電流,通過六個外部MOSFET控制電機(jī),它可以驅(qū)動功率從瓦到千瓦的各種電機(jī)。
這塊開發(fā)板的通信方式有兩種,一種是板子上的32位MCU,通過RS485或者CAN總線與外部PC進(jìn)行通信后,控制TMC4671;一種是使用USB-SPI-RTMI工具,通USB轉(zhuǎn)SPI直接連接到TMC4671進(jìn)行調(diào)試。兩種方式使用的上位機(jī)軟件是不同的,前者使用的是由世健設(shè)計開發(fā)的上位機(jī)軟件,后者使用的是官網(wǎng)的TMCL-IDE。
世健的上位機(jī)軟件,經(jīng)過MCU的處理,用戶可以根據(jù)自己應(yīng)用場景,參考源碼進(jìn)行調(diào)試,比較適合二次開發(fā)的項目,而TMCL-IDE提供軟件工具可以用來調(diào)試不同控制環(huán)路,RTMI 是調(diào)試、監(jiān)控和系統(tǒng)配置的最簡便的方式。
我們本次的目的是讓電機(jī)動起來,不進(jìn)行二次開發(fā),所以選擇TMC-IDE進(jìn)行環(huán)路控制與調(diào)試。
首先,需要把固件代碼燒錄到MCU中。如果使用這個方案的話,世健提供了源碼,方便用戶二次開發(fā)。
然后,連接好所有的硬件之后,就可以上電、打開TMCL-IDE軟件了。
在IDE里,可以直觀地看到TMC4671的寄存器參數(shù)的值。只要仔細(xì)閱讀datasheet,就知道每個寄存器的意義。
接下來就是對調(diào)節(jié)電流環(huán)、速度環(huán)、位置環(huán)的PI調(diào)參。對于電流環(huán),在IDE中使用Torque Flux / Tuning和Step response工具調(diào)整。Torque轉(zhuǎn)矩/Flux磁通工具在開環(huán)模式下確定PI參數(shù)。確定PI參數(shù)后,一鍵更新到寄存器中就可以了。
當(dāng)電流環(huán)調(diào)節(jié)完成之后,就要對速度環(huán)調(diào)節(jié)了,使用的是 step response tool (closed loop) 閉環(huán)階躍響應(yīng)工具。對TMC4671的0x58寄存器:PID_VELOCITY_I、PID_VELOCITY_IP ,進(jìn)行調(diào)節(jié),讓實際速度達(dá)到目標(biāo)速度即可。
對于位置環(huán)的調(diào)試,需要前面的電流環(huán)和速度環(huán)配置好之后,使用階躍響應(yīng)工具來調(diào)試。同速度環(huán)一樣,也是直接進(jìn)行寄存器的操作,在PID_POSITION_I和PID_POSITION_P寄存器中,設(shè)置 PI 位置控制器的初始值,通過階躍響應(yīng)工具查看具體的效果即可。
對于開發(fā)一套基于TMC4671的伺服控制系統(tǒng),基本的流程就是:世健的開源代碼(可二次開發(fā))—電流環(huán)、速度環(huán)、位置環(huán)的參數(shù)調(diào)節(jié)——高精度的控制電機(jī)運(yùn)動。所以,真的有可能在24小時完成哦。
對于這套電機(jī)控制方案,兩個最直觀的使用體驗:
1)不需要死磕控制算法,使用世健的這套TMC4671的話,他們提供了源碼,并且可做二次開發(fā),這就相當(dāng)于站在巨人的肩膀,他們把最基礎(chǔ)的底層已經(jīng)搭建好了,我們只需要針對自己的應(yīng)用優(yōu)化就可以了。
2)TMC4671配合TMCL-IDE,真是簡單又好用。IDE可以自動識別電機(jī)參數(shù),所有參數(shù)調(diào)試都是圖形化的。速度環(huán)、電流環(huán)、位置環(huán)獲得相應(yīng)的P和I的值,更新到TMC4671的寄存器中,或者直接對寄存器進(jìn)行操作就可以了。
-
伺服電機(jī)
+關(guān)注
關(guān)注
85文章
2020瀏覽量
57628 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
4896瀏覽量
97059
發(fā)布評論請先 登錄
相關(guān)推薦
評論