cancel
Showing results for 
Search instead for 
Did you mean: 

Active low LIN Mosfet driver and software changes.

SRedd.5
Senior III

I am using the software of b-g431b-esc1 and the driver used in the board as per schematics is


_legacyfs_online_stmicro_images_0693W00000biyXCQAY.pngin my board the micro is RB series but the problem is with the Mosfet driver which has an active low signal, IR2108


_legacyfs_online_stmicro_images_0693W00000biyXlQAI.pngWhat changes do i need to make in the software to make it work? Will it be huge or minor changes? Please advise.

1 ACCEPTED SOLUTION

Accepted Solutions
cedric H
ST Employee

Hello @Community member​ ,

The waveform you attached is not the expected waveform but the truth table of the driver.

HO is High and LO is low when HIN is high and not LIN is High - functional mode High side active

LO is High and HO is low when HIN is low an not LIN is Low - functional mode Low side active

HO is low and LO is low when HIN is low and not LIN is High - functional mode the full leg is off

HO is low and LO is low when HIN is high and not LIN is Low - security to avoid a short circuit and destroy the power electronic, must not happen if Timer properly configured.

Whatever the combination, you will never have both HO an LO high together.

This has nothing to do with the Timer center aligned mode. your cubeMX configuration is correct and could also be achieved if you define your board this way :

 "highSideSwitchesDrivingPolarity": "Active high",

  "lowSideSwitchesDrivingPolarity": "Active low",

Note that we are beyond the support of the MCSDK itself.

Hope it helps.

Regards

Cedric.

View solution in original post

5 REPLIES 5
cedric H
ST Employee

Hello,

I advise you to clone the b-g431-esc board with the board manager and to change the attribute of the PhaseVoltage generation feature.

By default the values are those one :

       "highSideSwitchesDrivingPolarity": "Active high",

       "lowSideSwitchesDrivingPolarity": "Active high",

If I understood your question, you should change the polarity to :

       "highSideSwitchesDrivingPolarity": "Active low",

       "lowSideSwitchesDrivingPolarity": "Active low",

Otherwise, you can stil open the IOC generated for the genuine ESC board, and change the timer configuration through cubeMX.

Hope it helps

Cedric

SRedd.5
Senior III

Yes it is done and works fine upto pwm polarity.

SRedd.5
Senior III

I have slight confusion this is the expected waveform for the driver IR2108


_legacyfs_online_stmicro_images_0693W00000bj8ylQAA.pngI configured in CubeMx as

Not what you mentioned as

 "highSideSwitchesDrivingPolarity": "Active low",

       "lowSideSwitchesDrivingPolarity": "Active low",

Is the configuration of polarity of High and Low correct for Center aligned mode? Please advise.

cedric H
ST Employee

Hello @Community member​ ,

The waveform you attached is not the expected waveform but the truth table of the driver.

HO is High and LO is low when HIN is high and not LIN is High - functional mode High side active

LO is High and HO is low when HIN is low an not LIN is Low - functional mode Low side active

HO is low and LO is low when HIN is low and not LIN is High - functional mode the full leg is off

HO is low and LO is low when HIN is high and not LIN is Low - security to avoid a short circuit and destroy the power electronic, must not happen if Timer properly configured.

Whatever the combination, you will never have both HO an LO high together.

This has nothing to do with the Timer center aligned mode. your cubeMX configuration is correct and could also be achieved if you define your board this way :

 "highSideSwitchesDrivingPolarity": "Active high",

  "lowSideSwitchesDrivingPolarity": "Active low",

Note that we are beyond the support of the MCSDK itself.

Hope it helps.

Regards

Cedric.

SRedd.5
Senior III

Ok understood i will take care in future.