0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【世說芯品】1塊開發(fā)板,24小時,完成伺服電機(jī)控制?

Excelpoint世健 ? 2023-06-12 10:55 ? 次閱讀

如何在24小時之內(nèi)完成伺服控制器設(shè)計?妮姐和豆豆就使用了一個“神器”,真的快速地完成了——

這個“神器”就是TMC4671,有多神,先賣個關(guān)子,大家繼續(xù)往下看。

電機(jī)控制最復(fù)雜的是算法

電機(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)檢測,以及編碼器引擎等。

f010e5f6-04c9-11ee-ba01-dac502259ad0.png

其中轉(zhuǎn)矩環(huán)核心的FOC算法,將FOC算法包含的Park,反Park變化等時間關(guān)鍵性的計算都集成在芯片中。因此開發(fā)動態(tài)伺服控制器只需幾行代碼,就可以輕松驅(qū)動像我們常見的無刷電機(jī)、永磁同步電機(jī)等。

f0475974-04c9-11ee-ba01-dac502259ad0.png一句話就是:TMC4671就是一個全能選手,電機(jī)控制的活基本全能搞定,不管是直流,步進(jìn),還是BLDC。

f07fff68-04c9-11ee-ba01-dac502259ad0.png

24小時真的能完成嗎?

能。

不過,需要借助達(dá)爾聞朋友、技術(shù)型授權(quán)代理商世健提供的這套TCM4671方案,以及Trinamic的TMCL IDE。

f0c14590-04c9-11ee-ba01-dac502259ad0.png

只有TCM4671顯然不行的,因此在這塊開發(fā)板上還有MCU、驅(qū)動器、MOSFET、以及通信接口、電源管理等,具體信號鏈框架如下:

f17dc684-04c9-11ee-ba01-dac502259ad0.png

驅(qū)動器TMC6100同樣也來自Trinamic,含有3個半橋,可以用于高壓BLDC,PMSM和伺服電機(jī)。此外,還有8 VDC至60 VDC的寬電壓范圍,以及0.5 A,1 A或1.5 A的可編程柵極電流,通過六個外部MOSFET控制電機(jī),它可以驅(qū)動功率從瓦到千瓦的各種電機(jī)。

f1bacd22-04c9-11ee-ba01-dac502259ad0.png

