打印
[其他ST产品]

L6470 电机驱动问题请教

[复制链接]
358|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
elephant00|  楼主 | 2022-8-29 09:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我使用L6470 对电机进行驱动 但是遇到一个问题
就是 发现电机实际旋转的角度 和配置的不太一致
我做了几个速度,但是不同速度转的角度明显不对
我配置的64/1 12800 为200*64 应该是一圈 ,但是有的速度的情况下,明显不是一圈,即使感觉是一圈,正转和反转好像有不完全一样。
不知道是什么原因
下面是我的初始化配置,不知道哪里出问题了
MotoStep_Cmd_SetPar(ADD_MOTOSTEP_ABS_POS, 0);        MotoStep_Cmd_SetPar(ADD_MOTOSTEP_EL_POS, 0);        MotoStep_Cmd_SetPar(ADD_MOTOSTEP_MARK, 0);        MotoStep_Cmd_SetPar(ADD_MOTOSTEP_SPEED, 0);
MotoStep_Cmd_SetPar(ADD_MOTOSTEP_ACC, SPEED_PAR_ACC);
MotoStep_Cmd_SetPar(ADD_MOTOSTEP_DEC, SPEED_PAR_DEC);
MotoStep_Cmd_SetPar(ADD_MOTOSTEP_MAX_SPEED, SPEED_MOTO_FAST);
MotoStep_Cmd_SetPar(ADD_MOTOSTEP_MIN_SPEED, 0x0);
MotoStep_Cmd_SetPar(ADD_MOTOSTEP_FS_SPD, 0x27);
MotoStep_Cmd_SetPar(ADD_MOTOSTEP_KVAL_HOLD, SPEED_KVAL_HOLD);
MotoStep_Cmd_SetPar(ADD_MOTOSTEP_KVAL_RUN, SPEED_KVAL_RUN);
MotoStep_Cmd_SetPar(ADD_MOTOSTEP_KVAL_ACC, SPEED_KVAL_ACC);
MotoStep_Cmd_SetPar(ADD_MOTOSTEP_KVAL_DEC, SPEED_KVAL_DEC);
MotoStep_Cmd_SetPar(ADD_MOTOSTEP_INT_SPD, SPEED_IN_SPEED);
MotoStep_Cmd_SetPar(ADD_MOTOSTEP_ST_SLP, SPEED_ST_SLP);
MotoStep_Cmd_SetPar(ADD_MOTOSTEP_FN_SLP_ACC, SPEED_SLP_ACC);
MotoStep_Cmd_SetPar(ADD_MOTOSTEP_FN_SLP_DEC, SPEED_SLP_DEC);
MotoStep_Cmd_SetPar(ADD_MOTOSTEP_K_THERM, 0x0);
MotoStep_Cmd_SetPar(ADD_MOTOSTEP_OCD_TH, 0x8);
MotoStep_Cmd_SetPar(ADD_MOTOSTEP_STALL_TH, 0x5f);
// MotoStep_Cmd_SetPar(ADD_MOTOSTEP_STEP_MODE, MOTOSTEP_STEP_SEL_1_2 | MOTOSTEP_SYNC_SEL_1_2);
MotoStep_Cmd_SetPar(ADD_MOTOSTEP_STEP_MODE, MOTOSTEP_STEP_SEL_1_64 | MOTOSTEP_SYNC_SEL_64);
MotoStep_Cmd_SetPar(ADD_MOTOSTEP_ALARM_EN, 0x0);
MotoStep_Cmd_SetPar(ADD_MOTOSTEP_CONFIG, 0x2E88);
下面是我设置的不同速度的代码:
          MotoStep_Cmd_SetPar(ADD_MOTOSTEP_MAX_SPEED, SPEED_MOTO_FAST);               
                osDelay(100);      
                MotoStep_Cmd_Move(1,12800);                       
                osDelay(100);      
                WAIT_MOTO_IDLE;                              
                osDelay(1000);      
                MotoStep_Cmd_Move(0,12800);                       
                osDelay(100);      
                WAIT_MOTO_IDLE;               
               
                osDelay(1000);      
               
          MotoStep_Cmd_SetPar(ADD_MOTOSTEP_MAX_SPEED, SPEED_MOTO_HIGH);               
                osDelay(100);      
                MotoStep_Cmd_Move(1,12800);                       
                osDelay(100);      
                WAIT_MOTO_IDLE;                              
                osDelay(1000);      
                MotoStep_Cmd_Move(0,12800);                       
                osDelay(100);      
                WAIT_MOTO_IDLE;               
               
                osDelay(1000);      

          MotoStep_Cmd_SetPar(ADD_MOTOSTEP_MAX_SPEED, SPEED_MOTO_MIDDLE);               
                osDelay(100);      
                MotoStep_Cmd_Move(1,25600);                       
                osDelay(100);      
                WAIT_MOTO_IDLE;                              
                osDelay(1000);      
                MotoStep_Cmd_Move(0,25600);                       
                osDelay(100);      
                WAIT_MOTO_IDLE;               
               
                osDelay(1000);      
               
          MotoStep_Cmd_SetPar(ADD_MOTOSTEP_MAX_SPEED, SPEED_MOTO_LOW);               
                osDelay(100);      
                MotoStep_Cmd_Move(1,25600);                       
                osDelay(100);      
                WAIT_MOTO_IDLE;                              
                osDelay(1000);      
                MotoStep_Cmd_Move(0,25600);                       
                osDelay(100);      
                WAIT_MOTO_IDLE;               
               
                osDelay(1000);
图片是用ST的工具生产电机参数的图片

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

968

主题

2962

帖子

7

粉丝