Unable to drive motor with ESP32 using logic level shifter

Hello, I am using an ESP32 a TB6600 micro stepper, and a Nema 23 stepper motor, I am trying to drive the motor with the esp32 but the TB6600 requires a 5v signal, I tried to fix this by using a logic level converter (specifically thisthis) but when I attempt to drive the motor I get a very slight hum out of the motor and no movement.

The motor controller and motor both work as I tested it with an Arduino Uno.

void setup() {
  pinMode(15, OUTPUT);
  pinMode(16, OUTPUT);
  pinMode(17, OUTPUT);
  digitalWrite(16, HIGH);
}

void loop() {
 
  digitalWrite(15,LOW);
  digitalWrite(15,HIGH);
  digitalWrite(17, HIGH);
   delay(200);
}

Picture of Circuit

Circuit Diagram

Please post the schematic and photos here - in the post.

Do you really expect the motor to run at 5000 steps/second, starting from zero? Try delay(200) instead.

No that was a typo but changing it did not fix the issue

The sound emanating from the motor is not one of trying to step the motor too fast like a whine but instead a low buzz/hum

Your diagram seems to be missing a ground connection.

Your picture looks awfully like you've left off a ground connection.

Please draw a proper schematic as best you can, with particular attention to what is supplying power and how that power is being routed to the devices that require it.

a7

1 Like

Im not sure what you are referring too, in the circuit diagram I neglected to add my VCC and GND connection which is 24V 1A but that is all.

You need to show the full drawing of what you actually have - that's the only way we have to see what you're doing!

And you do, indeed, seem to have missed the GND link between your Arduino and the MicroStep driver.

@awneil No, a common ground is not needed/wanted.
This drivers has opto coupler inputs.
Leo..

You seem to have use an I2C level shifter, which is meant to sink current, not to source.
If you had connected the + pins of the driver to 5volt and the -pins to the level shifter it might have worked (with reverse logic code). Maybe better to use a level shift IC that is commonly used for addressable LED strips.
Leo..

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.