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.

DRV8308: Several questions

Part Number: DRV8308
Other Parts Discussed in Thread: DRV8303

Hi all 

Would you mind if we ask DRV8308?

There are descriptions as follows on the document salvu41f;
"To optimize flutter performance, vary ADVANCE, SPDGAIN, and many combinations of the FILK1, FILK2, COMK1, and COMK2 filters.
These filter settings can be changed in real-time while the motor is spinning,
but the new total gain is only updated when the motor restarts (technically when LOCKn transitions to low if AUTOGAIN is enabled).
In many cases, setting Pole1 to a much higher frequency than the others and setting Zero2 to Pole2 to a frequency band between Zero1 and Pole1 works well.
Try many combinations to find the correct settings.
Feel free to post any questions to the TI E2E Forum online."

<Question1>
"but the new total gain is only updated when the motor restarts (technically when LOCKn transitions to low if AUTOGAIN is enabled)."
Our customer changes the motor voltage from 10V to 24V gradually.
In this case, the motor could not rotate correctly.
However, in case of DC24V insert with startup, the motor could rotate normally.
So, is it relation to this "the new total gain is only updated when the motor restarts"?

<Question2>
And then, the customer's motor rotation is unevenness.
So, they should vary ADVANCE, SPDGAIN, and many combinations of the FILK1, FILK2, COMK1, and COMK2 filters?

Or, they should vary followings, as the documentation salvu41f says?
"3. Turn on the clock, and start the motor with ENABLE. If the motor spins very roughly,
• Try reducing or increasing f CLKIN to find a practical case as a baseline reference.
• Try changing the filters (FILK1, FILK2, COMK1, or COMK2) with different combinations in
increments of 150. Spend some time to find good values.
• Try increasing SPDGAIN and LOOPGAIN."


Kind regards,

