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.

DRV8825 Decay mode problem

Other Parts Discussed in Thread: DRV8825

HI

 

I am building a motorcontroller with DRV8825 and use it with different running current and holding current using Vref input. Change Vref to I running before start stepping and change it to I hold after last step.

I se when I use fast decay that the current through the motor changes between these 2 curren tsettings when stepping and holding. But sometimes when I stop stepping the holding current is 0 and not what I expected (set by the Vref voltage). What happens?

 

When I use slow or mixed decay the holding current sometimes goes to the right value set by Vref but often it goes to 0 or to plus or minus 1,08A. It looks like myeaning that my setting for holding current  does not regulate the current. When stopping and current goes to 1.08A in stead of wanted current set by Vref the motor will heat up.

If the motor has stopped with current running and I then change from slow/mixed decay to fast decay the current changes from the 1 amp to the current set by Vref

 

Can anyone explain what happens and how it can be solved. 

  • Hi Henrik,

    It is possible what you are observing is quite expected, but let me ask a few questions in order to corroborate my theory:

    1. What microstepping mode are you using? Is it full step or any of the microsteping resolutions (half, quad, 8th, 16th or 32nd)?

    2. What is the SENSE resistor and the two VREF values used for I-RUN and I-HOLD?

    3. Are you always stopping on the same step number? Or are you stopping randomly on any given electrical position (e.g. step number from the internal lookup table)?

    4. When you are seeing the 0A current, what was the current value you were expecting?

    5. How are you measuring the current? With a current probe, amp meter or looking at the power supply meter?

    6. When you see 0A, do you need to reset the device afterwards, or can the motor resume operation from this mode?

    A few notes regarding what I deem expected:

    1. The average current you will see will indeed be different if measuring while on fast, mixed or slow decay modes. The reason is the current ripple is directly proportional to which mode is being used, with the slow decay having the smallest ripple and the fast decay having the largest ripple.

    2. The current magnitude on the phase will be dependent on the electrical position for the step in which you are stopping the motor at. If you use full step, there are two possible values (70% of +ICHOP or -ICHOP), but as you increment the microstepping resolution, more current magnitudes will become apparent. If this is the case, however, you should never see the 0A, so we need to understand whether you are using this mode or not.

    You may also want to take a look at the Current Trip Accuracy table at the bottom of page 6 from September's 2011 revision datasheet. It states what kind of error can you experience depending on the current setting in which the motor is sitting at (this is mostly important while microstepping, not as much for full step). Do note the error grows larger, the closer we get to a 0% current setting.

    The values from this table assume a good layout, so we must realize it is plausible to observe worse accuracy errors if the application layout has unwanted parasitic parameters as those induced by large resistive paths from the SENSE resistor to the SENSE pin, poor ground connections, etc. I would not expect the current variability to be too large, neither it to be 0A when it is supposed to be something else, but I am not ready to rule this possibility out yet, as the layout will have the last word.

    Feel free to provide the answers to the previous questions at your convenience and I feel certain we should be able to get to the bottom of this.

    Best regards,

    Jose Quinones

  • Hi  Jose

    Thank you for your quick answer. My controller shall be used to open close the pans on a multihead weighingmachine and each board contains a microprocessor and 2 DRV8825.

    See Cabinplant.com to see how the weigher looks.

    Running and holding current can each be set to 4 different values (running: 1.0A, 1.2A,1.5A and 2.1A   Holding:  0A, 0,2A, 0,35A and 0,5A) .  Regarding your questions:

    1: I use halfstep

    2: Sense resistor is 0.1 ohm, and I have for this test set Vref for running and holding current to 1.05V and 160mV giving Irun = 2.1A    and I hold = 0,32A

    3: The steppermotor drives a 1:18 gearbox and on the outputshaft I have an optical homesensor, but I do not know where in the steptable I am.

         We use 4 different pansizes and use different number of steps for these pans ( for the smallest we use 1600 steppulses to open the pan) but the number of steps can be set

         randomly from 0 to 32000 pulses. So there is no connections between selected number of steps and the internal lookup table.

    4: When I see 0A I would expect to see 0.32A (holding current)

    5: I use an oscilloscope with a current probe

    6: no, every works on the next run

     

    I think I have found the reason: Until now I have only been looking at the current in one winding.  I have now recorded  the current in both windings in the stepmotor and I can see that if the current in one winding is 0 then the current in the other winding is 0,3A , which means that when the motor is stopped randomly it will sometimes stop in a position where one winding is without current compared with where we are in the lookup table ( no current in one winding and 100% current in the other.

    So I think that there is no problem other than me not thinking. But Thank you for your help making me start thinking.

     

    regards Henrik