chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

基于UART通訊控制TMC2208/2209模塊驅(qū)動兩相四線步進電機

jf_88434166 ? 來源:jf_88434166 ? 作者:jf_88434166 ? 2025-11-10 19:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

@TOC


前言

前期已經(jīng)介紹過TMC2208/2209模塊的概述,兩者區(qū)別,性能參數(shù)以及驅(qū)動電流的計算,就不再多贅述。
TMC2208/2209模塊除了通過外部硬件控制驅(qū)動,還可以通過串口配置寄存器實現(xiàn)轉(zhuǎn)速,方向,細(xì)分等設(shè)置來控制驅(qū)動,這篇主要介紹如何通過串口(UART)通訊控制TMC2208/2209模塊驅(qū)動2相4線步進電機。

一、寄存器說明

用串口控制TMC2208/2209模塊,就必須了解模塊的相關(guān)寄存器有哪些,以及寄存器的每一位需要怎么設(shè)置。串口控制就是通過配置寄存器來控制驅(qū)動,這里以TMC2209為例進行說明。





二、UART的幀指令編寫

寫指令:長度為64位,0-7:8位幀頭,8-15:8位設(shè)備地址,16-23:7位寄存器地址+讀寫位,24-55:32位數(shù)據(jù)寫入,56-63:8位CRC校驗。返回值為寫入什么就回顯什么。注意:寄存器地址需要加上寫入位,即寄存器地址 | 0x80。

往0x00寄存器寫入數(shù)據(jù)為例:幀頭:0x55,設(shè)備地址可根據(jù)MS1和MS2引腳選擇,這里使用默認(rèn)地址:0x00,寫入寄存器地址:0x00|0x80為0x80,寫入數(shù)據(jù):0x00000081,最后CRC校驗,即幀指令為55 00 80 00 00 00 81 CRC。得到0x00寄存器配置:設(shè)置使用VREF為參考電壓,微步分辨率由MSTEP寄存器選擇。下面的讀指令也是如此,不過寄存器地址不需要加讀寫位,寄存器本身地址就是讀。

讀指令:長度為32位,0-7位為幀頭,8-15位為設(shè)備地址,16-23位為寄存器地址,24-31位為CRC校驗。

讀指令返回值:長度為64位,0-7位為幀頭,8-15位為響應(yīng)地址,16-23位為寄存器地址,24-55位為讀取的數(shù)據(jù),56-63位為CRC校驗。

注意:CRC校驗為標(biāo)準(zhǔn)的LSB-first CRC,是LSB到MSB,計算CRC不能用普通的CRC-8計算。CRC計算可以用手冊給的示例進行計算。

void swuart_calcCRC(UCHAR* datagram, UCHAR datagramLength) 
{ 
	int i,j; 
	UCHAR* crc = datagram + (datagramLength-1); // CRC located in last byte of message 
	UCHAR currentByte; 
	*crc = 0; 
	for (i=0; i< (datagramLength-1); i++) {      
		currentByte = datagram[i];                
		// Execute for all bytes of a message 
		// Retrieve a byte to be sent from Array 
	for (j=0; j< 8; j++) { 
		if ((*crc > > 7) ^ (currentByte&0x01))   // update CRC based result of XOR operation 
		{ 
			*crc = (*crc < < 1) ^ 0x07; 
		} 
		else 
		{ 
			*crc = (*crc < < 1); 
		} 
		currentByte = currentByte > > 1; 
	} // for CRC bit 
	} // for message byte 
}

這里整理了一些幀指令,可直接使用。

