TunderBorg Voltage Problem

I am having trouble getting the thunderborg to run my stepper motor. I have the thunderborg connected to a 12v battery and the stepper motor is connected correctly. Ay first I was able to run the ./tbStepper.py program and take any # of steps. (this was about one week ago) but i am trying to take steps and it is not working now. I can take 1 or 2 steps at a time but if i take more than 10 steps at a time the voltage drops to <3v and the fail-safe kicks in. If i take 1 step at a time the board gets very hot. I am not exactly sure what happened, I am using the same configuration the first time it worked.

piborg's picture

It sounds like the settings are a bit too much for the stepper motor.

First I would reduce the holding power if the motor gets too hot when not moving. Look for this line:

holdingPower = 0.50           # Output to drive the stepper when holding

and reduce the value to something much lower, like 0.20. This only needs to be high enough to prevent the stepper moving, you may even get away with 0.00 if the stepper does not need to be held with much torque.

As the voltage is dropping too much when the motor is moving the power output is probably too high for moving as well. Look for this line:

maxPower = 1.00               # Output to drive the stepper

and reduce the value to something much lower, like 0.50. Lower numbers will reduce how much power is sent to the stepper, reducing the power draw. If you lower it too far the stepper may not rotate correctly.

As you are running from a battery the other possibility for the voltage drop is that the battery is starting to get flat. Based on past experience I would also recommend rechargeable batteries (such as NiMHs), generally alkaline batteries struggle to deliver power quickly to motors.

Thank you for the information. I was also wondering if it was safe/possible to run two stepper motors from the same thunderborg?

piborg's picture

As long as the current used by both steppers in total does not exceed the 5A limit of the ThunderBorg outputs then yes you can attach two steppers in parallel.

Bear in mind this means they will both move at the same time, you cannot control them independently from a single ThunderBorg.

I am curious about the overview of the Thunderborg, here it states that we could control four to six wire stepper motors. Must both stepper motors move at the same time? If you can control two DC motors independently in both directions then why are steppers not also able to be similarly controlled. Sorry if this question is very clear to others, I am a bit new to this. I am looking to control two NEMA 17 stepper motors as wheels on an inverted-pendulum robot and I picked up a Thunderborg to help me with this. Any advice? Thank you

Images: 
piborg's picture

Stepper motors need to use both of the outputs on the ThunderBorg to work correctly.

Put simply a stepper motor has two coils of wire internally which have their power changed in a sequence to rotate the motor. This means the controller needs to be able to control each coil (a pair of wires) independently from the other one. This requires one of the motor outputs from the ThunderBorg per coil.

By comparison a DC motor only has a single coil of wire internally. The speed of the motor is controlled by the amount of power applied to this coil, and the direction is controlled by the direction power flows in. This means a DC motor only needs a single output from the ThunderBorg.

I would also like to know if there is a maximum operating temp that i should be aware of. I was taking readings with a thermal gun and the temperatures where well under 30C.

I think that I may have fried one of my boards when i tested the stepper with the maxPower = 1.00. The board will power the pi still but the led does not come on and python cannot find the board when i run the print ThunderBorg.ScanForThunderBorg() command. I took readings of this board and while it was not running a motor and the temperatures where up at 54C on the chips on the Thunderborg.

piborg's picture

Generally speaking lower temperatures are better, as motors get hotter they become less efficient anyway. If you were to get way too hot it is possible to shorten the lifespan of the motor as well.

I would say that a 10°C rise over time compared to the ambient temperature is quite normal, maybe as high as 20°C rise after a while if the stepper is working rather hard. If you get up too much higher than that it is probably using too much power and you should reduce the level to get the temperature back down.

As for the ThunderBorg, it sounds like the control chip is probably damaged and maybe the driver chips as well. It is possible that running the motor at too much power could have exceeded the 5A current limit for the ThunderBorg and damaged the board in that way.

Do you have a specification sheet for the stepper you are using?

I bought four of these stepper motors on amazon here are the specifications. I am working on building a robot with the four motors. My plan is to have the two motors on the left side of the robot driven by one thunderborg and then the right two by another. This way I can move forward, backwards, and turn left/right.

Product features
Package: nema 17 stepper motor + mounting bracket + inner hexagon spanner
Stepper motor: 40Ncm holding torque; 1.8 deg. step angle.
NEMA 17 bipolar 4-wire; Rated current 1.7A & resistance 1.5ohms.
Mounting bracket: Strong mounting. Easy to install. Durable with alloy steel material.
Strive for 100% service satisfactory, any question or problem please do not hesitate to contact us, we are always happy to help.
Product description
Feature:

(1) Nema 17 Stepper Motor:
Motor type: Bipolar Stepper
Motor Length: 40mm
Phase Resistance: 1.5Ohm
Phase Inductance: 2.8mH
Detent Torque: 2.2N.cm
Rotor Inertia: 54g.cm2
Holding Torque: 40N.cm
Motor Weight: 280g
Step angle: 1.8 deg
Step angle accuracy: + - 5%(full step, not load)
Resistance accuracy: + - 10%
Inductance accuracy: + - 20%
Temperature rise: 80deg Max(rated current, 2 phase on)
Ambient temperature ----------—20deg ~+50deg
Insulation resistance: 100MΩ Min, 500VDC
Insultion Strength--------500VAC for one minute
Connection: Yellow(A+), Green(A-), Red(B+), Blue(B-)

piborg's picture

Based on those specifications the maximum voltage for the holding power should be:

1.5 Ω × 1.7 A = 2.55 V

With a 12 V power input this gives a power level of:

2.55 V / 12 V = 0.2125

This means your holdingPower value should be an absolute maximum of 0.2125, but you should probably run lower, say 0.1 instead.

The maxPower value can be a bit higher than this, but you should start by trying a value of 0.2125. You can turn this up to get the motor to respond a bit faster, but it will get hotter as a consequence. I would suggest an absolute maximum of double this figure, but ideally the lowest value which rotates properly.

If the motor does not turn properly you can also increase the value of stepDelay to help. This is generally preferable to having larger voltages, but it does cause the motor to move slower. Since they do not give a guideline for stepping speed this value may be too small for your stepper.

Subscribe to Comments for &quot;TunderBorg Voltage Problem&quot;