[应用相关] 游名:基于STM32F0+Trinamic智能步进驱动芯片TMC5160(最高20A)参...

[复制链接]
10315|130
 楼主| mmuuss586 发表于 2020-4-6 16:55 | 显示全部楼层
2、SPI接口位置控制模式
芯片引脚跳线连接:
SPI_MODE:接高电平(VCC_IO)
SD_MODE: 接低电平(GND)
J7:短接
CSN:PB6
SCK:PA5
SDI:MOSI-PA7
SDO:MISO-PA6
 楼主| mmuuss586 发表于 2020-4-6 16:55 | 显示全部楼层
初始化程序如下参考:
        //TMC5160 SET       
        sendData(0xEC,0x000100C3);         //PAGE46: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(0xF0,0x000C0000);  //PAGE43:PWMCONF
        sendData(0x93,0x000001F4);  //PAGE33:TPWM_THRS=500,对应切换速度35000=ca.30RPM
        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);                  //PAGE35:DMAX=700大于V1的减速度
        sendData(0xAA,14000);     //PAGE35:D1=1400小于V1的减速度
        sendData(0xAB,100);       //PAGE35:VSTOP=10停止速度,接近于0       
        sendData(0xA0,0);                  //PAGE35:RAMPMODE=0位置模式,使用所有A、V、D参数       
 楼主| mmuuss586 发表于 2020-4-6 16:55 | 显示全部楼层
3、DIR+STEP接口模式位置控制(无需SPI接口)
芯片引脚跳线连接:
SPI_MODE:接低电平(GND)
SD_MODE:接高电平(VCC_IO)
STEP:REFL-PB4,J2:短接
DIR: REFR-PB5,J5:短接
CFG6:DRV_ENN-PC5,通过杜邦线接到底板PC5脚
CFG5:ENCA-PC8,通过杜邦线接到底板PC8脚
CFG4:ENCB-PC6,通过杜邦线接到底板PC6脚
CFG3:CSN-PB6 ,J7:短接
CFG2: SCK-PA5
CFG1: MOSI-PA7
CFG0: MISO-PA6
 楼主| mmuuss586 发表于 2020-4-6 16:56 | 显示全部楼层
初始化程序如下参考:
          /* USER CODE BEGIN 2 */
        SubdivisionSet(32);                //细分设置为32
        ISet();                                        //电流设置
        HAL_GPIO_WritePin(STEP_GPIO_Port,STEP_Pin, GPIO_PIN_SET);
                                                                //STEP设置为高
        HAL_GPIO_WritePin(CFG5_GPIO_Port,CFG5_Pin, GPIO_PIN_RESET);
                                                                //CFG5设置为低
        HAL_GPIO_WritePin(CFG6_GPIO_Port,CFG6_Pin, GPIO_PIN_SET);
                                                                //CFG6设置为高,保持电流减半
  /* USER CODE END 2 */

 楼主| mmuuss586 发表于 2020-4-6 16:56 | 显示全部楼层
4、UART模式
芯片引脚跳线连接:
SPI_MODE:接低电平(GND)
SD_MODE:接低电平(GND)
参考数据手册,通过MCU的UART接口发命令即可,类似SPI接口操作;

 楼主| mmuuss586 发表于 2020-4-6 16:57 | 显示全部楼层
四、补充说明
1、上电顺序
   电机驱动板(驱动芯片)先上电,底板控制板后上电;
2、电机
   最好用86或57电机测试,小电机电机会发热比较严重。
aspoke 发表于 2020-4-6 22:34 | 显示全部楼层
            
232321122 发表于 2020-4-6 22:34 | 显示全部楼层
TMC5160,自带6点速度曲线  
ghuca 发表于 2020-4-6 22:35 | 显示全部楼层
带串行通信接口吧?   
soodesyt 发表于 2020-4-6 22:35 | 显示全部楼层
TMC5160大功率步进电机驱动方案  
mnynt121 发表于 2020-4-6 22:35 | 显示全部楼层
匠人精神了。         
plsbackup 发表于 2020-4-6 22:35 | 显示全部楼层
最大驱动电流20A,厉害了。  
kmzuaz 发表于 2020-4-6 22:35 | 显示全部楼层
不知道性能怎么样呢        
qiufengsd 发表于 2020-4-6 22:36 | 显示全部楼层
谢谢版主分享的资料了。      
wengh2016 发表于 2020-4-6 22:36 | 显示全部楼层
这么多开源的资料。        
sanfuzi 发表于 2020-4-6 22:36 | 显示全部楼层
STM32F0为什么不用STM32F4呢?  
 楼主| mmuuss586 发表于 2020-4-7 11:07 | 显示全部楼层
232321122 发表于 2020-4-6 22:34
TMC5160,自带6点速度曲线

是的
 楼主| mmuuss586 发表于 2020-4-7 11:07 | 显示全部楼层
ghuca 发表于 2020-4-6 22:35
带串行通信接口吧?

是的,支持的
 楼主| mmuuss586 发表于 2020-4-7 11:07 | 显示全部楼层
soodesyt 发表于 2020-4-6 22:35
TMC5160大功率步进电机驱动方案

嗯,最大可以到20A
 楼主| mmuuss586 发表于 2020-4-7 11:08 | 显示全部楼层
plsbackup 发表于 2020-4-6 22:35
最大驱动电流20A,厉害了。

嗯,实际用不了这么大的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部