05 00 80 00 00 00 C1 C9設(shè)置啟動UART模式和寄存器控制微步,電機正轉(zhuǎn)
05 00 80 00 00 00 C9 B9設(shè)置電機反轉(zhuǎn)
05 00 90 00 00 00 00 50設(shè)置IRUN和IHOLD都為0,注意:電流不會降到0
05 00 91 00 20 10 04 24設(shè)置IRUN=16,IHOLD=4,IHOLDDELAY=0.5s
05 00 91 00 00 00 17 51設(shè)置TPOWER DOWN=0.5s
05 00 EC 10 00 00 03 AA設(shè)置1/256微步
05 00 EC 11 00 00 03 9B設(shè)置1/128微步
05 00 EC 12 00 00 03 31設(shè)置1/64微步
05 00 EC 13 00 00 03 00設(shè)置1/32微步
05 00 EC 14 00 00 03 64設(shè)置1/16微步
05 00 EC 15 00 00 03 55設(shè)置1/8微步
05 00 EC 16 00 00 03 FF設(shè)置1/4微步
05 00 EC 17 00 00 03 CE設(shè)置1/2微步
05 00 EC 18 00 00 03 CD設(shè)置全步
05 00 A2 00 00 FF 00 D9以61,440步頻正轉(zhuǎn)
05 00 A2 00 00 04 00 A0以1024步頻正轉(zhuǎn)
05 00 A2 FF FF FC 00 CE以1024步頻反轉(zhuǎn)
05 00 06 6F讀IOIN
05 00 6C CA讀CHOPCONF
05 00 70 62讀PWMCONF
05 00 71 EB讀PWM_SCALE
05 00 72 A5讀PWM_AUTO

注意:TMC2208/2209模塊沒有掉電保存功能,配置完參數(shù)后如果掉電就會恢復(fù)為默認(rèn)設(shè)置。

三、TMC2209串口連接

TMC2209串口采用單線uart,其連接方式如下:

根據(jù)手冊可知,TMC2209可選擇內(nèi)部時鐘或外部時鐘,模塊的CLK引腳默認(rèn)下拉到GND,且其內(nèi)部集成有步進脈沖發(fā)生器,可選擇使用內(nèi)部脈沖發(fā)生器提供脈沖信號還是使用外部脈沖發(fā)生器提供脈沖信號(0x22設(shè)置為0為外部脈沖模式,不為0內(nèi)部脈沖模式),即如果使用外部發(fā)生器提供脈沖信號,STEP引腳就需要連接,反之懸空。而其他引腳懸空即可。

四、相關(guān)寄存器參數(shù)計算說明

看寄存器表,不是所有寄存器都和0x00寄存器那樣在寄存器表就明確說明要寫入什么數(shù)值,寫入的數(shù)值指的是什么。沒有明確說明的需要查看手冊找到具體描述來確定需要寫入什么數(shù)值,而且有些數(shù)值需要進行相應(yīng)計算得出。這里以0x10和0x11寄存器為例說明。

0x10寄存器:
IRUN:電機運行電流
IHOLD:電機靜止保持電流
根據(jù)上面的0x10寄存器描述可知,IRUN,IHOLD是寫入0~31的值來設(shè)置電流,即將電流分為32等份。如何計算每等份電流多大,可根據(jù)手冊給出的公式計算。

其中CS就是需要寫入寄存器的值(0-31),RSE為0.11歐,Vfs為設(shè)置的參考電壓。

IHOLDDELAY:決定電機從運行電流逐步降到靜止電流的過渡時間,當(dāng)檢測到靜止stst=1且TPOWERDOWN到時后,才開始平滑下降。共有 IRUN - IHOLD個電流步進下降,每一步延遲是2^18 / fclk的IHOLDDELAY倍,TMC2209內(nèi)部時鐘默認(rèn)為fclk=12MHz,所以t ≈ 21.85ms x IHOLDDELAY??傁陆禃r間:

最終到IHOLDDELAY的時間 = TPOWERDOWN + tramp,IHOLDDELAY取值 = 0~15,0表示無平滑。

0x11寄存器:
TPOWERDOWN:當(dāng)驅(qū)動芯片檢測到電機停止轉(zhuǎn)動之后,不會馬上切斷電機保持電流,而是等待一段時間,這段時間就是TPOWERDOWN設(shè)置的延遲,時間設(shè)置范圍0至5.6s。

TPOWERDOWN取值 = 0~255,0表示無延遲。

通過上面的計算來確定寫入的值對應(yīng)實際IRUN,IHOLD電流,IHOLDDELAY過渡時間,TPOWERDOWN延遲時間是多少。

五、用TMC220X配置器配置寄存器