Hirotaka Matsumoto

  • Hirotaka-san,

    I'll get back to you tomorrow!

  • Hi Hiritaka,

    There are descriptions as follows on the document salvu41f;

    Could you provide link to this document? I looked at the DRV8303 datasheet and couldn't find any of the references.

    Brian

  • Brian san

    Thank you for your reply.
    And then, we are sorry that we have typo.

    The document No is slvua41f.
    https://www.ti.com/lit/ug/slvua41f/slvua41f.pdf
    Device is DRV8308.

    Kind regards,

    Hirotaka Matsumoto

  • Hi Hirotaka,

    "but the new total gain is only updated when the motor restarts (technically when LOCKn transitions to low if AUTOGAIN is enabled)."
    Our customer changes the motor voltage from 10V to 24V gradually.
    In this case, the motor could not rotate correctly.
    However, in case of DC24V insert with startup, the motor could rotate normally.
    So, is it relation to this "the new total gain is only updated when the motor restarts"?

    The customer changed from 10v to 24v, but they didn't say if any control registers were changed.

    I think what it means in the statement "but the new total gain is only updated when the motor restarts " is that those (changed) registers are all updated during start by loading from the OTP registers. It means you can change those registers during motor running for tuning, individually, and the total gain (from combination of all registers) will be updated at once by reading from OTP registers. Yes, the wording is kind of confusing, but this is what I think.

    And then, the customer's motor rotation is unevenness.
    So, they should vary ADVANCE, SPDGAIN, and many combinations of the FILK1, FILK2, COMK1, and COMK2 filters?

    It's not clear to me what speed control you want: CLKIN frequency mode, or clkin pwm mode or spi speed open loop mode. CLKIN frequency mode is the only closed loop speed control mode, the others are opened loop which doesn't use some of the registers for tuning.

    Assuming you do a closed loop control, then capture the motor speed (FG or Hall signal) signal to see if it has over-shoot due to too high gain, or maybe the integrator frequency is too fast causing wind-up and oscillation. EX: set the clkin to 1000 hz command speed, then capture the speed feedback signal (FG or Hall) so we can see if the system has too high gain, or something else.

    Or, they should vary followings, as the documentation salvu41f says?
    "3. Turn on the clock, and start the motor with ENABLE. If the motor spins very roughly,
    • Try reducing or increasing f CLKIN to find a practical case as a baseline reference.
    • Try changing the filters (FILK1, FILK2, COMK1, or COMK2) with different combinations in
    increments of 150. Spend some time to find good values.
    • Try increasing SPDGAIN and LOOPGAIN."

    It is hard to give an advice in such a general case. It's best that you understand what is the function of each said registers. If you have question for each register then I can help to explain.

    Brian

  • Brian san

    Thank you for your reply.

    The customer changed from 10v to 24v, but they didn't say if any control registers were changed.

    ->Yes, the customer didn't change any control registers.

    I think what it means in the statement "but the new total gain is only updated when the motor restarts " is that those (changed) registers are all updated during start by loading from the OTP registers.

    ->OK, we got the meaning of "but the new total gain is only updated when the motor restarts"
       This meaning is that it requires to configure from OTP or using register again. 
        For example in case of VM=16V and VM=24V, the customer should change control registers for tuning with each motor voltage conditions, right?

    It's not clear to me what speed control you want: CLKIN frequency mode,

    ->We are sorry that we forgot to mention speed control mode. The customer use CLKIN frequency mode. And we appreciate your advice.


    Kind regards,

    Hirotaka Matsumoto

  • Hi Hirotaka-san,

    Sorry for the delay, let me get back to you tomorrow!

    Regards,

    Vishnu

  • For example in case of VM=16V and VM=24V, the customer should change control registers for tuning with each motor voltage conditions, right?

    Yes, for different VM voltage, change the LOOPGAIN proportionally but inverted with the VM (VM higher then loopgain lower).

    Brian

  • Brian san

    Thank you for your reply.

    Yes, for different VM voltage, change the LOOPGAIN proportionally but inverted with the VM (VM higher then loopgain lower).

    After the device starts up with VM=16V, and then the customer changes the voltage from VM=16V to VM=24V.
    (This is just customer's original test. In normal use case, they only use VM=24V.)

    In this case, does the device LOOPGAIN configure with VM=16V automatically?
    Once the customer changes VM=24V, does the device LOOPGAIN configure VM=24V setting?

    Kind regards,

    Hirotaka Matsumoto

  • In this case, does the device LOOPGAIN configure with VM=16V automatically?
    Once the customer changes VM=24V, does the device LOOPGAIN configure VM=24V setting?

    No, loopgain should be adjusted to have a stable motor running at a particular condition (VM, load)

    The gain can be auto-adjust by the chip when speed input changes -- faster speed will have higher gain -- by setting autogain register, but nothing is changed gain wise when VM is changed.

    Brian

  • Brian san

    Thank you for your reply!

    No, loopgain should be adjusted to have a stable motor running at a particular condition (VM, load)

    The gain can be auto-adjust by the chip when speed input changes -- faster speed will have higher gain -- by setting autogain register, but nothing is changed gain wise when VM is changed.

    ->OK, we got your mention.

    As the background of this question;
    The customer changed from 16V to 24V, but they don't change any control registers. Both case, they use 24V's register setting.

    In case of changing the voltage from 16V to 24V with keeping on the voltage ;
    ->The motor speed is not enough, the motor didn't rotate setting speed.

    In case of changing the voltage from 16V to 24V, after changing voltage(24V) power on reset or Enable pin toggle  
    ->The motor rotated setting speed.


    We concerned that the device configure the gain setting with start-up condition.

    Kind regards,

    Hirotaka Matsumoto

  • Hi,

    As the background of this question;
    The customer changed from 16V to 24V, but they don't change any control registers. Both case, they use 24V's register setting.

    In case of changing the voltage from 16V to 24V with keeping on the voltage ;
    ->The motor speed is not enough, the motor didn't rotate setting speed.

    Did you check the Lock pin level?

    Capture scope waveform of VGHx and VGLx to see what pwm duty so we can understand why motor didn't get to setting speed. 

    We concerned that the device configure the gain setting with start-up condition.

    The DRV should load the same registers value from OTP regardless if it was powered up with 16v or 24v -- same register values.

    Brian

  • Brian san

    Thank you for your reply.


    Did you check the Lock pin level?

    ->Yes, in both case, LOCKN pin asserts.

       LOCKN pin is not relation to FG. LOCKN pin asserts with following conditions
       -Threshold(*1) : Within speed threshold (SPEEDTH) 
       -Period(term) : 4 Hall_U periods(2.56ms‐652.8ms×4 ? ) 
       -HALL_U frequency : Faster than 2Hz
       (please refer to following URL) 

       e2e.ti.com/.../4510702




    Capture scope waveform of VGHx and VGLx to see what pwm duty so we can understand why motor didn't get to setting speed. 

    ->Our customer captured the waveform of U, V and W.

    (Normal case : In case of changing the voltage from 16V to 24V, after changing voltage(24V) power on reset or Enable pin toggle)


    (NG case : In case of changing the voltage from 16V to 24V with keeping on the voltage)


    VM voltage is the same 24V, and register setting is the same.
    However, there is the different output voltage(ON duty)  
    Therefore, in case of start-up, does the device confirm the VM voltage? And does the device configure any internal settings?


    Kind regards,

    Hirotaka Matsumoto

  • Hi Hirotaka,

    Our customer captured the waveform of U, V and W.

    (Normal case : In case of changing the voltage from 16V to 24V, after changing voltage(24V) power on reset or Enable pin toggle)


    (NG case : In case of changing the voltage from 16V to 24V with keeping on the voltage)

    I asked for VGHx (high side gate drive signals) waveforms but the customer provided the motor phases waveform U,V,W.

    Anyway looking at the waveforms, it's clearly that for the normal case, it is a 120* 6-step Hall sensor commutation, while the NG case is a sinusoidal current commutation (with space vector pwm). You need to find out why the commutation mode is not the same for the two cases. However, nothing is wrong with using sine current mode, as it drives the motor smoother and less switching loss for the power FETs. 

    What is SMODE pin logic voltage? BASIC and ENSINE bits value?

    Brian

  • Brian san


    Thank you for your reply!

    I asked for VGHx (high side gate drive signals) waveforms but the customer provided the motor phases waveform U,V,W.
    What is SMODE pin logic voltage? BASIC and ENSINE bits value?

    -> We will feedback you later.


    Kind regards,

    Hirotaka Matsumoto

  • Thanks Brian!

    Hi Hirotaka-san,

    Please let us know if you have anymore questions. If not, then please close the thread

    Regards,

    Vishnu

  • Vishnu san

    We have some update, we will feed back you soon.

    And you mentioned ;
    "Sorry for the delay, let me get back to you tomorrow!"
    There was no feed back from you. If you have some feed back or advice, could you let us know?


    Kinds regards,

  • Brian san

    We are sorry that we are late to reply.

    What is SMODE pin logic voltage?
    ->SMODE=OPEN setting : SPI mode (no OTP or no EEPROM  mode)
       In both case, they configure the same register settings as follows;

    <Register setting>
    0x00:0x6141
    0x01:0x0021
    0x02:0x8000
    0x03:0x5F82
    0x04:0x0340
    0x05:0x3001
    0x06:0x04B1
    0x07:0x03BA
    0x08:0x012C
    0x09:0x0250
    0x0A:0xF0A0
    0x0B:0x01A0

    BASIC and ENSINE bits value?
    ->Address 0x03Bit15=BASIC=0,  Address 0x04Bit8=ENSINE=1


    VGHx (high side gate drive signals) waveforms

    ->We encourage the customer capture these wave forms;  


    <Normal case CH2=UHSG, CH3=VHSG, CH4=WHSG>


    <Normal case CH2=ULSG, CH3=VLSG, CH4=WLSG>


    <NG case CH2=UHSG, CH3=VHSG, CH4=WHSG with time range 2ms and 1ms>

    <NG case CH2=ULSG, CH3=VLSG, CH4=WLSG with time range 2ms and 1ms>





    Kind regards,

    Hirotaka Matsumoto

  • Brain san and Vishnu san

    As the result, the register setting is the same.
    However, there are difference waveform between Normal case and NG case.

    -Normal case : In case of changing the voltage from 16V to 24V, after changing voltage(24V) power on reset or Enable pin toggle
    -NG case : In case of changing the voltage from 16V to 24V with keeping on the voltage

    Could you let us know the advice?

    Kind regards,

    Hirotaka Matsumoto

  • Hi Hirotaka,

    BASIC and ENSINE bits value?
    ->Address 0x03Bit15=BASIC=0,  Address 0x04Bit8=ENSINE=1

    The register setting should select the commutation as sine current, which is in the NG case with sine waves (actually the saddle waveform) at the 3 phase wires.

    Then why the normal case (applied 24v directly) the commutation shows it is a 6step commutation?

    It seems like the SPI registers were written too soon and so they don't have the correct data, instead of wait a little delay later?

    Brian

  • Maybe the NG case is not in sine current as I first thought, but because the NG case waveform was zoomed in too much so they look like sine waves.

    Hirotaka, why did you capture the normal case with 3 cycles commutation for each signal, but for the NG case, you only captured one cycle for each signal? Please capture the scope again for NG case with 3 cycles for 3 u,v,w signals.

    Brian

  • Brian san


    Thank you for your prompt reply.

    Then why the normal case (applied 24v directly) the commutation shows it is a 6step commutation?

    It seems like the SPI registers were written too soon and so they don't have the correct data, instead of wait a little delay later?

    ->We understand your mention, however the customer confirmed register with readback in both case.
       Write -> Read -> Confirmation of the same register setting 
       Just in case, we will encourage the customer to confirm again.
       Then, we would like to confirm, is there the case which register data is the same however don't have the correct data?

    why did you capture the normal case with 3 cycles commutation for each signal, but for the NG case, you only captured one cycle for each signal?

    ->Because, in case of NG case, the rotation is slower than Normal case.
       In order to compare two waves with the same time range, the customer captured 1cycle.


    Kind regards,

    Hirotaka Matsumoto

  • ->Because, in case of NG case, the rotation is slower than Normal case.
       In order to compare two waves with the same time range, the customer captured 1cycle.

    We understand the NG case is slower, but please ask the customer to capture the NG waveforms with the same information (number of cycles) using longer time base which is fine. Waveforms are more important than the time base on the scope.

    What do the customer want: 6-step or sine-current commutation?

    Brian

  • Brian san


    Thank you for your reply.
    We encourage the customer to capture waveforms aganin.


    What do the customer want: 6-step or sine-current commutation?
    ->sine-current commutation.
       Because the configure sine current commutation,
       -Address 0x03:Bit15=BASIC=0,  Address 0x04:Bit8=ENSINE=1

    Kind regards,

    Hirotaka Matsumoto 

  • Anyway looking at the waveforms, it's clearly that for the normal case, it is a 120* 6-step Hall sensor commutation, while the NG case is a sinusoidal current commutation (with space vector pwm). You need to find out why the commutation mode is not the same for the two cases. However, nothing is wrong with using sine current mode, as it drives the motor smoother and less switching loss for the power FETs. 

    I was wrong to say the the normal case is 6-step; it is sine-current commutation after looking at it again.

    So both the normal and NG cases are using sine-current commutation, but the NG case is running slower for some reasons.

    Brian

  • In this case, does the device LOOPGAIN configure with VM=16V automatically?
    Once the customer changes VM=24V, does the device LOOPGAIN configure VM=24V setting?

    Hi Hirotaka,

    My understand is the customer loaded the control registers via SPI with the same data for supply=24v and for supply = 16v.

    1) Did the customer input the same CLKIN frequency for both cases of 24v and 16v? IF using the same clkin, then I would expect the tuned registers values for 24v will cause bad motor running at 16v.

    2) Do the customer use the AUTOGAIN by enable it?

    Brian

  • Brain san

    Thank you for your reply!

    1) Did the customer input the same CLKIN frequency for both cases of 24v and 16v? IF using the same clkin, then I would expect the tuned registers values for 24v will cause bad motor running at 16v.

    ->Yes, they use the same CLKIN. However, after they change from 16V to 24V with keeping voltage on, the motor doesn't rotate normal with DC24V register setting. If they change from 16V to 24V and after toggling reset(Enable and Disable) or power on reset, the motor can rotate normal speed.
    Therefore, if the device starts up with 16V, does the device configure any internal setting with that voltage condition?
    If the motor voltage changes, should the device operates toggling reset(Enable and Disable) or power on reset?
    What we would like to know is ↑ contents.

    2) Do the customer use the AUTOGAIN by enable it?

    -> The customer's setting : Address 0x04 0x0340  BIT9=AUTOGAIN=1
         We agree with your opinion, we think that AUTO GAIN is enable or disable, however setting is enable.
         And then, AUTOADV is Disable. Should the customer try it(AUTOADV=high)?

    Kind regards,

    Hirotaka Matsumoto

  • if the device starts up with 16V, does the device configure any internal setting with that voltage condition?

    I don't think the device cares it's 16v or 24v and needs to change the registers.

    If the motor voltage changes, should the device operates toggling reset(Enable and Disable) or power on reset?

    I would not think normally  the device needs to be reset whenever the supply voltage level was changing. This is unreasonable as supply voltage can change as long as it's within the spec of the chip.

    The customer's setting : Address 0x04 0x0340  BIT9=AUTOGAIN=1

    I would set AUTOGAIN=0 for now to narrow down the problem.

    Leave AUTOADV disable for now, as it depends on motor speed only and nothing to do with supply voltage.

    Brian

  • Yes, they use the same CLKIN. However, after they change from 16V to 24V with keeping voltage on, the motor doesn't rotate normal with DC24V register setting.

    I think this maybe the reason:

    "Both the gain and advance values are latched when LOCK goes active"

    When motor running at 16v with AUTOGAIN enable, the final gain value was latched when LOCK bit was triggered once the motor speed was stable, then when PS changed to 24v, the device continued to use the latched gain and this was too high for running at 24v -- too high gain causing rough running.

    This is why reset the chip again fixed the problem. So instead of recycle the power to reset, the customer can reset the AUTOGAIN by clear the bit and then set to 1 so the chip will adjust the gain again at 24v.

    Brian

  • Brain san

    Thank you for your reply.

    "Both the gain and advance values are latched when LOCK goes active"

    ->OK, we got it.


    When motor running at 16v with AUTOGAIN enable, the final gain value was latched when LOCK bit was triggered once the motor speed was stable, then when PS changed to 24v, the device continued to use the latched gain and this was too high for running at 24v -- too high gain causing rough running.

    This is why reset the chip again fixed the problem. So instead of recycle the power to reset, the customer can reset the AUTOGAIN by clear the bit and then set to 1 so the chip will adjust the gain again at 24v.

    ->OK, we encourage the customer to try toggling AUTOGAIN bit.
        As the assumption of this failure, it causes of gain latch. Gain and advance values are latched in case of LOCK asserts.
        In case of using difference voltage, we should set optimal gain and advance values again using reset or AutoGain toggling, right?


    Kind regards,

    Hirotaka Matsumoto

  • Vishnu san

    Brian san shows us the assumption of device operation.
    As the maker's engineer opinion, could you agree with his opinion?
    We want your opinion also.

    Kind regards,

    Hirotaka Matsumoto

  • Hirotaka-san

    Let me read through all the conversations and get back to you

    Regards,

    Vishnu

  • Hi Hirotaka-san,

    As Brian mentioned the gain and advance values get latched during powerup and this can cause the performance difference at 16V and 24. 

    Regards,

    Vishnu

  • Vishnu san

    Thank you for your update.

    As Brian mentioned the gain and advance values get latched during powerup and this can cause the performance difference at 16V and 24. 

    ->OK, we got it. The customer checks this using their system now.
       After they check it, we will feedback you, and we will close this forum(thread).

    Kind regards,

    Hirotaka Matsumoto

  • Hi Vishnu san

    We heard from the customer that the confirmation(Auto gain toggling) at the customer site may take some time.

    We close this forum for a moment.
    When we have additional questions, we will make new thread.

    Kind regards,

    Hirotaka Matsumoto



  • Hi Brian san

    Thank you for your excellent support!!!!

    We close this forum for a moment.
    When we have additional questions, we will make new thread.

    Kind regards,

    Hirotaka Matsumoto

  • Thanks for letting us know!