Stepper Motor No-Op

I am having a problem getting a stepper ( Pololu item #: 1209 ) to work. I am using a DRV8825 ( Pololu item #: 2133 ). When I powered up the unit the stepper gets internalized and cannot turn shaft by hand. Also, the motor gets very hot.
When I looked at the voltage across the coils I get 12VDC, which never changes when the step input is pulsed.

Power Voltage = 12VDC
VRegf = 460mV
RST/SLP = 3.3VDC

So what could be the problem? Also what else should I check to find what the problem is?

Hello.

It sounds like your VREF voltage is set to an appropriate value, but I wouldn’t expect to see a steady 12V through the coil since it should be using current chopping; could you describe how you are measuring that voltage? What are you using to supply the STEP signal and how are you controlling it? Also, could you post some pictures of your setup that show all of your connections?

Brandon

Here is a screen capture picture of the PCB board.

As for the voltage, I connected the POS meter lead to the B1 and NEG meter lead to the B2. Then repeat with A and A2. Without the motor connection. Here is a picture of the stepper motor connector and wiring.

I am using Raspberry PI 3B GPIO pins to control ( step, dir, and mode pins) the stepper. Yes I check the pins and code ( Python ) are correct.

Do you have a clue why the motor is heating up?

The coil voltages are around 3VDC (Blk to GRN and RED to BLK).

The voltage on the output pins on the driver when the motor isn’t connected is not very helpful, and it sounds okay once the motor is connected. It is normal for stepper motors to heat up when energized. As long as you are not exceeding the current limit, it should be fine. Your driver is hard to see in your pictures; can you confirm that it is a genuine Pololu board (and not a knockoff)? If it is not a genuine Pololu board, please note that our current limit formula is probably not applicable and you should check with the manufacturer. Additionally, it looks like it has a heat sink installed (which shouldn’t be necessary for using the DRV8825 with a 1A per phase stepper motor.

I don’t see any obvious issues that would explain why it isn’t stepping. You mentioned pulsing the step pin; how quickly are you pulsing it? If you haven’t done so already, could you try removing any load from the motor. There is a lot going on in your setup, so it would probably be good to simplify as much as you can and test it in a more isolated system.

Brandon

Here is a picture of the DRV882 I am using, as you can see it is your driver board.


Here is another screenshot of the PCB with the driver. The red traces are on top (layer 1) and The brown is on the bottom (layer 2)

I do not have O-Scope. By watching the voltage of the step pin I see a changing voltage. Also, I have step pin high and low, and the voltages are correct., The pulses are around 8 Herz (50% duty cycle (0.06 on and 0.06 off))

What else can I check?

Hello.

8 Hz is pretty slow; what are you doing with the MS# pins to set the microstepping mode? Even in full step mode, 8 Hz would only be 2.4 RPM, which might be difficult to notice (and even harder to notice if you’re microstepping). Also, do you have any load on the motor shaft (I couldn’t tell from your pictures)?

By the way, it looks like your ground and VMOT traces are very thin; is there a ground pour that isn’t visible in your screenshot? Those traces will be carrying a lot of current like the individual coil traces, so in general they should probably be at least the size of your coil traces.

Brandon

Yes, 8 Hz is very very slow. Once the motor is turning I will adjust the speed to a higher Hz. No, the motor is not connected to a load. Again I want to get the motor turning before I will attach the load. As for the MS# pins will also be adjusted after I get the motor turning. For testing the pin are all low (0,0,00 to get full steps per step pulse.

Yes, both the top and bottom layers have a GND plane. I turned the plane off so you could see the traces.

I have bypassed the didoes with a jumper to see if there are causing the problem but the problem remains. :joy:

I borrowed an O-Scope and I am getting the 8Hz stepping signal on pin 8 on the driver board.

I do not know what I did but I am now hearing the motor clicking but not rotating. Also, I can turn the motor shaft by hand. There is a little resistance but I can turn the shaft even when powered up.

It is strange that the behavior changed all of a sudden; that generally suggests that there was a connection issue. I would normally suggest testing your DRV8825 carrier separately from your custom carrier board and the rest of your system to help trace down where the problem is happening, but it looks like you have it directly soldered so that probably isn’t very practical. Could you use the O-scope to check to see what the motor outputs on the DRV8825 carrier are doing while your system is running and post those captures here?

Brandon

My friend is on vacation so I do not have access to an O-Scope. I have given in and ordered an O-Scope. I just have to wait for it to come in. Since my DVM is extremely old so I ordered the ZOTEK ZT-702S which is both Multimeter and Oscilloscope in a Handheld meter.

I will let you know when it comes in.

1 Like

I have received the meter. After looking at the signals I have found the problem. The problem was a code sequel error ( some typos did not help) that skipped sending info to the DRV8825. After correcting the code the motor is working.

I have another question. I am using Raspberry running Python code. The question is what is the shortest sleep value?

Here is the code to generate the step pulses>>
Step Pulse Genrater

According to the DRV8825 data sheet, the max frequency of the step pin is 250 KHz. I am using 245 KHz. which is 4.0816326531e-6 seconds. Then divided it by 2 to achieve a 50% duty cycle. So the delay is 2.0408163265e-6 seconds. The step pulses drift around thus this question.

I generally expect the practical maximum step frequency to be limited by your stepper motor and not the DRV8825 or Raspberry Pi. Are you saying you’re stepping it at 245 KHz, and it is responding correctly?

To answer your question about the Raspberry Pi, my understanding is that the shortest practical sleep time (which is determined by the scheduler of the operating system) is on the order of milliseconds. Very small sleep calls will either take far longer than desired or not happen at all.

Brandon

Thank you for sharing your wisdom with me.

The stepper motor ( Pololu item #: 1209 ) spec sheet says it is good to 5KH. Am I reading it right?

Also, it mentions 24VDC!!! I am using 12VDC will this affect the motor’s performance?

Stepper Motor Spec Sheet

The pull-out torque curve is a good general indication of what the motor can do, but the maximum speed will depend on many factors specific to your setup, including your operating voltage, current limit, acceleration limiting (i.e. speed ramping), load on the motor, micro-stepping mode, and even driver-specific features like decay mode. In my experience, the current limit and operating voltage are probably the two largest contributors, followed by acceleration and micro-stepping.

The rated voltage of a stepper motor (2.7V in the case of the #1209) is the voltage at which the stepper motor draws it’s rated current. If you’re using a current limiting stepper motor driver (like the ones we carry), you can safely use a higher voltage without allowing the current to exceed the rated current (which could damage the motor). Using a higher voltage allows the current in the coils to ramp up faster, which can allow the stepper motor to operate at higher step rates. So, if you can’t quite get the speeds you’re after at 12V, you could try increasing your operating voltage.

Brandon

OK, I will try a 24VDC supply voltage.

One last question if I may. When looking for a new motor what spec relates to rotation speed?

Unfortunately, there is not a specification that directly relates to the maximum rotation speed. As I alluded to in my previous post, it can be difficult to judge how fast you can get a stepper motor to spin in your particular setup. The pull-out torque curve is probably the best way to get some general idea of what it can do and how it compares to other stepper motors.

Brandon

Again thank you for sharing your wisdom with me. :smiley: :smiley:
Have a great day.
Richard

1 Like