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