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.

MCT8316ZTEVM: Analog Hall vs. Digital Halls in SPI Mode

Part Number: MCT8316ZTEVM

Hello, 

I am testing this eval with Asynchronous rectification with analog Hall (PWM Mode 1) and it is somehow working as expected (motor spinning)  with my digital hall motor. (HNx all floating with pullups on HPx). However, when I switch to Asynchronous rectification with digital hall (PWM Mode 2), it works intermittently. As in, I apply a PWM and it works, and then I apply 0 PWM and apply a PWM  again, and sometimes it works, sometimes it doesn't. Once it doesn't work, it won't work ever again until PWM mode is switched to mode 1 and back to mode 2...

Can I get a confirmation that Control Register 2A is properly documented?:

Thanks,

Jerome

  • Hi Jerome,

    I am testing this eval with Asynchronous rectification with analog Hall (PWM Mode 1) and it is somehow working as expected (motor spinning)  with my digital hall motor.

    From my experience analog halls will intermittently work with digital Hall inputs because HNx floating is a metastable voltage which should still "act" as a common mode voltage if the HPx hall inputs switch between 0V and AVDD. 

    (HNx all floating with pullups on HPx). However, when I switch to Asynchronous rectification with digital hall (PWM Mode 2), it works intermittently. As in, I apply a PWM and it works, and then I apply 0 PWM and apply a PWM  again, and sometimes it works, sometimes it doesn't.

    Asynchronous rectification means the low-side PWMs are always off and the LS FET body diode switches to keep current flowing through the motor phase. With higher inductance motors, we find asynchronous rectification cannot support the current needed to switch through the LS FET body diode to make the motor commutate, thus this results in intermittent operation. 

    Once it doesn't work, it won't work ever again until PWM mode is switched to mode 1 and back to mode 2...

    We recommend using synchronous commutation. The pros and cons of synchronous rectification are that current flows through the LS FET rather than the body diode so motor operation is not intermittent and fully functional; but the cons is that this results in thermal losses (P = Ids^2 * Rdson) every PWM period. 

    Can I get a confirmation that Control Register 2A is properly documented?:

    This is documented correctly. 

    Thanks,
    Aaron

  • Hi Aaron,

    I should have mentioned that I also tried this with synchronous and I got a similar result where the analog halls mode was responsive whereas the digital halls mode will work 1 or 2 times before failing to work ever again.

    Thanks,

    Jerome

  • Hi Jerome,

    I would try to follow the settings of Mode 4 below in SPI. 

    I am testing this eval with Asynchronous rectification with analog Hall (PWM Mode 1) and it is somehow working as expected (motor spinning)  with my digital hall motor. (HNx all floating with pullups on HPx). However, when I switch to Asynchronous rectification with digital hall (PWM Mode 2), it works intermittently. As in, I apply a PWM and it works, and then I apply 0 PWM and apply a PWM  again, and sometimes it works, sometimes it doesn't. Once it doesn't work, it won't work ever again until PWM mode is switched to mode 1 and back to mode 2...

    Can you clarify what modes you mean by Mode 1 and Mode 2? As in PWM_MODE = 1h and PWM_MODE = 2h? I'd expect it to work in PWM_MODE = 2h using synchronous modulation and ASR and AAR being enabled or disabled. 

    I'll try with my MCT8316ZTEVM with the SPI variant on it today if I get time to see if I can replicate the issue.

    Thanks,
    Aaron

  • Hi Aaron,

    Sorry about the confusion. Mode 1 should be PWM_MODE = 0h and Mode 2 should be PWM_MODE = 1h. I was using Table 8-2 terminology:

    On the other hand, I have tried driving a different BLDC motor and I found that it was responsive with all 4 modes (this BLDC has digital halls). I guess now what I am trying to figure out is why the previous motor doesn't work in digital hall modes...

    I just received a few more BLDC motor variants (all with digital halls) so I will test all of them.

  • Hi Aaron,

    Just an update, I have tried a combination of 2 motors from 3 different BLDC motor makes (6 in total). I retried the test with the motor that was working in digital hall mode I mentioned in the last message, and it no longer spins. All 6 motors work perfectly in analog hall modes (PWM_MODE = 0x00 and 0x2) while only working once or twice in digital hall modes (PWM_MODE = 0x01 and 0x03) before never working again (until a power cycle). All 6 motors have digital halls, using the external pullups on the EVM.

    I guess, my only ask is to try and replicate the issue on your end. I could have a major setup issue that I am overlooking, and it'd be great to have reassurance. I think if you could somehow test the modes with a motor having analog halls for more reassurance, that would be great. I currently don't have such motors.

    Sorry for any inconvenience,
    Jerome

  • Hi Jerome,

    Okay, please let me know if there are any issues you face when spinning different BLDC motors. 

    My guess is some motors have Hall sensors integrated for the digital hall signals, and so those will work better with the digital pullups on the EVM, where as some motors will only have Hall elements and may require a bias to AVDD/2 on HNx to work with analog Hall modes. 

    Thanks,
    Aaron 

  • Hi Aaron,

    Just a quick update. I know how to replicate the issue and I have a little bit more insight on what the issue is.

    Just to reiterate, I am driving a BLDC motor with digital halls pulled up to Hall Sensor Power which is currently VBK at 3.3V

    To replicate the issue consistently:

    1) Turn on Brake pin

    2) Apply a PWM (I do around 15%)/ This will be applied for the entirety of this test.

    3) Send 103 to register address 0x4 (Synchronous digital hall)

    4) If motor is spinning

    a) Assert and dessert brake 4+ times. The driver triggers a Motor lock condition at this point. If you want the motor to spin again, see 5) or power cycle

    5) If motor is not spinning

    a) Turn on brake

    b) Send 101 to register address 0x04 (Synchronous analog hall)

    c) turn off brake. You should see the motor spinning

    d) turn on brake

    e) Send 103 to register address 0x04 (Synchronous digital hall)

    f) turn off brake. You should see the motor spinning now

    Everything above should remain true with Asynchronous mode

    As for what the issue is...

    I have a scope shot of what is happening that is causing the Motor lock fault when the motor fails to spin in digital hall mode:

    CH1: A Phase Current, CH2: A Phase Voltage, CH3 B Phase Voltage, CH4: C Phase Voltage

    This looks like state 3 as Phase A has the 24V PWM signal, Phase B is asserted LOW, and PHASE C is floating:

    However, upon probing the halls, both single endedly and differentially the state of the halls during this period is:

    HPA: 3.3V

    HPB: 3.3V

    HPC: 0V

    With a DIR = 1, this should be state 4 instead of state 3...

    Again, very weird how analog hall mode is working consistently whereas it is only in digital hall mode where this occurs...

  • Hi Jerome,

    Can you double check and make sure your Hall sensors are in the correct order? Is there vibration when the motor is spinning correctly in Analog mode? Is the direction correct when you set the DIR switch according to what's shown on the EVM?

    I can try this in the lab today if I have time, but here are some concerns I have with the procedure you presented. I organized better to make it easier to read:

    1. Turn on Brake pin
    2. Apply a PWM (I do around 15%)/ This will be applied for the entirety of this test.
    3. Send 103 to register address 0x4 (Synchronous digital hall) [I would not set PWM_MODE while the PWM is running according to the NOTE in page 22 of the datasheet]
    4. If motor is spinning
      1. Assert and de-assert brake 4+ times. The driver triggers a Motor lock condition at this point. If you want the motor to spin again, see 5) or power cycle [I would not assert and de-assert brake while PWM is running, or else motor lock condition occurs]
    5. If motor is not spinning
      1. Turn on brake
      2. Send 101 to register address 0x04 (Synchronous analog hall)
      3. turn off brake. You should see the motor spinning
      4. turn on brake
      5. Send 103 to register address 0x04 (Synchronous digital hall)
      6. turn off brake. You should see the motor spinning now

    I think it is important to reset each PWM_MODE setting while the PWM input is low, since changing the PWM_MODE (regardless of BRAKE is high or not). 

    Thanks,
    Aaron

  • Hi Aaron,

    I ended up desoldering and resoldering the IC out of frustration haha. It looks like everything in this thread is not an issue anymore.

    Sorry for all the inconvenience.

    Thanks again,

    Jerome