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.

DRV8811 Current PWM/Decay Functionality

Other Parts Discussed in Thread: DRV8811

I'm relatively new to motor control. I have had an existing design that appeared to be functioning properly, that I borrowed from a previous design used in a similar application. However, I've recently had to change my motor winding impedance from 20Ω to 40Ω. I am noticing that the DRV8811, with the new motor coil, does not seem to have enough time to ramp all the way up to the current limit I’ve set before I need to step the motor to the next position, and there doesn’t seem to be any way to adjust the time rate of change of the current through the coil. I am wondering:

  1. Am I right when I say there is no way to increase the “ramp-up” speed of the current through the motor winding
  2. Is 40Ω, or 20Ω for that matter, a large, average, or small impedance for the coil. I didn’t think much on it until now, but that seems like those might be large numbers
  3. Is there perhaps another issue I’m fighting with, and don’t have enough experience to notice it yet.

 I’ve attached some waveform images below, for reference. They were taken with a fairly old HP scope and a passive 1x probe, so I might not be noticing all the details. From the images, it appears that I don’t really enter decay mode, with the exception of when I’m microstepping, and it seems like the driver is being slammed off (ie, no decay). I have also noticed, though, that the times for decay and blanking are seemingly on a different scales than my charge time, which is concerning me as well. I’ve checked the rest of the circuit, and I believe it’s set up properly (for slow decay operation). Thanks in advance to anyone with some advice for me.

 

CH1: Voltage across RSENSE_A

CH2: Step Input (Half-step)

 

 

CH1: Voltage across RSENSE_A

CH2: Step Input (Eighth-step (microstep))

 

 

CH1: Voltage across RSENSE_A

CH2: Voltage at RCA (Decay voltage)

 

vREF: 2.5V

rISENSE: 0.39Ω

iCHOP: 0.801A

 

Rx: 4.75E+04Ω

Cx: 8.20E-10F

tOFFx: 3.90E-05s

              38.95μs

              25.67kHz

tBLANKx: 1.15E-06s

                    1.15μs

                    871.08kHz

 

vCC: 5V

vDECAY: 5V

 

Using:

Slow Decay

