I bought two DROK L298 H-Bridges to control my DC motor (one for backup). I've connected it up to my Raspberry Pi 3 with BCM 12 as my PWM and 16 and 19 as my IN1 and IN2. Below is my code to test if the motor works - but it doesn't turn.
I tested the code on an L293D chip which turns the motor and tested both L298 H-bridges with no success. Looking for thoughts on how to get the motor working on the L298 H-bridge.
import RPi.GPIO as GPIO import time MotorPin1 = 16 # pin36 MotorPin2 = 19 # pin35 MotorEnable = 12 # pin32 GPIO.setmode(GPIO.BCM) # Numbers GPIOs by BCM GPIO.setup(MotorPin1, GPIO.OUT) # mode --- output GPIO.setup(MotorPin2, GPIO.OUT) GPIO.setup(MotorEnable, GPIO.OUT) GPIO.output(MotorEnable, GPIO.LOW) # motor stop pwm = GPIO.PWM(MotorEnable, 1) # configuring Enable pin (MotorEnable) for PWM) pwm.start(50) #starting pwm with 50% duty cycle print 'Press Ctrl+C to end the program...' print 'Raising...' GPIO.output(MotorPin1, GPIO.HIGH) # clockwise GPIO.output(MotorPin2, GPIO.LOW) GPIO.output(MotorEnable, GPIO.HIGH) # motor driver enable time.sleep(2.5) GPIO.output(MotorEnable, GPIO.LOW) # motor stop time.sleep(0.5) print 'Dropping...' pwm.ChangeDutyCycle(20) #decreasing dutycycle to 20 GPIO.output(MotorPin1, GPIO.LOW) # counter-clockwise GPIO.output(MotorPin2, GPIO.HIGH) GPIO.output(MotorEnable, GPIO.HIGH) # motor driver enable time.sleep(1.5) GPIO.output(MotorEnable, GPIO.LOW) # motor stop time.sleep(0.5) pwm.stop() GPIO.cleanup() # Release resource
- Update * Pictures of the spec sheet & connections
- Update 2 - Realized GPIO 12 was in the wrong pin. Changed it to the correct one (5th up) but still no motor turning.