除了通過對應(yīng)幀指令配置寄存器外。還可以用TMC220X配置器配置寄存器,配置器只需要知道對應(yīng)寄存器的作用,直接寫入數(shù)值配置即可。不用知道該寄存器對應(yīng)每一位需要寫入什么數(shù)值,也不需要繁瑣的計算,來編寫幀指令配置寄存器。當(dāng)然,TMC220X配置器不是所有寄存器都可以配置,只有一部分寄存器可配置。

TMC220X配置器安裝:

  1. 安裝腳本溝通器(適用于 Windows、Linux、MacOS)
  2. 下載TMC220X配置器
  3. 使用 ScriptCommunicator(腳本溝通器) 啟動 TMC220X.scez 文件
  4. 選擇芯片:TMC2208 或 TMC2209
  5. 選擇串行端口并單擊連接
  6. 配置器中的修改直接傳輸,即修改數(shù)值直接寫入到寄存器。

如圖所示:左邊為相應(yīng)寄存器,右邊為需要寫入的數(shù)值,設(shè)置參數(shù)推薦使用配置器來配置。

OTP則是0x05寄存器的配置,具體參數(shù)看上面的0x05寄存器配置表。

六、效果展示

審核編輯 黃宇

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

    關(guān)注

    152

    文章

    3215

    瀏覽量

    151506
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1304

    瀏覽量

    106056
  • 通訊控制
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    5577
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    常用兩相步進電機驅(qū)動器參數(shù)

    兩相步進電機及其驅(qū)動器是工業(yè)自動化領(lǐng)域的關(guān)鍵組件,其性能參數(shù)直接影響設(shè)備的定位精度和動態(tài)響應(yīng)。以下從電機本體參數(shù)、
    的頭像 發(fā)表于 11-27 07:41 ?38次閱讀

    基于UART通訊控制TMC2208/2209模塊驅(qū)動兩相四線步進電機

    /2209模塊驅(qū)動24步進電機。 一、寄存器說明
    發(fā)表于 10-17 11:25

    關(guān)于TMC2208TMC2209的區(qū)別及基于STM32F103控制TMC2209模塊驅(qū)動24步進電機

    本文對TMC2208TMC2209步進電機驅(qū)動器對比分析,對比了兩款步進
    的頭像 發(fā)表于 10-09 17:19 ?740次閱讀
    關(guān)于<b class='flag-5'>TMC2208</b>與<b class='flag-5'>TMC2209</b>的區(qū)別及基于STM32F103<b class='flag-5'>控制</b><b class='flag-5'>TMC2209</b><b class='flag-5'>模塊</b><b class='flag-5'>驅(qū)動</b>2<b class='flag-5'>相</b>4<b class='flag-5'>線</b><b class='flag-5'>步進</b><b class='flag-5'>電機</b>

    TMC2209超靜音步進驅(qū)動IC:“無聲”的力量改變生活

    Trinamic的TMC2209超靜音兩相步進電機驅(qū)動器,正在改變這一場景,讓科技產(chǎn)品實現(xiàn)“近無聲”的運行,為用戶帶來靜謐與高效的雙重價值。
    的頭像 發(fā)表于 09-09 10:10 ?995次閱讀
    <b class='flag-5'>TMC2209</b>超靜音<b class='flag-5'>步進</b><b class='flag-5'>驅(qū)動</b>IC:“無聲”的力量改變生活

    ADI Trinamic TMC2240智能集成步進驅(qū)動器數(shù)據(jù)手冊

    Analog Devices TMC2240智能集成步進驅(qū)動器是一款高性能步進電機驅(qū)動芯片,具有
    的頭像 發(fā)表于 06-17 10:24 ?1099次閱讀
    ADI Trinamic <b class='flag-5'>TMC</b>2240智能集成<b class='flag-5'>步進</b><b class='flag-5'>驅(qū)動</b>器數(shù)據(jù)手冊

    ADI Trinamic TMC5240x步進電機控制器和驅(qū)動器IC

    Adi Trinamic TMC5240x步進電機控制器和驅(qū)動器IC配備了串行通信接口(SPI和UART
    的頭像 發(fā)表于 06-16 10:33 ?788次閱讀
    ADI Trinamic <b class='flag-5'>TMC</b>5240x<b class='flag-5'>步進</b><b class='flag-5'>電機</b><b class='flag-5'>控制</b>器和<b class='flag-5'>驅(qū)動</b>器IC

    ADI Trinamic TMC5272步進電機控制器數(shù)據(jù)手冊

    ADI Trinamic TMC5272步進電機控制器是一款 高性能雙軸步進控制器和
    的頭像 發(fā)表于 06-14 09:36 ?688次閱讀
    ADI Trinamic <b class='flag-5'>TMC</b>5272<b class='flag-5'>步進</b><b class='flag-5'>電機</b><b class='flag-5'>控制</b>器數(shù)據(jù)手冊

    ADI Trinamic TMC5271步進電機控制器數(shù)據(jù)手冊

    ADI Trinamic TMC5271步進電機控制器是一款 高性能、單軸步進控制器和
    的頭像 發(fā)表于 06-14 09:29 ?697次閱讀
    ADI Trinamic <b class='flag-5'>TMC</b>5271<b class='flag-5'>步進</b><b class='flag-5'>電機</b><b class='flag-5'>控制</b>器數(shù)據(jù)手冊

    ADI Trinamic TMC2210大電流步進電機驅(qū)動器IC數(shù)據(jù)手冊

    Analog Devices Inc.的TMC2210步進電機驅(qū)動器IC通過封裝引腳和附加診斷輸出提供配置選項。TMC2210集成了基于25
    的頭像 發(fā)表于 06-04 10:42 ?782次閱讀
    ADI Trinamic <b class='flag-5'>TMC</b>2210大電流<b class='flag-5'>步進</b><b class='flag-5'>電機</b><b class='flag-5'>驅(qū)動</b>器IC數(shù)據(jù)手冊

    自制怠速步進電機測試器

    雙相四線(或者六)的步進電機。也就是 說,我們制作一個可以單獨控制怠速步進
    發(fā)表于 03-21 13:32

    和三四線的區(qū)別

    在電力系統(tǒng)中,三和三四線種常見的供電方式,它們各自具有獨特的特點和應(yīng)用場景。本文將從基本結(jié)構(gòu)、電壓特性、應(yīng)用領(lǐng)域、優(yōu)缺點以及保護
    的頭像 發(fā)表于 03-16 17:59 ?4694次閱讀
    三<b class='flag-5'>相</b>三<b class='flag-5'>線</b>和三<b class='flag-5'>相</b><b class='flag-5'>四線</b>的區(qū)別

    步進電機—4,6,8電機怎么接線

    正確連接步進電機,實現(xiàn)精準(zhǔn)控制。 一、4步進電機接線方法
    的頭像 發(fā)表于 02-26 09:08 ?1.1w次閱讀
    <b class='flag-5'>步進</b><b class='flag-5'>電機</b>—4<b class='flag-5'>線</b>,6<b class='flag-5'>線</b>,8<b class='flag-5'>線</b>的<b class='flag-5'>電機</b>怎么接線

    淺談瑞盟科技·MS32007——低壓 5V 多通道電機驅(qū)動

    MS32007 是一款多通道電機驅(qū)動芯片,其中包含步進電機驅(qū)動,一路直流
    的頭像 發(fā)表于 12-24 14:44 ?1948次閱讀
    淺談瑞盟科技·MS32007——低壓 5V 多通道<b class='flag-5'>電機</b><b class='flag-5'>驅(qū)動</b>器

    基于STM32F405RGT6的TMC2660步進電機驅(qū)動器,附帶原理圖+PCB

    驅(qū)動電路主要包括以下部分,信號接口電路,邏輯控制電路,功率開關(guān)電路,保護電路。TMC2660是步進電機驅(qū)
    的頭像 發(fā)表于 12-14 19:24 ?3433次閱讀
    基于STM32F405RGT6的<b class='flag-5'>TMC</b>2660<b class='flag-5'>步進</b><b class='flag-5'>電機</b><b class='flag-5'>驅(qū)動</b>器,附帶原理圖+PCB

    深度解析一款高集成智能硬件伺服電機驅(qū)動控制芯片TMC9660

    9660控制BLDC/PMSM只有霍爾 3) TMC9660控制兩相步進伺服
    發(fā)表于 12-01 19:49