vSR: 0V - Synchronous Rectification

  • Hi Paul,

    There are a few things we must take under consideration to understand what we are observing. I think I'll be able to specify them as I answer your questions:

    Am I right when I say there is no way to increase the “ramp-up” speed of the current through the motor winding.

    Yes, and no. There is a way, but it all depends on how flexible your system is. There are three factors affecting the rate of charge and they are not defined by the driver.

    The application voltage is the main source of current charge rate. The higher the voltage, the faster you can charge your motor inductance. If you can change the input voltage, then we are golden. I do realize in most situations, this is not the case as the power supply voltage is fixed and set in stone.

    The second factor is motor inductance; the lower the motor inductance, the quicker the current charges across the winding. Again, if you can change this inductance, then you can modify the rate of charge. However, this implies redesigning the motor, which is also quite hard to get.

    The last factor is BACK EMF; the faster the motor moves, the higher the BACK EMF becomes. BACK EMF works in opposition to current so the higher the motor speed, the harder will it be for the current to charge up. Unfortunately, and as far as I know, there is nothing we can do on this department. This is Faraday's law and it will always haunt us.

    Is 40Ω, or 20Ω for that matter, a large, average, or small impedance for the coil. I didn’t think much on it until now, but that seems like those might be large numbers

    Yes, 40 Ohms is a rather large motor winding resistance, but it is all relative. What it tells me is that this is most likely a small motor rated at low currents. High resistance motors are mainly used on voltage driven applications in which you want the series resistance to limit the current. This makes the driver (often an LR drive) much simpler. However, when you are using a current chopper topology, this resistance does not help at all. As current increases, the voltage drop across this resistance grows too large, taking too much of the voltage source available to charging the winding. So as you can imagine, to the eyes of the inductance, the voltage source just grew smaller, which translates into a slower charging rate.

    By changing from 20 Ohms to 40 Ohms, the problem was doubled. In order to overcome the new imposed issue, you need to double the power supply voltage.

    Is there perhaps another issue I’m fighting with, and don’t have enough experience to notice it yet.

    I don't think there is any other issue other than the ones mentioned above. There is not much you can do other than changing the motor or the power supply. If your application's volumes are large enough, it may seem like a good idea to have the motor vendor tailor the motor for you. They can play with variables such as wire gauge and length, number of turns, armature construction, etc., to make a motor that suites your voltage, speed and torque needs. If you are relying on already available motors, you will need to tailor the power supply. Hopefully this is possible.

    Notice there is not much you can do with the driver. The only driver parameter that would play a role here is the FETs RDSon, but this is negligible when compared to the motor resistance. Specially with a winding resistance of 40 Ohms.

    Also notice that current chopper topologies rely on the fact that current will not be chopped until it reaches a value. How long it takes to reach this ITrip value, however, is the system's responsibility (e.g. the voltage, the inductance and the BACK EMF). In other words, the driver has no mechanism whatsoever to push the current into the winding. All it can do is wait until the value is reached. You are correct in stating "there doesn’t seem to be any way to adjust the time rate of change of the current through the coil" as the only way in which you will be able to see this change is by modifying the input voltage, or changing the motor speed. Changing the motor inductance in real time is of course not viable.

    You also state there is no decay taking place, unless on microstepping. When on full step, only slow decay mode is employed. It is tough to see current regulation by looking at the SENSE pin, but what you should see is 0V when on slow decay and negative voltage while on fast decay. It is considerably easier to see current decay with a current probe, if you happen to have one of these available.

    I hope this answers your questions, but do let us know if there is anything else we can help you with.

    Best regards,

    Jose Quinones

  • Jose,

    Thanks for your quick response, and for your explanation. I'm a little more coherent this morning than I was Friday afternoon, and what you said makes a lot of sense. I'm not sure why I was thinking there'd be something the driver could do to force current through the motor; I temporarily forgot I was looking at a current waveform, I think.

    You are correct in your supply voltage assumptions, unfortunately; there's not much I can do at this point in the design to alter my input voltage to the driver circuit. In those regards, I am somewhat stuck. I do have a few follow-up questions, though:

    1. I was under the impression that I would see multiple charge/decay cycles per step interval (current chopping, in my head, would perform a similar task as a PWM current driver, controlling the peak and average current through a load); is it wrong to be expecting that? Is it possibly up to me to create that charge/decay waveform, with a different tOFF duration? Part of my expectations were based on this image, from the DRV8811 datasheet:

    I know there is no time scale on the image, so I wouldn't be surprised if the waveforms I generated weren't exactly similar, but this is what I was expecting to see to some degree. Is this an appropriate assumption? Also, you mentioned that I wouldn't be able to see much on the ISENSE pin. I was expecting to see a scaled representation of the current through the winding; is this not the case? Or would it just be more clear with a current probe? I do have an inductive probe at my disposal, I will make that measurement as well.

    I don't know where our design stands, as far as big or small, but for reference the motor was wound for 12-24VDC operation and has a maximum coil RMS current (according to the manufacturer's datasheet) of 1.8A. It seems difficult to push that much power through the coil, even at 24V, at least at this rotation speed. This motor was built specifically for us, and our application, though. Does it seem like this motor was constructed for a driver topology using current-chopping? I get the impression it wasn't. Thank you again for your help.

    Paul

  • Hi Paul,

    I am glad I was able to help. With the new information provided, I am actually puzzled as to how this stepper ended up with a 40 ohm resistance. If the voltage is 12V to 24V, at 40 Ohms, the maximum current you can possibly see after the winding is saturated is 600 mA. Not even with 48V would we be able to see the 1.8A RMS, even if the motor was holding its position (Speed = 0). Seems to me there could be a bug with this motor design, so I would ask the vendor whether it is possible there is a mistake with the series resistance. I would expect this parameter to be nothing more than 13 ohms.

    Because of how long it takes for the current to reach the ITRIP value, it is just not possible to see multiple enablement/disablement cycles on the SENSE pin. In fact, if you are issuing steps, it is very possible you are issuing a step long before you reach the programmed ITRIP. When this happens, you can feel assured you will not see the typical current regulation depiction featured on the datasheet. Do note it is also possible you are not even reaching the programmed ITRIP value as the saturation current can easily be below this value. For example, if you have programmed ITRIP to be 1A and the VM is 24V, since the motor saturates with 600 mA, you will never see an ITRIP taking place. In this case, you will not see a decay event.

    When it comes to seeing the actuation of ITRIPs, there are only two things that can happen:

    1. You see the current being regulated. This happens when the combination of voltage, motor inductance/resistance and BACK EMF are such that the ITRIP value is reached before a new step command is issued. This is typical of rather slow to mid speeds, and it is more prevalent with lower motor resistances/inductances, or with higher application voltages. I have seen motors with a 0.8 ohms resistance. In this case, the current regulation is quite aggressive, even at lower voltages.

    2. You do not see current being regulated. This happens in a case like the one you are experiencing in which the inductance/resistance value is so big, it takes too long for the current to reach ITRIP. The other scenario where this is typical is if the motor is going so fast, the BACK EMF is a voltage so close to the source voltage, the inductor has almost no voltage to charge up. In this case, the current is so small it cannot reach the programmed value. This is why on those cases in which the motor is moving very fast, microstepping is impossible to achieve. At these rates, the BACK EMF distorts the sine wave until it looks like a saw tooth wave. Then the stepper starts to behave like a BLDC motor, and its current almost looks like a sine wave again. Very cool to watch under an oscilloscope if you have the chance!

    Yes, you can look at current by looking at the SENSE pin. You will get an idea of how the current looks, but if you have the current probe, it is so much easier. Just remember the decoding table I specified before. Slow Decay looks like 0V and Fast Decay looks like negative voltage. I also prefer the current probe as it is easier to see current magnitude and current polarity. Through the SENSE pin you would need to compute the current magnitude and look at the power outputs to determine polarity.

    Hope the info helps. Best regards,

    Jose Quinones

  • Jose,

    All of that makes sense, thank you again.

    So I should not be alarmed that my control circuit isn't making use of the trip circuit; it would seem this is more of a protection/control mechanism than a drive mechanism.

    I will confirm the design intent with the engineers in the other groups, it is possible I have been misinformed. It is also possible that something was confused again, and we need to again re-evaluate the motor design.

    Thanks again for the help; I'll repost if the situation gets more confusing.

    Paul