Saturday, November 30, 2019

Testing I2S stepper stream combinations on the MRR ESPE


The MRR ESPE uses four 74HCT595 chips to create a 32-bit I2S stream, which can serve as outputs for the ESP32 microcontroller. These are used to control the five stepper drivers, and various PWM controls (like heating elements and fans).

For stepper driver control, only the lower 16 bits of the I2S stream are used. The question is whether these lower 16 bits can be mixed with upper 16 bits, as well as the native IO pins of the ESP32 for stepper driver control. This will allow more than five stepper drivers. So I tried out a rudimentary test today using an older version of the MRR ESPA (which has breakout pins) and made it serve somewhat like an external stepper driver board. Signals were them piped from the MRR ESPE to this "external board" using jumper wires.

I then made changes to the pins definition file to use the "new" pins, and configured the board as a coreXY machine. This means that board X and Y motors will move when I execute a move on a single axis (X or Y). This allows me to see if the two motors--one driven by the lower 16 bits as per usual, and the other being driven with by native ESP32 pins or pins from the upper 16 bits--can move at the same time. Preliminary results show that yes, they can be mixed. But I will really need to order an external stepper driver board and fully test this out with a proper print to ensure that it is really working, like this one.


No comments: