求助运动控制芯片TMC429的配置

2019-07-20 12:03发布

最近在用TMC429,通过它来控制TMC261从而控制电机(Step/Direction 模式),我根据官方的给的数据来配置,但是TMC249一直没有输出波形,电机一直响,但是不转。以下是我的配置。请教是否用过这个芯片的大神,应该如何配置。

    My_SPI_Send429(IDX_IF_CONFIG_429<<24| 0x0122);   //0x68
    My_SPI_Send429(IDX_SMGP<<24 | 0x000002);     //设置step/dir切换时的时间 = 0  0x7e
//2:设置PULSE_DIV 和 RAMP_DIV 0x18
   My_SPI_Send429((IDX_PULSEDIV_RAMPDIV|MOTOR0)<<24| (0x00002306));//配置电机1对应的IDX_PULSEDIV_RAMPDIV寄存器   
   My_SPI_Send429((IDX_PULSEDIV_RAMPDIV|MOTOR1)<<24| (0x00002306));//配置电机1对应的IDX_PULSEDIV_RAMPDIV寄存器
   My_SPI_Send429((IDX_PULSEDIV_RAMPDIV|MOTOR2)<<24| (0x00002306));//配置电机1对应的IDX_PULSEDIV_RAMPDIV寄存器
//5:选择RAMP_MODE  0x14
    My_SPI_Send429((IDX_REFCONF_RM | MOTOR0) << 24 | 0x000300);   
    My_SPI_Send429((IDX_REFCONF_RM | MOTOR1) << 24 | 0x000300);
    My_SPI_Send429((IDX_REFCONF_RM | MOTOR2) << 24 | 0x000300);
//1:设置速度
   My_SPI_Send429((IDX_VMIN|MOTOR0)<<24|0x00000001);//配置电机0对应的IDX_VMIN寄存器,配置最小速度为1
   My_SPI_Send429((IDX_VMIN|MOTOR1)<<24|0x00000001);//配置电机1对应的IDX_VMIN寄存器
   My_SPI_Send429((IDX_VMIN|MOTOR2)<<24 |0x00000001);//配置电机2对应的IDX_VMIN寄存器
   
   My_SPI_Send429((IDX_VMAX|MOTOR0)<<24 |1000);//配置电机0对应的IDX_VMAX寄存器,配置最大速度为1000
   My_SPI_Send429((IDX_VMAX|MOTOR1)<<24|1000);//配置电机1对应的IDX_VMAX寄存器
   My_SPI_Send429((IDX_VMAX|MOTOR2)<<24|1000);//配置电机2对应的IDX_VMAX寄存器

//3:设置A_MAX
   SetAMax(0, 500);//配置电机0对应的A_MAX寄存器,配置最大加速度
   SetAMax(1, 500);//配置电机1对应的A_MAX寄存器
   SetAMax(2, 500);//配置电机2对应的A_MAX寄存器

    //6:根据ramp mode的选择来设置目标步数(X_TARGRT)或者目标速度(V_TARGRT)
    My_SPI_Send429((IDX_XTARGET | MOTOR0) << 24 | 0xF0FFF0);
    My_SPI_Send429((IDX_XTARGET | MOTOR1) << 24 | 0xFF0FF0);
    My_SPI_Send429((IDX_XTARGET | MOTOR2) << 24 | 0xFF9FF0);


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
正点原子
1楼-- · 2019-07-20 16:41
帮顶
xtldw
2楼-- · 2019-07-20 19:06
我也在用这片驱动.QQ314187849
张山峰
3楼-- · 2019-07-21 00:45
 精彩回答 2  元偷偷看……

一周热门 更多>