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.

MCT8316Z: MCT8316Z: Motor driver problem II

Part Number: MCT8316Z

Tool/software:

Hey everyone,

In our design we use the HW version of this driver to run the Faulhaber 2250S024BX4 with three (analog) Hall sensors. Having studied the datasheet and the MCT8316ZTEVM Evaluation Module documents thoroughly I am a bit puzzled how that shall be wired. But I had come up with the following design which works well and the motor spins smoothly:

Even though the documents state the analog halls shall be without the pull-up resistors (R1, R4, R8), other combinations than this simply does not work. But this is not merit of my question.

My problem is in the L1 (or R7) for the buck regulator. Again, based on the datasheet one of these (L1 or R7) MUST be populated even if the output of the buck regulator was not used [see the datasheet section 9.3.1.1.4 Using the Buck Regulator, page 85]. Originally I wanted to use other 3.3V source to power the hall sensors. Well, when it MUST be in there, why not to use it. It powers only the hall sensors as in the schema above, nothing else.

The trouble is that no matter if there is either it resistor or inductor, it produces immense amount of heat. After a while even when the motor does not spin there is above 70deg. C on that component while the current seems to also be heating the driver itself a bit (around 50 deg.C). When the motor spins freely (with zero load) the L1 reaches over 80 deg.C while this initiates problems in nearby components rated 'only' up-to 85deg.C. You can see the situation right here:

The red part is the inductor while the driver is the yellow-ish square at two o'clock from that position. The driver has approx 50deg.C in this particular situation.

What am I doing wrong? This cannot be normal behaviour, right? I have populated multiple boards and the problem is the same with all of them (meaning it is not a malfunctioning driver).

How can this be fixed?

Many thanks and endless gratitude for any help!

