當控制環境比較惡劣,周邊可能存在大型的電機對電磁抗干擾能力影響較大時,管道閘中的閥門控制將面臨一定挑戰和障礙,面對這種情況,該如何明確閥門的位置和檢測扭矩?本次技術型授權代理商Excelpoint世健邀請到了他們的客戶——行業資深工程師阮工來分享他的實戰案例。
ADI的TMC5160是一款高度緊湊的步進電機控制器和驅動器IC,具有最低功耗和最高動態性能的功率級,能確保無噪音運行,結合最高效率和最佳電機扭矩。阮工運用TMC5160 StallGuard2,通過編碼器來判斷閥門是否已經開啟或關閉,通過扭矩判斷閥門是否異常不能打開和關閉。該項目輸入參數如下表:
圖1.輸入參數
下圖為阮工結合硬件原理框架設置的系統架構。
圖2.系統架構
電源電壓輸入部分
電源DC-DC選擇ADI的MAX17501/MAX17502,該型號輸入電壓可以支持最高60V(和TMC5160最高輸入電壓一致)。電流分別是500mA和1A,封裝一致,由于不同的外設(光電開關、編碼器)需求電流不一樣,用戶可以根據實際需求來選擇型號。
為了實現斷電記憶的功能,使用超級電容來作為備份電源,超級電容芯片選擇LTC3225對超級電容進行充電管理。當電源斷電后超級電容還可以持續輸出一段時間來維持MCU的供電,MCU就可以檢測輸入電壓來判斷是否已斷電來記錄位置。
MCU供電以MAX8891,MAX8891低壓差(LDO)線性穩壓器設計用于提供高達150mA的連續輸出電流,可以滿足MCU、通信接口芯片的供電電流。
?
步進電機驅動部分
步進電機驅動部分,阮工使用了TMC5160。TMC5160的電壓范圍為8-60V;支持編碼器接口和2個參考開關輸入;支持StallGuard2高精度的無傳感器負載檢測,可用于閥門故障檢測;外置MOS管,最大支持電流20A。實際應用時,選擇60V40A的mos,可以滿足最大5A的需求。
通信部分
阮工在CAN接口使用了MAX3051,該型號支持最大1M的速率。RS485接口使用了MAX3060,該型號±15kV ESD保護、失效保護、20Mbps,輸入電壓是3.3V。接口芯片供電都是3.3V,可以直接與MCU鏈接。并且這兩個型號體積小,可以很好地優化PCB尺寸。用戶可以根據項目實際的需求來選擇通信接口。
?
位置反饋
大部分編碼器使用的是差分信號,這里以MAX14980作為信號轉換,將差分信號轉換為單端信號,鏈接TMC5160和MCU的編碼器接口。
?
程序調試
由于該案例需要通過力矩來判斷閥門的故障和極限位置作為原點,需要使用StallGuard2的功能。下面介紹StallGuard2的相關寄存器及配置過程:
關鍵寄存器:
*IHOLD_IRUN 0X10:電流寄存器-設置合適的電流,設置電流大小直接影響電機的負載能力。設定電流改變后sgt值也需要調節。
圖3.IHOLD_IRUN 電流寄存器表
*VMAX 0X27 最高速度,使用StallGuard2的最佳工作速度范圍在10-300PRM,不同的電機速度有所區別。
圖4.VMAX最高速度寄存器表
*SW_MODE 0X34: sg_stop 10bit- 1:啟用STALLGUARD 2功能。
圖5.sg_stop寄存器表
*COOLCONF 0x6D: 16bit-22bit? StallGuard2 閾值,該值用于設置靈敏度;24bit-標準/濾波模式。
圖6.COOLCONF 寄存器表
*TCOOLTHRS 0X14:使能CoolStep和StallGuard2功能的下限速度,到達此值電機停止并保持。
圖7.TCOOLTHRS 寄存器表
*DRV_STATUS 0X6F: StallGuard2值和驅動錯誤標志0-9bit SG_RESULT(負載值) 用于監測電機所剩的扭力。
圖8.SG_RESULT 寄存器表
? 配置過程通過程序代碼來說明,如下:
? 步驟1:
spi_writeRegister(SW_MODE,0x0600);--使能StallGuard2
spi_writeRegister(IHOLD_IRUN,value);--設置電機的額定電流
spi_writeRegister(VMAX,MAX_Speed_);--設置最高速度
spi_writeRegister(COOLCONF,0);--設置StallGuard2靈敏度
spi_writeRegister(TCOOLTHRS,setTCOOLTHRS );--設定停止閾值,此值可以根據不同的閥門狀態來設定,如歸零或開啟/關閉
spi_writeRegister(RAMPMODE,VELOCITY_MODE_POS);--啟用速度模式
?
步驟2:
spi_readRegister(DRV_STATUS);--50ms定時讀取SG_RESULT(負載值)
?
步驟3:
StallGuard2值SG_RESULT受電機特性及特定應用的負載和速度影響。因此, 針對特定電機類型和運行條件調整Stallguard2閾值SGT的最簡單方法是在實際應用中進行交互式調整。
接下來調整StallGuard2的SGT的初始步驟。
SGT設置背后的基本思想是補償電機內部電阻損耗的對StallGuard2影響。 在靜止和非常低的速度下,由于機械功率為零或接近零,電阻損耗是電機能量平衡的主要因素。這樣可以將SGT設置為接近零速度的最佳值。該算法特別適用于在應用中調整SGT,以獲得與環境條件、電機雜散等無關的最佳結果。
?當電機堵轉時,SG_RESULT變為0,可配置斜坡發生器 SW_MODE中的sg_stop 使能在堵轉事件時停止電機。將TCOOLTHRS設置為與較低的速度閾值相匹配,在該閾值下,StallGuard2 結果最佳,完成有效的sg_stop。
?
ADI的TMC5160 StallGuard2的功能非常廣泛,TMC5160 CoolStep負載自適應電流控制,也是基于StallGuard2的負載檢測來控制電流輸出電流大小,實現低功耗,節約能源,降低芯片溫度。在某些應用中可以通過力矩來診斷設備的健康狀況和設備歸零的功能,還可以節省編碼器及光電開關,有效的節約生產成本。其授權代理商Excelpoint世健為客戶提供技術支持和指導,提高設備提高效率,助力實現精確運動。
?
ADI的TMC5160是一款高度緊湊的步進電機控制器和驅動器IC,具有最低功耗和最高動態性能的功率級,能確保無噪音運行,結合最高效率和最佳電機扭矩。阮工運用TMC5160 StallGuard2,通過編碼器來判斷閥門是否已經開啟或關閉,通過扭矩判斷閥門是否異常不能打開和關閉。該項目輸入參數如下表:
圖1.輸入參數
下圖為阮工結合硬件原理框架設置的系統架構。
圖2.系統架構
電源電壓輸入部分
電源DC-DC選擇ADI的MAX17501/MAX17502,該型號輸入電壓可以支持最高60V(和TMC5160最高輸入電壓一致)。電流分別是500mA和1A,封裝一致,由于不同的外設(光電開關、編碼器)需求電流不一樣,用戶可以根據實際需求來選擇型號。
為了實現斷電記憶的功能,使用超級電容來作為備份電源,超級電容芯片選擇LTC3225對超級電容進行充電管理。當電源斷電后超級電容還可以持續輸出一段時間來維持MCU的供電,MCU就可以檢測輸入電壓來判斷是否已斷電來記錄位置。
MCU供電以MAX8891,MAX8891低壓差(LDO)線性穩壓器設計用于提供高達150mA的連續輸出電流,可以滿足MCU、通信接口芯片的供電電流。
?
步進電機驅動部分
步進電機驅動部分,阮工使用了TMC5160。TMC5160的電壓范圍為8-60V;支持編碼器接口和2個參考開關輸入;支持StallGuard2高精度的無傳感器負載檢測,可用于閥門故障檢測;外置MOS管,最大支持電流20A。實際應用時,選擇60V40A的mos,可以滿足最大5A的需求。
通信部分
阮工在CAN接口使用了MAX3051,該型號支持最大1M的速率。RS485接口使用了MAX3060,該型號±15kV ESD保護、失效保護、20Mbps,輸入電壓是3.3V。接口芯片供電都是3.3V,可以直接與MCU鏈接。并且這兩個型號體積小,可以很好地優化PCB尺寸。用戶可以根據項目實際的需求來選擇通信接口。
?
位置反饋
大部分編碼器使用的是差分信號,這里以MAX14980作為信號轉換,將差分信號轉換為單端信號,鏈接TMC5160和MCU的編碼器接口。
?
程序調試
由于該案例需要通過力矩來判斷閥門的故障和極限位置作為原點,需要使用StallGuard2的功能。下面介紹StallGuard2的相關寄存器及配置過程:
關鍵寄存器:
*IHOLD_IRUN 0X10:電流寄存器-設置合適的電流,設置電流大小直接影響電機的負載能力。設定電流改變后sgt值也需要調節。
圖3.IHOLD_IRUN 電流寄存器表
*VMAX 0X27 最高速度,使用StallGuard2的最佳工作速度范圍在10-300PRM,不同的電機速度有所區別。
圖4.VMAX最高速度寄存器表
*SW_MODE 0X34: sg_stop 10bit- 1:啟用STALLGUARD 2功能。
圖5.sg_stop寄存器表
*COOLCONF 0x6D: 16bit-22bit? StallGuard2 閾值,該值用于設置靈敏度;24bit-標準/濾波模式。
圖6.COOLCONF 寄存器表
*TCOOLTHRS 0X14:使能CoolStep和StallGuard2功能的下限速度,到達此值電機停止并保持。
圖7.TCOOLTHRS 寄存器表
*DRV_STATUS 0X6F: StallGuard2值和驅動錯誤標志0-9bit SG_RESULT(負載值) 用于監測電機所剩的扭力。
圖8.SG_RESULT 寄存器表
? 配置過程通過程序代碼來說明,如下:
? 步驟1:
spi_writeRegister(SW_MODE,0x0600);--使能StallGuard2
spi_writeRegister(IHOLD_IRUN,value);--設置電機的額定電流
spi_writeRegister(VMAX,MAX_Speed_);--設置最高速度
spi_writeRegister(COOLCONF,0);--設置StallGuard2靈敏度
spi_writeRegister(TCOOLTHRS,setTCOOLTHRS );--設定停止閾值,此值可以根據不同的閥門狀態來設定,如歸零或開啟/關閉
spi_writeRegister(RAMPMODE,VELOCITY_MODE_POS);--啟用速度模式
?
步驟2:
spi_readRegister(DRV_STATUS);--50ms定時讀取SG_RESULT(負載值)
?
步驟3:
StallGuard2值SG_RESULT受電機特性及特定應用的負載和速度影響。因此, 針對特定電機類型和運行條件調整Stallguard2閾值SGT的最簡單方法是在實際應用中進行交互式調整。
接下來調整StallGuard2的SGT的初始步驟。
- 以適用的正常運行速度運行電機,并監控SG_RESULT 。
- 緩慢增加電機的機械負載。如果電機在SG_RESULT達到0之前停止,則減小SGT。如果SG_RESULT在電機停止之前達到0,則增大SGT。0是SGT初始值。SGT是有符號的,可正可負。
- 將TCOOLTHRS設置為高于TSTEP的值,并啟用sg_stop使能堵轉停止功能。確保電機在停機時安全停止。如果電機在堵轉發生前停止,增加SGT。通過禁用sg_stop或讀并寫入RAMP_STAT寄存器(寫+清除功能)重新啟動電機。
- 在電機增加負載堵轉前,SG_RESULT最佳范圍大約在0和10之間,且在沒有負載的情況下SG_RESULT增加100或更多時。在大多數情況下,SGT應在某個運動速度或速度范圍調整。確保設置在一定范圍內(例如所需速度的80%至120 %)以及極端電機條件下(最低和最高適用溫度)工作可靠。
SGT設置背后的基本思想是補償電機內部電阻損耗的對StallGuard2影響。 在靜止和非常低的速度下,由于機械功率為零或接近零,電阻損耗是電機能量平衡的主要因素。這樣可以將SGT設置為接近零速度的最佳值。該算法特別適用于在應用中調整SGT,以獲得與環境條件、電機雜散等無關的最佳結果。
- 以小于10 RPM(即每秒幾個至幾十個全步的低速運行電機,并獲得目標運行電流和電源電壓。)在此速度范圍內,SG_RESUL對電機負載的依賴性不大,因為電機不會產生顯著的反電勢。因此,機械負載對結果影響不大。
- 打開sfilt濾波器。將SGT從0逐漸增加到SG_RESULT開始增加。當SGT值較高時,SG_RESUL將上升到最大值,繼續增大SGT則SG_RESULT會溢出到0。 現在,SGT值被設置成最大敏感。當看到SG_RESULT以較高的速度增加時,則檢測到堵轉。
?當電機堵轉時,SG_RESULT變為0,可配置斜坡發生器 SW_MODE中的sg_stop 使能在堵轉事件時停止電機。將TCOOLTHRS設置為與較低的速度閾值相匹配,在該閾值下,StallGuard2 結果最佳,完成有效的sg_stop。
?
ADI的TMC5160 StallGuard2的功能非常廣泛,TMC5160 CoolStep負載自適應電流控制,也是基于StallGuard2的負載檢測來控制電流輸出電流大小,實現低功耗,節約能源,降低芯片溫度。在某些應用中可以通過力矩來診斷設備的健康狀況和設備歸零的功能,還可以節省編碼器及光電開關,有效的節約生產成本。其授權代理商Excelpoint世健為客戶提供技術支持和指導,提高設備提高效率,助力實現精確運動。
?
評論
查看更多