TI中文支持网
TI专业的中文技术问题搜集分享网站

DRV10983: 电机启动10秒左右后就停下

Part Number:DRV10983

我们在使用drv10983作为无刷电机的驱动板,原理图使用的是规格书上的示例,目前正在验证,出现了如下问题:

1.接入3.6V 50KHZ 占空比为50%的pwm波以后,电机启动加速了约10秒便停下,之后过一会又会自己启动。其他频率的PWM都有这样问题。

2.通过iic配置芯片,芯片在接收地址以后无应答,依旧重复上述的问题。

急盼解答!十分感谢。

下图为iic scl和sda的波形。

Cherry Zhou:

您好我们已经收到您的问题并升级到英文论坛,如有答复将尽快回复您。谢谢!

,

Cherry Zhou:

您好为了更好地解决您的问题,您能否提供以下信息:

1. EEPROM设置

2. 电机停止转动的时候,有没有任何故障出现?

3. 当电机在 10 秒后再次启动时,启动速度是怎么样的?正常吗?

,

wu qingwei:

您好,目前芯片I2C已经通讯正常了,但电机还是无法正常运动。

1.我将I2C写入读出的寄存器值放在这里记录.txt

msh />pcf8574_sample 2 0 0
[38561] D/I2C: I2C bus dev [i2c1] writing 1 bytes.
[38566] D/I2C: msgs[0] W, addr=0x52, len=1
[38570] D/I2C: send start condition
[38574] D/I2C: ACK
[38576] D/I2C: ACK
[38578] D/I2C: write 1 byte
[38581] D/I2C: send stop condition
[38584] D/I2C: msgs[0] W, addr=0x52, len=2
[38589] D/I2C: send start condition
[38592] D/I2C: ACK
[38595] D/I2C: ACK
[38597] D/I2C: ACK
[38599] D/I2C: write 2 bytes
[38602] D/I2C: send stop condition
Success
[38606] D/I2C: msgs[0] W, addr=0x52, len=2
[38610] D/I2C: send start condition
[38614] D/I2C: ACK
[38616] D/I2C: ACK
[38618] D/I2C: ACK
[38621] D/I2C: write 2 bytes
[38623] D/I2C: send stop condition
Success
[38628] D/I2C: msgs[0] W, addr=0x52, len=2
[38632] D/I2C: send start condition
[38636] D/I2C: ACK
[38638] D/I2C: ACK
[38640] D/I2C: ACK
[38642] D/I2C: write 2 bytes
[38645] D/I2C: send stop condition
Success
[38650] D/I2C: msgs[0] W, addr=0x52, len=2
[38654] D/I2C: send start condition
[38658] D/I2C: ACK
[38660] D/I2C: ACK
[38662] D/I2C: ACK
[38664] D/I2C: write 2 bytes
[38667] D/I2C: send stop condition
Success
[38671] D/I2C: msgs[0] W, addr=0x52, len=2
[38676] D/I2C: send start condition
[38679] D/I2C: ACK
[38682] D/I2C: ACK
[38684] D/I2C: ACK
[38686] D/I2C: write 2 bytes
[38689] D/I2C: send stop condition
Success
[38693] D/I2C: msgs[0] W, addr=0x52, len=2
[38697] D/I2C: send start condition
[38701] D/I2C: ACK
[38703] D/I2C: ACK
[38705] D/I2C: ACK
[38708] D/I2C: write 2 bytes
[38710] D/I2C: send stop condition
Success
[38715] D/I2C: msgs[0] W, addr=0x52, len=1
[38719] D/I2C: msgs[1] R, addr=0x52, len=2
[38724] D/I2C: send start condition
[38727] D/I2C: ACK
[38729] D/I2C: ACK
[38731] D/I2C: write 1 byte
[38734] D/I2C: ACK
[38737] D/I2C: recieve bytes: 0x40, ACK
[38741] D/I2C: recieve bytes: 0xff, NACK
[38745] D/I2C: read 2 bytes
[38748] D/I2C: send stop condition
Success
data 0x03 :40 ff
[38754] D/I2C: msgs[0] W, addr=0x52, len=1
[38758] D/I2C: msgs[1] R, addr=0x52, len=2
[38763] D/I2C: send start condition
[38766] D/I2C: ACK
[38768] D/I2C: ACK
[38770] D/I2C: write 1 byte
[38773] D/I2C: ACK
[38776] D/I2C: recieve bytes: 0x80, ACK
[38780] D/I2C: recieve bytes: 0xff, NACK
[38784] D/I2C: read 2 bytes
[38787] D/I2C: send stop condition
Success
data 0x01 :80 ff
[38793] D/I2C: msgs[0] W, addr=0x52, len=1
[38797] D/I2C: msgs[1] R, addr=0x52, len=2
[38801] D/I2C: send start condition
[38805] D/I2C: ACK
[38807] D/I2C: ACK
[38809] D/I2C: write 1 byte
[38812] D/I2C: ACK
[38814] D/I2C: recieve bytes: 0x80, ACK
[38819] D/I2C: recieve bytes: 0xff, NACK
[38823] D/I2C: read 2 bytes
[38826] D/I2C: send stop condition
Success
data 0x00 :80 ff
[38832] D/I2C: msgs[0] W, addr=0x52, len=1
[38836] D/I2C: msgs[1] R, addr=0x52, len=2
[38840] D/I2C: send start condition
[38844] D/I2C: ACK
[38846] D/I2C: ACK
[38848] D/I2C: write 1 byte
[38851] D/I2C: ACK
[38853] D/I2C: recieve bytes: 0x40, ACK
[38858] D/I2C: recieve bytes: 0xff, NACK
[38862] D/I2C: read 2 bytes
[38865] D/I2C: send stop condition
Success
data 0x1b :40 ff
[38871] D/I2C: msgs[0] W, addr=0x52, len=1
[38875] D/I2C: msgs[1] R, addr=0x52, len=2
[38879] D/I2C: send start condition
[38883] D/I2C: ACK
[38885] D/I2C: ACK
[38887] D/I2C: write 1 byte
[38890] D/I2C: ACK
[38892] D/I2C: recieve bytes: 0x3f, ACK
[38897] D/I2C: recieve bytes: 0xff, NACK
[38901] D/I2C: read 2 bytes
[38904] D/I2C: send stop condition
Success
data 0x11 :3f ff
[38910] D/I2C: msgs[0] W, addr=0x52, len=1
[38914] D/I2C: msgs[1] R, addr=0x52, len=2
[38918] D/I2C: send start condition
[38922] D/I2C: ACK
[38924] D/I2C: ACK
[38926] D/I2C: write 1 byte
[38929] D/I2C: ACK
[38931] D/I2C: recieve bytes: 0xff, ACK
[38935] D/I2C: recieve bytes: 0xff, NACK
[38940] D/I2C: read 2 bytes
[38943] D/I2C: send stop condition
Success
data 0x12 :ff ff
[38949] D/I2C: msgs[0] W, addr=0x52, len=1
[38953] D/I2C: msgs[1] R, addr=0x52, len=2
[38957] D/I2C: send start condition
[38961] D/I2C: ACK
[38963] D/I2C: ACK
[38965] D/I2C: write 1 byte
[38968] D/I2C: ACK
[38970] D/I2C: recieve bytes: 0x4e, ACK
[38974] D/I2C: recieve bytes: 0xff, NACK
[38979] D/I2C: read 2 bytes
[38981] D/I2C: send stop condition
Success
data 0x21 :4e ff
[38988] D/I2C: msgs[0] W, addr=0x52, len=1
[38992] D/I2C: msgs[1] R, addr=0x52, len=2
[38996] D/I2C: send start condition
[39000] D/I2C: ACK
[39002] D/I2C: ACK
[39004] D/I2C: write 1 byte
[39007] D/I2C: ACK
[39009] D/I2C: recieve bytes: 0x2a, ACK
[39013] D/I2C: recieve bytes: 0xff, NACK
[39018] D/I2C: read 2 bytes
[39020] D/I2C: send stop condition
Success
data 0x22 :2a ff
[39027] D/I2C: msgs[0] W, addr=0x52, len=1
[39031] D/I2C: msgs[1] R, addr=0x52, len=2
[39035] D/I2C: send start condition
[39039] D/I2C: ACK
[39041] D/I2C: ACK
[39043] D/I2C: write 1 byte
[39046] D/I2C: ACK
[39048] D/I2C: recieve bytes: 0x00, ACK
[39052] D/I2C: recieve bytes: 0xff, NACK
[39056] D/I2C: read 2 bytes
[39059] D/I2C: send stop condition
Success
data 0x1E :0 ff
[39065] D/I2C: msgs[0] W, addr=0x52, len=1
[39070] D/I2C: msgs[1] R, addr=0x52, len=2
[39074] D/I2C: send start condition
[39078] D/I2C: ACK
[39080] D/I2C: ACK
[39082] D/I2C: write 1 byte
[39085] D/I2C: ACK
[39087] D/I2C: recieve bytes: 0x0f, ACK
[39091] D/I2C: recieve bytes: 0xff, NACK
[39095] D/I2C: read 2 bytes
[39098] D/I2C: send stop condition
Success
data 0x10 :f ff
msh />pcf85
pcf8574_sample
pcf8575_sample
msh />pcf857
pcf8574_sample
pcf8575_sample
msh />pcf8574
pcf8574_sample
msh />pcf85
pcf8574_sample
pcf8575_sample
msh />pcf857
pcf8574_sample
pcf8575_sample
msh />pcf8574
pcf8574_sample
msh />pcf8574_sample 2 0 0
[63854] D/I2C: I2C bus dev [i2c1] writing 1 bytes.
[63859] D/I2C: msgs[0] W, addr=0x52, len=1
[63863] D/I2C: send start condition
[63867] D/I2C: ACK
[63869] D/I2C: ACK
[63871] D/I2C: write 1 byte
[63874] D/I2C: send stop condition
[63878] D/I2C: msgs[0] W, addr=0x52, len=2
[63882] D/I2C: send start condition
[63886] D/I2C: ACK
[63888] D/I2C: ACK
[63890] D/I2C: ACK
[63892] D/I2C: write 2 bytes
[63895] D/I2C: send stop condition
Success
[63900] D/I2C: msgs[0] W, addr=0x52, len=2
[63904] D/I2C: send start condition
[63908] D/I2C: ACK
[63910] D/I2C: ACK
[63912] D/I2C: ACK
[63914] D/I2C: write 2 bytes
[63917] D/I2C: send stop condition
Success
[63921] D/I2C: msgs[0] W, addr=0x52, len=2
[63926] D/I2C: send start condition
[63929] D/I2C: ACK
[63932] D/I2C: wait 1 tick for SCL line to go high
[63937] D/I2C: ACK
[63939] D/I2C: ACK
[63941] D/I2C: write 2 bytes
[63944] D/I2C: send stop condition
Success
[63948] D/I2C: msgs[0] W, addr=0x52, len=2
[63953] D/I2C: send start condition
[63956] D/I2C: ACK
[63958] D/I2C: ACK
[63961] D/I2C: wait 1 tick for SCL line to go high
[63966] D/I2C: ACK
[63968] D/I2C: write 2 bytes
[63971] D/I2C: send stop condition
Success
[63975] D/I2C: msgs[0] W, addr=0x52, len=2
[63979] D/I2C: send start condition
[63983] D/I2C: ACK
[63985] D/I2C: ACK
[63987] D/I2C: ACK
[63989] D/I2C: write 2 bytes
[63992] D/I2C: send stop condition
Success
[63997] D/I2C: msgs[0] W, addr=0x52, len=2
[64001] D/I2C: send start condition
[64005] D/I2C: ACK
[64007] D/I2C: ACK
[64009] D/I2C: ACK
[64011] D/I2C: write 2 bytes
[64014] D/I2C: send stop condition
Success
[64019] D/I2C: msgs[0] W, addr=0x52, len=1
[64023] D/I2C: msgs[1] R, addr=0x52, len=2
[64027] D/I2C: send start condition
[64031] D/I2C: ACK
[64033] D/I2C: ACK
[64035] D/I2C: write 1 byte
[64038] D/I2C: ACK
[64040] D/I2C: recieve bytes: 0x40, ACK
[64044] D/I2C: recieve bytes: 0xff, NACK
[64048] D/I2C: read 2 bytes
[64051] D/I2C: send stop condition
Success
data 0x03 :40 ff
[64057] D/I2C: msgs[0] W, addr=0x52, len=1
[64062] D/I2C: msgs[1] R, addr=0x52, len=2
[64066] D/I2C: send start condition
[64070] D/I2C: ACK
[64072] D/I2C: ACK
[64074] D/I2C: write 1 byte
[64077] D/I2C: ACK
[64079] D/I2C: recieve bytes: 0x80, ACK
[64083] D/I2C: recieve bytes: 0xff, NACK
[64087] D/I2C: read 2 bytes
[64090] D/I2C: send stop condition
Success
data 0x01 :80 ff
[64096] D/I2C: msgs[0] W, addr=0x52, len=1
[64101] D/I2C: msgs[1] R, addr=0x52, len=2
[64105] D/I2C: send start condition
[64109] D/I2C: ACK
[64111] D/I2C: ACK
[64113] D/I2C: write 1 byte
[64116] D/I2C: ACK
[64118] D/I2C: recieve bytes: 0x80, ACK
[64122] D/I2C: recieve bytes: 0xff, NACK
[64126] D/I2C: read 2 bytes
[64129] D/I2C: send stop condition
Success
data 0x00 :80 ff
[64135] D/I2C: msgs[0] W, addr=0x52, len=1
[64140] D/I2C: msgs[1] R, addr=0x52, len=2
[64144] D/I2C: send start condition
[64148] D/I2C: ACK
[64150] D/I2C: ACK
[64152] D/I2C: write 1 byte
[64155] D/I2C: ACK
[64157] D/I2C: recieve bytes: 0x40, ACK
[64161] D/I2C: recieve bytes: 0xff, NACK
[64165] D/I2C: read 2 bytes
[64168] D/I2C: send stop condition
Success
data 0x1b :40 ff
[64174] D/I2C: msgs[0] W, addr=0x52, len=1
[64179] D/I2C: msgs[1] R, addr=0x52, len=2
[64183] D/I2C: send start condition
[64187] D/I2C: ACK
[64189] D/I2C: ACK
[64191] D/I2C: write 1 byte
[64194] D/I2C: ACK
[64196] D/I2C: recieve bytes: 0x3f, ACK
[64200] D/I2C: recieve bytes: 0xff, NACK
[64204] D/I2C: read 2 bytes
[64207] D/I2C: send stop condition
Success
data 0x11 :3f ff
[64213] D/I2C: msgs[0] W, addr=0x52, len=1
[64218] D/I2C: msgs[1] R, addr=0x52, len=2
[64222] D/I2C: send start condition
[64226] D/I2C: ACK
[64228] D/I2C: ACK
[64230] D/I2C: write 1 byte
[64233] D/I2C: ACK
[64235] D/I2C: recieve bytes: 0xff, ACK
[64239] D/I2C: recieve bytes: 0xff, NACK
[64243] D/I2C: read 2 bytes
[64246] D/I2C: send stop condition
Success
data 0x12 :ff ff
[64252] D/I2C: msgs[0] W, addr=0x52, len=1
[64257] D/I2C: msgs[1] R, addr=0x52, len=2
[64261] D/I2C: send start condition
[64265] D/I2C: ACK
[64267] D/I2C: ACK
[64269] D/I2C: write 1 byte
[64272] D/I2C: ACK
[64274] D/I2C: recieve bytes: 0x4e, ACK
[64278] D/I2C: recieve bytes: 0xff, NACK
[64282] D/I2C: read 2 bytes
[64285] D/I2C: send stop condition
Success
data 0x21 :4e ff
[64291] D/I2C: msgs[0] W, addr=0x52, len=1
[64296] D/I2C: msgs[1] R, addr=0x52, len=2
[64300] D/I2C: send start condition
[64304] D/I2C: ACK
[64306] D/I2C: ACK
[64308] D/I2C: write 1 byte
[64311] D/I2C: ACK
[64313] D/I2C: recieve bytes: 0x2a, ACK
[64317] D/I2C: recieve bytes: 0xff, NACK
[64321] D/I2C: read 2 bytes
[64324] D/I2C: send stop condition
Success
data 0x22 :2a ff
[64330] D/I2C: msgs[0] W, addr=0x52, len=1
[64334] D/I2C: msgs[1] R, addr=0x52, len=2
[64339] D/I2C: send start condition
[64343] D/I2C: ACK
[64345] D/I2C: ACK
[64347] D/I2C: write 1 byte
[64350] D/I2C: ACK
[64352] D/I2C: recieve bytes: 0x00, ACK
[64356] D/I2C: recieve bytes: 0xff, NACK
[64360] D/I2C: read 2 bytes
[64363] D/I2C: send stop condition
Success
data 0x1E :0 ff
[64369] D/I2C: msgs[0] W, addr=0x52, len=1
[64373] D/I2C: msgs[1] R, addr=0x52, len=2
[64378] D/I2C: send start condition
[64381] D/I2C: ACK
[64384] D/I2C: wait 1 tick for SCL line to go high
[64389] D/I2C: ACK
[64391] D/I2C: write 1 byte
[64394] D/I2C: ACK
[64396] D/I2C: recieve bytes: 0x0f, ACK
[64400] D/I2C: recieve bytes: 0xff, NACK
[64404] D/I2C: read 2 bytes
[64407] D/I2C: send stop condition
Success
data 0x10 :f ff
msh />pcf85
pcf8574_sample
pcf8575_sample
msh />pcf857
pcf8574_sample
pcf8575_sample
msh />pcf8574
pcf8574_sample
msh />pcf8574_sample 3 0 0
[71417] D/I2C: I2C bus dev [i2c1] writing 1 bytes.
[71422] D/I2C: msgs[0] W, addr=0x52, len=1
[71426] D/I2C: send start condition
[71430] D/I2C: ACK
[71432] D/I2C: ACK
[71434] D/I2C: write 1 byte
[71437] D/I2C: send stop condition
[71441] D/I2C: msgs[0] W, addr=0x52, len=1
[71445] D/I2C: msgs[1] R, addr=0x52, len=2
[71449] D/I2C: send start condition
[71453] D/I2C: ACK
[71455] D/I2C: ACK
[71457] D/I2C: write 1 byte
[71460] D/I2C: ACK
[71462] D/I2C: recieve bytes: 0x00, ACK
[71466] D/I2C: recieve bytes: 0xff, NACK
[71471] D/I2C: read 2 bytes
[71473] D/I2C: send stop condition
Success
data 0x03 :0 ff
[71479] D/I2C: msgs[0] W, addr=0x52, len=1
[71484] D/I2C: msgs[1] R, addr=0x52, len=2
[71488] D/I2C: send start condition
[71492] D/I2C: ACK
[71494] D/I2C: ACK
[71496] D/I2C: write 1 byte
[71499] D/I2C: ACK
[71501] D/I2C: recieve bytes: 0x00, ACK
[71505] D/I2C: recieve bytes: 0xff, NACK
[71509] D/I2C: read 2 bytes
[71512] D/I2C: send stop condition
Success
data 0x01 :0 ff
[71518] D/I2C: msgs[0] W, addr=0x52, len=1
[71523] D/I2C: msgs[1] R, addr=0x52, len=2
[71527] D/I2C: send start condition
[71531] D/I2C: ACK
[71533] D/I2C: ACK
[71535] D/I2C: write 1 byte
[71538] D/I2C: ACK
[71540] D/I2C: recieve bytes: 0x00, ACK
[71544] D/I2C: recieve bytes: 0xff, NACK
[71548] D/I2C: read 2 bytes
[71551] D/I2C: send stop condition
Success
data 0x00 :0 ff
[71557] D/I2C: msgs[0] W, addr=0x52, len=1
[71562] D/I2C: msgs[1] R, addr=0x52, len=2
[71566] D/I2C: send start condition
[71570] D/I2C: ACK
[71572] D/I2C: ACK
[71574] D/I2C: write 1 byte
[71577] D/I2C: ACK
[71579] D/I2C: recieve bytes: 0xff, ACK
[71583] D/I2C: recieve bytes: 0xff, NACK
[71587] D/I2C: read 2 bytes
[71590] D/I2C: send stop condition
Success
data 0x1b :ff ff
[71596] D/I2C: msgs[0] W, addr=0x52, len=1
[71600] D/I2C: msgs[1] R, addr=0x52, len=2
[71605] D/I2C: send start condition
[71609] D/I2C: ACK
[71611] D/I2C: ACK
[71613] D/I2C: write 1 byte
[71616] D/I2C: ACK
[71618] D/I2C: recieve bytes: 0x3f, ACK
[71622] D/I2C: recieve bytes: 0xff, NACK
[71626] D/I2C: read 2 bytes
[71629] D/I2C: send stop condition
Success
data 0x11 :3f ff
[71635] D/I2C: msgs[0] W, addr=0x52, len=1
[71639] D/I2C: msgs[1] R, addr=0x52, len=2
[71644] D/I2C: send start condition
[71647] D/I2C: ACK
[71650] D/I2C: ACK
[71652] D/I2C: write 1 byte
[71655] D/I2C: ACK
[71657] D/I2C: recieve bytes: 0xff, ACK
[71661] D/I2C: recieve bytes: 0xff, NACK
[71665] D/I2C: read 2 bytes
[71668] D/I2C: send stop condition
Success
data 0x12 :ff ff
[71674] D/I2C: msgs[0] W, addr=0x52, len=1
[71678] D/I2C: msgs[1] R, addr=0x52, len=2
[71683] D/I2C: send start condition
[71686] D/I2C: ACK
[71689] D/I2C: ACK
[71691] D/I2C: write 1 byte
[71694] D/I2C: ACK
[71696] D/I2C: recieve bytes: 0x4e, ACK
[71700] D/I2C: recieve bytes: 0xff, NACK
[71704] D/I2C: read 2 bytes
[71707] D/I2C: send stop condition
Success
data 0x21 :4e ff
[71713] D/I2C: msgs[0] W, addr=0x52, len=1
[71717] D/I2C: msgs[1] R, addr=0x52, len=2
[71722] D/I2C: send start condition
[71725] D/I2C: ACK
[71728] D/I2C: ACK
[71730] D/I2C: write 1 byte
[71733] D/I2C: ACK
[71735] D/I2C: recieve bytes: 0x2a, ACK
[71739] D/I2C: recieve bytes: 0xff, NACK
[71743] D/I2C: read 2 bytes
[71746] D/I2C: send stop condition
Success
data 0x22 :2a ff
[71752] D/I2C: msgs[0] W, addr=0x52, len=1
[71756] D/I2C: msgs[1] R, addr=0x52, len=2
[71761] D/I2C: send start condition
[71764] D/I2C: ACK
[71766] D/I2C: ACK
[71768] D/I2C: write 1 byte
[71771] D/I2C: ACK
[71774] D/I2C: recieve bytes: 0x00, ACK
[71778] D/I2C: recieve bytes: 0xff, NACK
[71782] D/I2C: read 2 bytes
[71785] D/I2C: send stop condition
Success
data 0x1E :0 ff
[71791] D/I2C: msgs[0] W, addr=0x52, len=1
[71795] D/I2C: msgs[1] R, addr=0x52, len=2
[71799] D/I2C: send start condition
[71803] D/I2C: ACK
[71805] D/I2C: ACK
[71807] D/I2C: write 1 byte
[71810] D/I2C: ACK
[71812] D/I2C: recieve bytes: 0x0f, ACK
[71817] D/I2C: recieve bytes: 0xff, NACK
[71821] D/I2C: read 2 bytes
[71824] D/I2C: send stop condition
Success
data 0x10 :f ff
msh />

2.没有故障出现

3.启动速度与之前加速的速度一样,可以视其为正常。

,

Cherry Zhou:

好的感谢您提供的信息,已经跟进给工程师,如有新的消息会尽快给到您。

,

Cherry Zhou:

您好,启动问题可能是和tuning有关,如果您可以从寄存器 0x20-0x2B 中获取数据的话,您能否提供 EEPROM 设置?

wu qingwei 说:2.没有故障出现

那么当电机在停止运行前的那十秒,是否存在任何故障? 再次启动时电机是否出现故障?

同时您也可以参考DRV10983 tuning guide: https://www.ti.com/lit/ug/slou395d/slou395d.pdf

赞(0)
未经允许不得转载:TI中文支持网 » DRV10983: 电机启动10秒左右后就停下
分享到: 更多 (0)