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