xmm2018 发表于 2019-3-16 14:35:20

使用电机驱动芯片L6470遇到的问题

   最近在STM32F405上用L6470控制步进电机,发现两个问题,始终找不到原因:
1、L6470的计步寄存器ABS_POS(0X01),电机转动后去读取它的值,有时候会突然从很小的值窜到很大,例如:
reg VMOTOR_ABS_POS = 0x68b5

reg VMOTOR_ABS_POS = 0x8247

reg VMOTOR_ABS_POS = 0xb949

reg VMOTOR_ABS_POS = 0x3fbe30
reg VMOTOR_ABS_POS = 0x3ff849
验证过读写是完全正常的,不知道为何会突然计步器会出现阶跃性跳变。

2、电机转一圈需要多少个脉冲:
照规格来说,L6470是128细分的,我使用的电机是0.9度/步。转一圈不应该是360*128*10/9=51200步吗?而实际测量转完一圈大致走了270000步。
我配制的是128细分的:dSPIN_RegsStruct->STEP_MODE         = 0x07;                                         /* 设置到128微步模式 */

   上面两个问题有没有兄弟碰到过,第二个可能是我原理没理解,不知道这个步数是怎么算的。

xmm2018 发表于 2019-3-16 15:51:48

第一个感觉是有时候用负数记录有时候用正数记录的

mmuuss586 发表于 2019-3-20 08:56:17

6470没用过,用过6474;

butterflyspring 发表于 2019-4-24 15:19:44

我没有用过这个芯片。但是有条件监控一下数据,看看是不是处理格式的问题吧:)
页: [1]
查看完整版本: 使用电机驱动芯片L6470遇到的问题