- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am trying to statically drive three motors using a TLE92108 and SiZ342ADT transistors but every time I attempt to move the motor, a drain-source overvoltage error occurs. I’ve included an image of the half-bridge/motor arrangement, but in brief HB1 is common to all motors, HB2 is attached to motor 1, HB3 is attached to motor 2, and HB4 is attached to motor 3. The attached image was pulled from the MOTIX wizard so the bridge and motor numbers don’t match and there is no shunt resistor between HB1 and my motor, but the motor/HB configuration is similar to mine.
I know that the correct motor is trying to move by noticing slight movements of the rotor.
I can sometimes avoid the over-voltage situation if I set HBMODE to turn on the low side driver first, e.g., if I am driving motor 1, I turn on LS2, then send another command to turn on HS1. This only works for one motor.
Looking at the oscilloscope and measuring DH and the HB output (see included file), I see that there is a slight sag in DH. The HB output is blue (CH1). DH is the red trace (CH2). Green is the difference between HB and DH.
I have increased the blanking time for those HB to 16us and the threshold to 0.60V just to experiment, but the motion is still stopped within 1.5us even though the difference the HB source with the overvoltage error is only 300mv greater than DH.
For reference I am using the following register values
GENCTRL1 |
0b0000000000100110 |
GENCTRL2 |
0b0100000110110000 |
PWMSET |
0b0110111011001010 |
VDS1 |
0b0000110110110110 |
VDS2 |
0b0000110110110110 |
CCP_BLK1 |
0b0000000000000000 |
BLK2_ACT |
0b0100100100111111 |
BLK2_FW |
0b0100100100111111 |
ST_ICHG |
0b0000000011111111 |
How can I get the motor moving? Thank you.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I ended up solving my issue on my own. It turns out that after I initialized the registers in my code, the watchdog trigger was not reset for about 350ms. That put the TLE92108 into fail safe mode, clearing all of the registers, including those set up for my specific transistors.
I missed this because
- All of the registers were set correctly initially
- All subsequent WDT resets after the initial initialization/reset wait were within the 200ms period.
Moral of the story, make sure that you reinitialize your registers returning from Fail Safe Mode.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I realized that I was not changing banks when setting some values. Unfortunately, that did not resolve the overvoltage issue. I’ve included some more scope plots showing the successful motor 1 forward motion (HB1H/HB2L) as well as the failing motors 2 and 3 forward motions (HB1H/HB3L and HB1H/HB4L respectively).
These are the HBMODE values I am using. Again I am not using PWM here.
HBMODE Motor 1 Fwd |
0b0000000000000110 |
HBMODE Motor 1 Rwd |
0b0000000000001001 |
HBMODE Motor 2 Fwd |
0b0000000000010010 |
HBMODE Motor 2 Rwd |
0b0000000000100001 |
HBMODE Motor 3 Fwd |
0b0000000001000010 |
HBMODE Motor 3 Rwd |
0b0000000010000001 |
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello @CMG_Engineer ,
Good Day!
Thanks for posting your question in Infineon community.
We are analyzing your measurements and the register configurations you have done for HB mode, cross current protection time and blanking time.
Please refer the section 6 Floating Gate drivers in the data sheet.
Thank you!
Vinay
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I don't know why or if it matters but when trying to move a motor the active high side Vgs peaks at 20V before dropping back to 0 then jumping back up to 12V then slowly decreasing back to 0V. I've attached a scope capture of the image. Blue is Vsh and red is Vgs, high-side.
Previous captures involved turning on the low side before turning on the high side. The above capture has the HS1 and LS2 turning on at the same time, resulting in the motor not spinning.
Additionally, I've attached my Motix Wizard config file.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I ended up solving my issue on my own. It turns out that after I initialized the registers in my code, the watchdog trigger was not reset for about 350ms. That put the TLE92108 into fail safe mode, clearing all of the registers, including those set up for my specific transistors.
I missed this because
- All of the registers were set correctly initially
- All subsequent WDT resets after the initial initialization/reset wait were within the 200ms period.
Moral of the story, make sure that you reinitialize your registers returning from Fail Safe Mode.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello @CMG_Engineer ,
Good Day!
sorry for the delayed response.
Yes, you are correct. In case of watchdog error, the device enters fail safe mode.
Watchdog trigger shall happen before the watchdog period gets end (i.e., 50ms or 200ms).
The controller has to invert the WDTRIG bit in GENCTRL1 register before the watchdog period to avoid watchdog failure. I guess your controller is not inverting WDTRIG bit, that's why you are facing Watchdog failure.
Thank you!
Vinay