Pololu Robotics & Electronics
Menu
My account Comments or questions? About Pololu Contact Ordering information Distributors

Need help with TB67S249FTG stepper motor driver (logic from Raspberry Pi 3b+)


#1

I recently purchased a TB67S249FTG stepper motor driver to use but am having some issues using it. I have read through the manual for the driver and have wired everything as it seems like I’m supposed to but the motor will not turn. Here is a picture of my current wiring – I have verified all power supplies are working (12V supply and the 5V VCC, as well as the proper VREF to supply 1.7A to the motor).

Any support or feedback on improving the wiring would be appreciated. The goal for now is simply to use the full step functionality – more complicated applications will come after I am more comfortable using the driver basics.


#2

Hello.

It looks like your soldering could use some touch-ups, especially on the motor output pins and power supply pins. The soldering should look like the ones in the tutorials linked on this page. Also, you should put your electrolytic capacitor as close as possible to the VIN and GND pins on the driver. If you are still unable to get your stepper motor to step, please post a close-up pictures showing the touched up pins on the TB67S249FTG carrier and the code you are running on your Raspberry Pi.

- Amanda


#3

Hi Amanda, thanks for the assistance.

I went back and touched-up the solders. I’m not the best solderer in the world, but this should be serviceable correct?

Here is my code:

from time import sleep
import RPi.GPIO as GPIO

DIR = 26 ##GPIO Pin 26
STEP = 19 ##GPIO Pin 19
CW = 1
CCW = 0
SPR = 200 #STEPS PER REV

GPIO.setmode(GPIO.BCM)
GPIO.setup(DIR, GPIO.OUT)
GPIO.setup(STEP, GPIO.OUT)
GPIO.output(DIR, CW)

step_count = SPR
delay = 0.01

for x in range(step_count):
GPIO.output(STEP, GPIO.HIGH)
sleep(delay)
GPIO.output(STEP, GPIO.LOW)
sleep(delay)

sleep(0.5)
GPIO.output(DIR, CCW)

for x in range(step_count):
GPIO.output(STEP, GPIO.HIGH)
sleep(delay)
GPIO.output(STEP, GPIO.LOW)
sleep(delay)

GPIO.cleanup()

Thanks again for the assistance.


#4

The VIN pin still does not look like it is making good contact with the pad on the board. The solder should look like mini volcanoes as shown on this common soldering problems page. Some of your solder joints look like the examples of insufficient wetting in that guide. Could you try touching it up again and then do a continuity test between the pad on the board and the header pin to make sure all the connections are good? You might need to use more solder or a hotter soldering iron.

Your code looks fine.

- Amanda