硬汉嵌入式论坛

 找回密码
 立即注册
查看: 400|回复: 4
收起左侧

[技术讨论] tmc5160 spi 驱动问题

[复制链接]

4

主题

5

回帖

17

积分

新手上路

积分
17
发表于 2024-2-29 15:54:53 | 显示全部楼层 |阅读模式
使用stm32f103硬件spi驱动TMC5160,按照文档写操作程序,电机没有任何反应。


HAL_GPIO_WritePin(SPI2_NSS_GPIO_Port, SPI2_NSS_Pin, GPIO_PIN_SET);
        HAL_Delay(1000);
       
//TMC5160 SET       
        sendData(0xEC,0x000100C3);                                 //PAGE43:CHOPCONF: TOFF=3, HSTRT=4, HEND=1, TBL=2, CHM=0 (spreadcycle)
        sendData(0x90,0x00061F0A);                                 //PAGE33:IHOLD_IRUN: IHOLD=10, IRUN=31 (max.current), IHOLDDELAY=6  
        sendData(0x91,0x0000000A);                                //PAGE33:TPOWERDOWN=10:电机静止到电流减小之间的延时
        sendData(0x80,0x00000004);                                //PAGE27:EN_PWM_MODE=1
        sendData(0x93,0x000001F4);                                //PAGE33:TPWM_THRS=500,对应切换速度35000=ca.30RPM
//                sendData(0xA4,0x000003E8);             //A1=1000 第一阶段加速度
//                sendData(0xA5,0x0000C350);             //V1=50000加速度阀值速度V1
//                sendData(0xA6,0x000001F4);             //AMAX=500大于V1的加速度        
//                sendData(0xA7,0x00030D40);             //VMAX=200000      
//                sendData(0xA8,0x000002BC);                        //DMAX=700大于V1的减速度
//                sendData(0xAA,0x00000578);             //D1=1400小于V1的减速度
//                sendData(0xAB,0x0000000A);             //VSTOP=10停止速度,接近于0               
//                sendData(0xA0,0x00000000);                         //RAMPMODE=0位置模式
        sendData(0xA4,10000);                                             //PAGE35:A1=1000 第一阶段加速度
        sendData(0xA5,500000);                                     //PAGE35:V1=50000加速度阀值速度V1
        sendData(0xA6,5000);                                             //PAGE35:AMAX=500大于V1的加速度        
        sendData(0xA7,20000000);                             //PAGE35:VMAX=200000      
        sendData(0xA8,7000);                                                        //PAGE35MAX=700大于V1的减速度
        sendData(0xAA,14000);                                             //PAGE351=1400小于V1的减速度
        sendData(0xAB,100);                                             //PAGE35:VSTOP=10停止速度,接近于0               
        sendData(0xA0,0x00000000);                                 //PAGE35:RAMPMODE=0位置模式,使用所有A、V、D参数                       


请大家帮忙看看,谢谢

TMC5160-SPI.zip

23.3 MB, 下载次数: 1

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2024-2-29 16:14:54 | 显示全部楼层
先测试下SPI通信正常不,看看这个芯片没有ID之类可以读取的,读取验证下你的SPI设置是否可以正常和此芯片通信。然后再查控制命令。
回复

使用道具 举报

0

主题

15

回帖

15

积分

新手上路

积分
15
发表于 2024-3-7 09:25:12 | 显示全部楼层
你这个设置了TMC5160在position模式,但是你没有设置XTARGET寄存器,电机不会移动的,你看看电机有没有锁住(你设置完成以后应该是锁住了)
回复

使用道具 举报

4

主题

5

回帖

17

积分

新手上路

积分
17
 楼主| 发表于 2024-3-28 20:40:07 | 显示全部楼层
原因是我配置的SPI有问题,spi引脚上还连接着其他器件,用着相同的引脚,并且器件损坏了,几个引脚对地都是相通的
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106685
QQ
发表于 2024-3-29 09:48:25 | 显示全部楼层
T18844168667 发表于 2024-3-28 20:40
原因是我配置的SPI有问题,spi引脚上还连接着其他器件,用着相同的引脚,并且器件损坏了,几个引脚对地都是 ...

谢谢告知最终原因。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 16:04 , Processed in 0.299675 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表