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

Vector推出基于芯馳E3650開發(fā)板的MICROSAR評估包
有獎丨米爾 瑞芯微YR3562開發(fā)板免費試用

Banana Pi開源社區(qū)基于瑞芯微RK3588開發(fā)板,DeepSeek開發(fā)利器

使用伺服機構(gòu)開發(fā)板控制 NeoPixel LED

dsPIC33EDV64MC205電機控制開發(fā)板用戶指南

瑞芯微開發(fā)板/主板Android配置APK默認開啟性能模式方法

瑞芯微主板/開發(fā)板Linux系統(tǒng)播放音頻方法,觸覺智能RK3562開發(fā)板演示

追加名額丨米爾瑞芯微RK3576開發(fā)板有獎試用

有獎丨米爾 瑞芯微RK3576開發(fā)板免費試用

評論