cancel
Showing results for 
Search instead for 
Did you mean: 

L6480 UVLO-Bit problem. Can't get it flip to 1.

Evdsl.1
Associate II

Hello,

I use the EVAL6480 Board and the STM32 F446RE as MCU to communicate to the driver.

My Steppermotor [1] (not exactly this but very similar) has oer phase a resistance of 1,2 ohm.

My Problem is that the motor does not turn because the UVLO flag is always set to 0. How do I get it to 1?

The steps I did:

  1. Connect the SPI cables to my F446RE Board
  2. Connect the motor to the board
  3. Power the L6480 Board with 12V (Current about 9-11mA)
  4. Power the STM32F446RE Board
  5. Send the commands in the order:
    1. 0xC0 Reset the device
    2. 0x13 Set the OCD_TH (0x13) reg to 1V
    3. 0x1A Set the Config Reg CS_SD to 0 and UVLOVAL to 0
    4. Set KVAL_*** values all to 0x33
    5. 0x16 Set Microstep to Fullstep
    6. 0x58 Set device in StepClock mode with reverse DIR
    7. Read GetStatus -> Result 0xe103
    8. Read GetStatus again -> Result 0xe503
    9. Read GetStatus again -> Result 0xe503
  6. Toggle the STCK-Pin with 1KHz

After all the steps the motor does NOT turn.

The CONFIG Reg tells me that reg UVLO is set to 0. This means I have a "undervoltage lockout". The datasheet [2] (Site 30) says the gate voltage of all mosfets has to be over the turn on threshold.

I measured the voltage and

VCC = 7,5V and the voltage for the high side can be calculated with the formula:

Vboot - Vs

I can measure the Vboot voltage on the board. Its the voltage on C1. In this pdf [3] on site 5, the circuit diagram tells me that Vboot has a connection to C1 and BAV9 (D1 on the L6480 PCB).

So i measured the Vboot voltage as shown in the figure below.

Vboot = 18V.

If I now do the calculation:

Vboot - Vs = Voltage_high_side

18V - 12V = 6V

6V are enough to get over the turn on threshold as described in datasheet site 30 section 6.10.

The datasheet says

"When one of the supply voltages of the gate driver (VCC for the low sides and VBOOT - VS for the high sides) falls below the respective turn-off threshold, an undervoltage event occurs. In this case, all MOSFETs are immediately turned off and the UVLO flag in the STATUS register is forced low."

So my question is, why do I get an undervoltage lockout, even though I am over the turn on threshold ?

Do I have to turn the flag VCCVAL in the Config Reg to 1 because this change the VCC voltage?

Regards

Oliver

[1] https://www.omc-stepperonline.com/de/nema-23-57mm-schrittmotor/doppelwelle-nema-23-bipolar-1-8-grad-0-55-nm-2-8a-2v-57x57x41mm-4-drahte.html

[2] https://www.st.com/resource/en/data_brief/eval6480h.pdf

[3] https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwja5vbNmtvzAhXmQvEDHfr9C6wQFnoECBEQAQ&url=https%3A%2F%2Fwww.st.com%2Fresource%2Fen%2Fuser_manual%2Fum1685-eval6480h-and-eval6482h-high-power-microstepping-motor-drivers-stmicroelectronics.pdf&usg=AOvVaw2t-oyW-92ETcqrOwoMEjMA


_legacyfs_online_stmicro_images_0693W00000FDGk6.png

5 REPLIES 5
Cristiana SCARAMEL
ST Employee

Hello @Evdsl.1​ and welcome to the ST Community.

The "VBOOT - VS" UVLO turn-on threshold have the following values (see L6480 datasheet in Table 5 page 12):

0693W00000GWa6SQAT.pngThe typical value is 6 V but the maximum value is 6.3 V.

In your case you have two options:

  1. use VCC = 15 V (VCCVAL set high and UVLO_VAL set high)
  2. replace the charge pump diodes with low-drop ones (as recommended in the board user manual UM1685 Note at page 28).

Please click on the 'Select as Best' label if I fully answered your question.

Cristiana SCARAMEL
ST Employee

Hello @Evdsl.1​ some feedback about your problem?

Evdsl.1
Associate II

Hello Thanks for the reply. I will try it when I got time. Give me some weeks...

Evdsl.1
Associate II

So ...

1) I have used 15V for VCC but the problem stays the same.

2) I will not replace any diodes on this EVAL-Board. This EVAL-Board should work out of the box and is intended to give the user experience on this controller, without modify the hardware first.

Perhaps I got a broken board.

Hi @Evdsl.1​,

if you adopt the first option, it is not necessary change any components.

So, you have set VCC = 15 V (VCCVAL set high and UVLO_VAL set high), right?

Could you check the actual value of VCC?

The board is powered at 12 V and you are using the default supply configuration?

Do you repeat the same procedure described in the original post?

With reference of the point 3 of commands sent: 0x1A Set the Config Reg CS_SD to 0 and UVLOVAL to 0

  • with CS_SD do you mean OC_SD?
  • have you set UVLOVAL to 1?
  • have you set VCCVAL to 1?

Have you always received the same response from the get status?

Read GetStatus -> Result 0xe103

Read GetStatus again -> Result 0xe503