這塊開發(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軟件了。

f2197610-04c9-11ee-ba01-dac502259ad0.png

在IDE里,可以直觀地看到TMC4671的寄存器參數(shù)的值。只要仔細(xì)閱讀datasheet,就知道每個寄存器的意義。

f2da98f4-04c9-11ee-ba01-dac502259ad0.png

接下來就是對調(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ù)后,一鍵更新到寄存器中就可以了。

f32f1852-04c9-11ee-ba01-dac502259ad0.png

當(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)速度即可。

f3753c56-04c9-11ee-ba01-dac502259ad0.png

對于位置環(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)行操作就可以了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 伺服電機(jī)
    +關(guān)注

    關(guān)注

    85

    文章

    2020

    瀏覽量

    57628
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4896

    瀏覽量

    97059
收藏 人收藏

    評論

    相關(guān)推薦

    伺服電機(jī)原理及控制應(yīng)用

    伺服電機(jī)(Servo Motor)是一種高精度、高性能的電動機(jī)系統(tǒng),廣泛應(yīng)用于需要精確控制位置、速度和加速度的場合。 一、伺服電機(jī)的工作原理
    的頭像 發(fā)表于 10-22 16:58 ?186次閱讀

    ST NPI 新開發(fā)板 【AEK-MCU-C4MINI1】Data brief

    一體化、快速原型開發(fā)、用戶友好型MCU和電機(jī)控制評估產(chǎn)品說明AEK-MCU-C4MINI1不僅僅是一
    發(fā)表于 09-20 13:43 ?0次下載

    EFR32MG24開發(fā)板介紹及IDE使用

    EFR32MG24開發(fā)板介紹及IDE使用
    的頭像 發(fā)表于 08-10 10:47 ?579次閱讀
    EFR32MG<b class='flag-5'>24</b><b class='flag-5'>開發(fā)板</b>介紹及IDE使用

    伺服電機(jī)也是脈沖控制嗎為什么

    伺服電機(jī)是一種高精度、高響應(yīng)速度的電機(jī),廣泛應(yīng)用于工業(yè)自動化、機(jī)器人、航空航天等領(lǐng)域。伺服電機(jī)控制
    的頭像 發(fā)表于 07-14 10:37 ?713次閱讀

    EVASH Ultra EEPROM 開發(fā)板使用說明書 簡介

    ,該芯片是一款256Kb的EEPROM,具有I2C接口。開發(fā)板包含所有必要的組件,用于與微控制器和其他數(shù)字系統(tǒng)接口,非常適合開發(fā)、測試和原型設(shè)計。 板卡布局 正面 R1,
    的頭像 發(fā)表于 07-01 09:39 ?429次閱讀

    伺服電機(jī)控制器怎么調(diào)參數(shù)

    的基本原理 1. 伺服電機(jī)控制器概述 伺服電機(jī)控制
    的頭像 發(fā)表于 06-05 15:47 ?1528次閱讀

    RL78/G24快速原型開發(fā)板資料包大全

      RL78/G24快速原型開發(fā)板資料包大全  RL78/G24 快速原型開發(fā)板配備RL78/G24
    發(fā)表于 06-04 16:21 ?0次下載

    請問KIT_MOTOR_DC_250W_24V和KIT_XMC4400_DC_V1這個開發(fā)板適配嗎?

    請問KIT_MOTOR_DC_250W_24V和KIT_XMC4400_DC_V1這個開發(fā)板適配嗎? 如適配應(yīng)該選用什么電機(jī)
    發(fā)表于 05-30 06:21

    ??萍纪ㄓ?MCU 應(yīng)用筆記: CS32F103 FOC 電機(jī)評估使用指南

    本文檔描述了基于海 CS32F103 系列芯片的矢量控制電機(jī)開發(fā)板 V1.00 的設(shè)計理念、結(jié)構(gòu)和使用說明,以幫助用戶快速使用此開發(fā)板,評
    發(fā)表于 05-16 11:35

    如何使用Arduino UNO和電位器控制伺服電機(jī)

    在本Arduino伺服電機(jī)教程中,您將學(xué)習(xí)如何使用Arduino UNO和電位器控制伺服電機(jī)
    的頭像 發(fā)表于 02-11 10:11 ?2455次閱讀
    如何使用Arduino UNO<b class='flag-5'>板</b>和電位器<b class='flag-5'>控制</b><b class='flag-5'>伺服</b><b class='flag-5'>電機(jī)</b>

    fpga開發(fā)板與linux開發(fā)板區(qū)別

    FPGA開發(fā)板與Linux開發(fā)板是兩種不同的硬件開發(fā)平臺,各自具有不同的特點(diǎn)和應(yīng)用場景。在以下的文章中,我將詳細(xì)介紹FPGA開發(fā)板和Linux開發(fā)板
    的頭像 發(fā)表于 02-01 17:09 ?2012次閱讀

    伺服電機(jī)工作原理 伺服電機(jī)控制方式有哪幾種

    伺服電機(jī)是一種能夠根據(jù)控制指令準(zhǔn)確運(yùn)動的電機(jī),其工作原理基于電機(jī)的轉(zhuǎn)矩及速度反饋。 伺服
    的頭像 發(fā)表于 01-31 10:49 ?2608次閱讀

    學(xué)習(xí)筆記分享|使用C庫函數(shù)控制ELF 1開發(fā)板的LED

    (ELF1/ELF1S開發(fā)板及顯示屏)在嵌入式Linux系統(tǒng)開發(fā)中,通過編程控制硬件資源是至關(guān)重要的技能之一,今天跟各位小伙伴分享一篇專注于
    的頭像 發(fā)表于 01-19 11:12 ?518次閱讀
    學(xué)習(xí)筆記分享|使用C庫函數(shù)<b class='flag-5'>控制</b>ELF <b class='flag-5'>1</b><b class='flag-5'>開發(fā)板</b>的LED

    使用愛派Pro開發(fā)板部署人體姿態(tài)估計模型

    在經(jīng)過之前對于開發(fā)板的使用,以及通過幾個愛派官方給出的示例demo(mobilenet/yolov5)在開發(fā)板上的部署之后,筆者也逐漸了解了愛派這塊
    的頭像 發(fā)表于 01-09 09:50 ?1329次閱讀
    使用愛<b class='flag-5'>芯</b>派Pro<b class='flag-5'>開發(fā)板</b>部署人體姿態(tài)估計模型

    伺服電機(jī)的三種控制方式 如何確定選擇伺服電機(jī)控制方式?

    伺服電機(jī)的三種控制方式 如何確定選擇伺服電機(jī)控制方式? 伺服
    的頭像 發(fā)表于 12-26 14:02 ?1525次閱讀