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