Josef

  • Hi Josef,

    Thanks for sharing detailed information.

    Powering HALL from the Buck is good because HALL has ESD diode protection to AVDD.

    Hence HALL pull up should not exceed AVDD level.

    When device in Sleep mode AVDD will become zero and hence we should not power HALL with external source.

    The hardware variant BUCK_CL current is always 600mA and hence recommendation to use Inductor with 600mA and saturation rating of 1A

    What is the thermal conductivity of the PCB? How many watts per deg C?

    Thanks and Best regards

    Venkatadri S

  • Hi there!

    thanks for your insight! Did not spot that before..

    So it does mean there is no way how to reduce the current through the coil? When the driver is in operation (not in sleep) it will always dissipate so much heat? :| 

    The trouble is we are pretty much space constrained while the coil is tiny MURATA LQH32CN220K23L (0.25A) as I had assumed to be power-rated to the expected energy consumption of the hall sensors. The FR4 board layout in that section looks like this:

    (the coil is at the bottom right next to a 12V LDO (U5) which seems to experience a thermal shutdown caused by the heat radiated by the coil).

    Is there a way how to limit the heat/current when the driver is in operation?

    Cheers,

    Josef

  • Hi Josef,

    The current rating seems to be low and it will be saturating.

    Can you check for 47uH?

     Hardware variant BUCK_CL is always 600mA.

    Can you lift the coil through thick wire and verify if the heat dissipation to nearby LDO changes?

    Thanks and Best regards

    Venkatadri S

  • Hi Venkatadri,

    here are my experiments: 

    I have two of larger inductors at hand, conveniently a 22 and a 47uH ones (the SRU5018-220Y or SRU5018-470Y respectively). The are rated to 650mA of saturation current. To compare dimensions here is a shot:

    To replace them on the pcb is impossible due to their size and available space, hence I soldered them there using a relatively short/long wires:

    The resulting temperatures are basically equal when comparing both of these (22uH on the left and 47uH on the right):

       

    As their float in the free space and their surface is considerably higher the temperature is a lower, but still the same amount of heat is dissipated. (I am sort of surprised both inductors (22uH & 47uH) behave basically the same).

    As you mentioned there is the 600mA of current (which I could have check, damn!) and the HW drivers are supposed to behave the same. I have build 5 specimen of these boards and the outcome IS consistent.

    However, for further experimenting purposes I also have another board on which there is even less space and the HW driver is controlled by an Attiny the same way (as opposed to 7400-based logic control on the board under inspection:

    The mysterious thing is that on this board the (same) coil remains cold! The driver is the same (HW / -MCT8316Z0TRGFR), is controlled the same way but you can clearly spot the difference:

    Where those 600mA went now? Why is it so 'cool'? (only the driver acts as a heater now but that is pretty well expected).

    The driver 'block' is equal on both boards from the perspective of the schematic and all caps & resistor values, just here some of the components are at the bottom of the PCB due to even higher space congestion.

    Why is that? What happened? How to 'transfer' this cold inductor phenomenon onto the troublesome board?

    Or.. apart from the over-SPI-controlled driver - is there an alternative driver for a BLDC motor with three hall sensors? If I had to redesign the board anyway..?

    With kind regards, 

    Josef

  • Hi Josef,

    Is it possible to share layout (you can share via message) for both design?

    Also, do you have any other data about thermal conductivity? Layers etc

    When is temperature is measured? During motor run or Idle in both condition?

    Are we using Buck out to power any external circuit?

    Thanks and Best regards

    Venkatadri S

  • Hello again,

    > Is it possible to share layout (you can share via message) for both design?

    Will send you a link. Can you open a Kicad project?

    > Also, do you have any other data about thermal conductivity? Layers etc

    it is a two-layer board, FR4

    > When is temperature is measured? During motor run or Idle in both condition?

    Both. When idle the temp (depending on the condition in the office) will not exceed 55deg.C, when running the motor (without any load) can reach even ~80deg.C

    > Are we using Buck out to power any external circuit?

    No, just powering the hall sensors. To limit current drawn from the buck I have even changed all resistors to 100k (even the pull-ups). Same situation. 

    I have currently three boards / layouts. The initial one (board #1; 1.zip) which I have not shared yet) was an experimental one to validate we can use this driver to run this particular motor and also to test both the HW & SW (SPI) versions. Here we decided for the HW kind. The layout is the following:

      

    Already here we faced the overheating problems (R1) but 'hoped'/assumed this will not happen once an inductor (L1) is used (never tested on this here). Currently, this one has been spinning the motor for over 20 minutes and both the driver and the R1 are ~ 46deg.C.

    The board #2 (2.zip) is supposed to be the 'production' where we are facing those problems for which I started this thread.

     

    The position R7 (bottom left) is such it can be used for both 22R or 22uH in a footprint 1812.

    Board #3 (3.zip) is my smaller (and more 'modernized') alternative to #2 where the inductor overheating problem does not occur (as I mentioned I currently have only one specimen so perhaps this is an outlier?).

    The (exceptionally) not-overheating choke is at the top (right from the center) where you can see 1 HALL PWR on one of the pads. Again, all resistors related to the buck regulator are now 100k to limit the current as much as possible.

    Many thanks for the effort!!

    J. 

  • Hi Josef,

    Thanks for provide details again.

    I will verify this and get back to you early next week.

    Thanks and Best regards

    Venkatadri S

  • Just for others who might be watching (and the history record) to see what is going on..

       

    On the left is the troublesome overheating coil layout while on the right is the other project using the same driver and completely the same connections (copy-paste) just on both sides of the pcb as there is less space available.

    Only what is powered from the buck are the hall sensors, pull-ups for the hall sensors and divisors for the HNx inputs (without which the motor does not spin at all).

  • Hi Josef,

    I will need some time to go over details, I will prepare for Monday 9th.

    Thanks and Best regards

    Venkatadri S

  • Hey there!

    We have also been speculating about a chance of possible short below the driver IC; however it consistently behaves on 7 boards and soldering the driver seven times with identical short is (possible) but improbable. Only the one pcb if different design does not show the overheating problem (and this pcb does exist only in one specimen..).

    Unfortunately there we no possibility here to see the driver on X-ray. 

    I presume you might have the MCT8316ZTEVM evaluation board at hand - there is similar size (although a bit larger) inductor.. is there a chance the same trouble occurs here as well?

    (screenshot of driver section of the eval board from related TI video on YT [https://www.youtube.com/watch?v=v7TKM4VL-rw])

    Cheers,

    J.

  • Hi Josef,

    I can verify thermal with EVM.

    Just wanted to check, is this measurement without running motor?

    You mentioned there can be short. What is the current consumption and difference between two designs?

    Thanks and Best regards

    Venkatadri S

  • Hi Venkatadri,

    it is sort of difficult to compare as those two are completely different design. 

    Still, here is the comparison: 

    Board VCC = 19V PCB2 PCB3 
    motor not even connected 20mA 40mA
    motor standing still

    20mA

    40mA
    motor spinning freely (no load) 

    100/120mA   

    110/140mA

    The boards are denoted as in the zipped projects I've sent you over the private message.

    The troublesome board with overheating inductor is the PCB2 which behaves the same in 7 specimen. I've just soldered #8 while the situation is the same. 

    Also an interesting thing (also reported by our customer) is that the motor takes more current when spinning in one direction as the other. This is not a thing now, might be caused by the motor but is also remarkable (has anyone already spotted this before?).

    Josef

    UPDATE: I have a suspicion the problem is not in the driver directly.. I will investigate deeper and will get back soon!

  • Hi Josef,

    I am again seeing the schematic and I feel some changes may be needed.

    But it is not the root cause yet but fixes fundamental issues.

    1, HALL sensor connection-> HNx pins are tied to AVDD/2 (through 100k resistor network), please make sure reference is proper and not introducing any angle difference. This affects run time issues (One of the problems of reverse direction current)

    2. SLEW pin is NC:  This will configure device to 50V/uS  and this may be too low and not helpful for thermal. If coupling is not an issue, we can choose maximum slew rate which helps in improved torque as well as thermal.

    3. ADVANCE pin is NC: This will provide 15 degrees, please verify if these 15 degrees is not adding to inefficiency, we need to test for better efficiency with combination and then fix ADVANCE pin state.

    4. VSEL_BK tied to GND through 10M, this is weak pull down. Can we check if buck output is stable and verify every power up if the value are not different due to noise?

    Thanks and Best regards

    Venkatadri S

  • Hey Venkatadri,

    regarding your notes:

    #1: The design is now two years old and even browsing through all my notes regarding this board I have now no idea where I came up with this resistor network for HNx pins. The datasheet [www.ti.com/.../mct8316z.pdf] in section 8.3.2.2 Digital Hall Input Configuration (p.24) suggest the HNx pin floating (if I get it correctly) but in any other configuration as I have in the schematic the motor resist to spin. On the other hand even the pull-ups for the HALL sensors are not indicated here.. so I am a bit puzzled :| This circuitry is not on the evaluation board but it is uncertain what motor do they use for example here [https://www.youtube.com/watch?v=v7TKM4VL-rw].

    #2: SLEW is left so low to prevent possible problems with EMC (this is intentional).

    #3: ADVANCE was wrong (although it worked), for the next board design it is set to 0. You have a point! :)

    #4: VSEL_BK is now 0R (which results in 3.3V; 10M does 5.5V in the BUCK output). I have changed this to 3.3V to reduce the energy dissipated in the inductor (which helped a bit). But for that trouble I think I am on a good way to find the solution (will post it tomorrow once cross-verified).

    With kind regards,

    Josef.

  • Hi Josef,

    Thanks for clarification, I will wait for your update.

    Thanks and Best regards

    Venkatadri S

  • Still, what about that resistors from #1.. is it really necessary?

    J.

  • All right, hello everyone!

    To sum this up: there was a problem with significant overheating of the inductor connected to the buck regulator while the supposed current draw was minimal as only hall pull-ups and the hall sensors were powered from the buck.

    -- TL;DR begin --

    The origin of all problems was an immense noise coming back on the HALL_PWR from the motor:

    Preventing the noise to come back into the buck regulator by inserting a diode in the HALL_PWR in direction from the buck into the motor stopped the noise getting back and thus the regulator to fight the induced voltage changes, which resulted into ice cold buck inductor.

    -- TL;DR end --

    How was this diagnosed? 

    1. I cut all traces from the buck to be freewheeling and not powering anything.

    2. The HALL_PWR came from a 5V-LDO already present on the board. The situation was without change - the motor has run as before, just the inductor was cold and the 5V LDO became glowing hot. Apparently was fighting against something..

    3. I have disconnected the HALL_PWR wire from the motor and the heat dissipation stopped. This means the HALL_PWR input in the motor takes a lot of current, right? Inserted ammeter into the circuit and measured mere 10mA.. which is nothing. This is not the origin.

    4. Let's have a look on the situation on the oscilloscope. And here it goes..

    SOLUTION: given the current (10mA) an arbitrary diode can be used (in our case MBR0540) to prevent the noise coming back from the motor via the HALL_PWR into the buck regulator which stops the inductor glowing like a supernova.

    The remaining question is whether this shall be done also on all other regulator/motor I/O interface (meaning all three hall sensors and all three phase outputs) to prevent any other noise coming back from the motor into the driver? But it works, at least for now!! :)

    PS: for the HNx-related question I will probably open a new thread.

    Cheers! Slight smile

    Josef