This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DRV10983 I2C Communications Interruptions

Other Parts Discussed in Thread: DRV10983, USB2ANY, DRV10983EVM

Hi there,

I'm currently using the DRV10983 Motor Driver to control a Maxon motor EC flat 12VDC wihtout Hall sensor.
The motor is used with a small impeller ( the assembly is nothing else than a fan ) .

While the motor driver is acting accordingly to expectations at first, there seem to be a problem with noise in the I2c communications at a certain point.The Problem that occurs is that at some point when the motor reaches a certain speed, the I2c communication becomes disrupted.I saw that problem both with a connected microcontroller ( STM8) and with the USB2ANY device joined into the evaluation packages. With the Microcontroller test, i operated the bus at 100KHz and i tried to reduce the i2c bus wire length(~7cm), shield the bus, and reduce the frequency to 50KHz, but it didn't show much improvement.

I have here to run a few more tests, but at first it seemed that the data line was kept low at all time, as soon as i reached a certain operation speed with the motor. Tried several workaround to reset the bus, but nothing seemed to work.

Is there here a known issue that might cause the I2C communication to get lost? Might there be a workaround or am i just missusing/missunderstanding the motor driver at some point?

Also, i find the product very nice and compact, but some would think that the I2C communication description in the datssheet is lacking a bit information about the configuration of the bus on the master side ( for example min and max bus frequency... at least i havnt seen it in the datasheet) and the read and write communication protocol specificities for that device.

Thanks,

Eric

  • Hi Eric,

    Our experts on this device have been notified. While waiting, can you provide a few more details?

    Can you provide a datasheet (or link) to the motor specifications?
    What voltage is the DRV10983, and what is the current limit?
    What speed is the motor running when I2c communication is lost?
    Does the communication recover at higher speeds?
  • Hi Rick,
    Thanks for the fast answer.

    The motor we use is a Maxon EC flat 45 12W sensorless ( datasheet is on maxon's website : www.maxonmotor.com/.../14-230-EN.pdf )

    The voltage applied to the driver is 12VDC , and we try to reach the 12W so 1A input current.
    We simply added an fat capacitor(220u) at the input of the board, to avoid burning the driver out every time we turn the voltage ON and OFF...

    The motor is running at around 5000+ rpm/min and i couldnt test if the communication comes back when speed is reduced as i couldnt reduce the speed since i set it up through the communication.

    We did preliminary tests with different motors ( same family and power but different voltages) and were pretty successful with your driver. We only experienced a few loss of communications with the USB2ANY in a few configurations ( different voltages and setpoints with different input setpoints ) . In most cases, we were already working at the limits of the driver, i.e. when we were around 3A peak current in the motor phases.

    However, my problem is SOLVED. Up to now , i was using the I2C with the 2 on-board pull-ups linked to V3P3, an output of the drv10983 . When the problem arised, I noticed that both bus lines were becoming low excatly at the same time than V3P3. Changing the voltage source of the 3V3 of the I2C bus solved the problem ( i take 3V3 on my STM8 microcontroller board now and simply don't use the drivers V3P3 power supply anymore).

    It seems that for some reason, the V3P3 power supply dropped when increasing the speed of the motor, which caused the I2C bus to become dead. As we already had to change the motor driver on the board, i cant exclude that it could be linked to a wrong handling of the device on our side , but it is still strange...
  • Hi Eric,

    Thank you for the detailed explanation. Our experts can look into this further with this information.
  • Eric,

    Thanks for explaination and debugging the issue. Could you provide more details:

    1. What is value of pull-ups to 3V3.

    2. If you have programmed, Vreg output to 3.3V, you may try using it and see if problem repeats.

    And Just to answer your question DRV10983  I2C max frequency is 100kHz.

    Best Regards

    Milan

  • Hi Milan,

    1. At first , i was using the pull ups located on the DRV10983EVM board , which means SCL and SDA were tied up to V3P3 with 4,75Kohm each  ( Thats R5 and R6 on the eveluation board). When the Problem arised, i monitored SCL, SDA and V3P3, and found out that the V3P3 voltage was droping down shortly before both bus lines went dead. The motor was however still running , but i just couldn't control it through I2C anymore.

    We use a STM8-Discovery board on the other side for firmware test purpose. This board currently works with 3.3V voltage supply ( out from 5V usb) . The STM8 is used as I2C master, and I2C lines were not tied to any pull-ups on that board at first. When the problem arised, i took both pull ups from the drv10983evm board out and added 2* 4,3K on the STM8 board, tied between I2C bus and 3v3 powers upply of the STM8 board . That solved the problem.

    2. I haven't tried yet to use Vreg at this point but I'll try it and let you know if that works.

    As i already said, we had to replace the motor driver on the baord , because we burned 2-3 times the previous out ( one time when switching power on ->  we now have a capacitor at input of drviver baord to filter surges, and also one time by using 5 V TTL signal as input setpoint, which the motor driver didn't like as it is only tolerant to 4V max, which says how important it is to read the datasheet before assuming things are working in a certain way...). We operate and handle devices with ESD protection and pay attention during the soldering, but i cant exclude that we damaged the drv10983 while handling it or resoldering it on the baord.

    On our end-application board, we wont be using the power supply provided by the motor driver as we already have several voltage regulation stages, so that shouldn't be a problem. The whole point was here more to determine if the problem was firmware(STM8) linked or not.

    Thanks for the information about the I2C bus max speed.

    Best Regards

    Eric

  • EricThanks for details and good to know that your problem is solved.
    Let us know if you encounter any issue related to DRv10983 during development.
    Best RegardsMilan