Only one of two stepper motors moving. The other is at a dead stop. How to fix using millis/micros?

/* Related: https://forum.arduino.cc/t/stepper-motor-with-millis-micros/1099939
   Related Wokwi project: https://wokwi.com/projects/358757303490537473
   
ESP32-WROOM-32D development board: https://www.mouser.com/ProductDetail/Espressif-Systems/ESP32-DevKitC-32D?qs=%252BEew9%252B0nqrDsObWEpDx6YQ%3D%3D
Pins: https://m.media-amazon.com/images/I/71A7UPBNwOL._AC_UF894,1000_QL80_.jpg

*/

const int dirPinX = 0;
const int stepPinX = 2;

const int dirPinY = 19;
const int stepPinY = 18;

unsigned long previousMicrosX = micros();
unsigned long currentMicrosX;
unsigned long previousMicrosY = micros();
unsigned long currentMicrosY;
const unsigned long period = 500; // 500 microseconds
int pulseStateX = LOW;             // default low
int pulseStateY = LOW;

void setup()
{
  pinMode(stepPinX, OUTPUT);
  pinMode(dirPinX, OUTPUT);

  digitalWrite(dirPinX, HIGH);
}

void loop()
{
  stepX();
  stepY();
}

void stepX()
{
  currentMicrosX = micros();  //get the current "time" (time since program start)

  // A millis-timer that toggles the output
  if (currentMicrosX - previousMicrosX >= period)  //test whether period elapsed
  {
    previousMicrosX = currentMicrosX;

    // toggle the pulseState
    if(pulseStateX == LOW)
      pulseStateX = HIGH;
    else
      pulseStateX = LOW;

    digitalWrite(stepPinX, pulseStateX);
  }  
}

void stepY()
{
  currentMicrosY = micros();  //get the current "time" (time since program start)

  // A millis-timer that toggles the output
  if (currentMicrosY - previousMicrosY >= period)  //test whether period elapsed
  {
    previousMicrosY = currentMicrosY;

    // toggle the pulseState
    if(pulseStateY == LOW)
      pulseStateY = HIGH;
    else
      pulseStateY = LOW;

    digitalWrite(stepPinY, pulseStateY);
  }  
}

use the mobatools-library which can be installed with the library-manager of the Arduino-IDE

/* ====== minimumStepper =======================================
 *  Bare minimum to get a stepper with step/dir driver turning
 */
#include <MobaTools.h>
// Stepper connections - Please adapt to your own needs.
const byte stepPin1 = 6; // 
const byte dirPin1  = 5; // 

const byte stepPin2 = 7; // 
const byte dirPin2  = 8; // 

const int stepsPerRev = 200;    // Steps per revolution - may need to be adjusted

MoToStepper stepper1( stepsPerRev, STEPDIR );  // create a stepper instance
MoToStepper stepper2( stepsPerRev, STEPDIR );  // create a stepper instance

void setup() {
  stepper1.attach( stepPin1, dirPin1 );
  stepper1.setSpeed( 300 );              // 30 rev/min (if stepsPerRev is set correctly)
  stepper1.setRampLen( stepsPerRev / 2); // Ramp length is 1/2 revolution

  stepper2.attach( stepPin2, dirPin2 );
  stepper2.setSpeed( 800 );              // 30 rev/min (if stepsPerRev is set correctly)
  stepper2.setRampLen( stepsPerRev / 2); // Ramp length is 1/2 revolution
  
  stepper1.rotate(1);                    // start turning, 1=vorward, -1=backwards                    
  stepper2.rotate(1);                    // start turning, 1=vorward, -1=backwards                    
}

void loop() {
}

EDIT

using IO-pin 0 is not the best choice see

I am not sure scraping my program for a library works. I have other similar programs that use locus math to create various shapes with the two stepper motors.

Regardless, I tried the library and there is an error for compiling for board ESP32 Dev Module.

#include <MobaTools.h>

const int dirPinX = 0;
const int stepPinX = 2;

const int dirPinY = 19;
const int stepPinY = 18;

/* ====== minimumStepper =======================================
 *  Bare minimum to get a stepper with step/dir driver turning
 */
 

const int stepsPerRev = 200;    // Steps per revolution - may need to be adjusted

MoToStepper stepper1( stepsPerRev, STEPDIR );  // create a stepper instance
MoToStepper stepper2( stepsPerRev, STEPDIR );  // create a stepper instance

void setup() {
  stepper1.attach( stepPinX, dirPinX );
  stepper1.setSpeed( 300 );              // 30 rev/min (if stepsPerRev is set correctly)
  stepper1.setRampLen( stepsPerRev / 2); // Ramp length is 1/2 revolution

  stepper2.attach( stepPinY, dirPinY );
  stepper2.setSpeed( 800 );              // 30 rev/min (if stepsPerRev is set correctly)
  stepper2.setRampLen( stepsPerRev / 2); // Ramp length is 1/2 revolution
  
  stepper1.rotate(1);                    // start turning, 1=vorward, -1=backwards                    
  stepper2.rotate(1);                    // start turning, 1=vorward, -1=backwards                    
}

void loop() {
}

If you keep the compiler-log as your secret you can't get help with that

MobaTools\src\esp32\esp32-mt-spi.c:340:9: note: in expansion of macro 'DPORT_CLEAR_PERI_REG_MASK'
DPORT_CLEAR_PERI_REG_MASK(DPORT_PERIP_RST_EN_REG, DPORT_SPI_RST_1);
^~~~~~~~~~~~~~~~~~~~~~~~~
exit status 1
Error compiling for board ESP32 Dev Module.

You have to change in the preferences to compiler-warnings all
and then you have to copy the complete compiler-log (hundreds of lines)
and post it as a code-section

what exact type of ESP32 are you using?

I cannot as my full name is listed on document folders.

From post #1:

ESP32-WROOM-32D development board: https://www.mouser.com/ProductDetail/Espressif-Systems/ESP32-DevKitC-32D?qs=%252BEew9%252B0nqrDsObWEpDx6YQ%3D%3D

no compiler-log no analysing. Then you have to analyse it yourself
or
you have to use a texteditor which will do find/replace and post it then
I have taken the code that you have posted in post # 3
pasted this exact code into Arduino IDE 1.8.19 and it compiles just fine with this configuration

I'm just going to figure the library isn't compatible and move on. Thanks for trying to suggest that library though. I'll try a different library.

@MicroBahner:

have you ever encountered such an error with any kind of ESP32-board?
Is this something that happens when using Arduino IDE 2.0.X?

Nope.

I'm using Arduino 1.8.13

what version of board-support for ESP32 are you using`?
I'm using 2.0.7

I use this additional board url
https://espressif.github.io/arduino-esp32/package_esp32_index.json

image

image

no idea what you want to say with that
If you like to post pictures for entertainment go snap-chattering

2.7.4 I take it is the version (in the picture). I'm just going to try to get AccelStepper to work. I've spent way too much time on the other library now.

why didn't you configure stepPinY and dirPinY?

not sure you should use pin 0, isn't it the TX pin?

consider
(no arrays, pointers or structs)

// dual stepper motors

const int dirPinX  = 0;
const int stepPinX = 2;

const int dirPinY  = 19;
const int stepPinY = 18;

const unsigned long UsecPeriodX = 500; 
const unsigned long UsecPeriodY = 600;
unsigned long usecLstX;
unsigned long usecLstY;
unsigned long usec;

// -----------------------------------------------------------------------------
void
step (
    byte                 PinStep,
    unsigned long       &usecLst,
    const unsigned long  UsecPeriod )
{
    if (usec - usecLst > UsecPeriod)  {
        usecLst = usec;

        digitalWrite (PinStep, ! digitalRead (PinStep));
    }
}

// -----------------------------------------------------------------------------
void loop ()
{
    usec = micros ();

    step (stepPinX, usecLstX, UsecPeriodX);
    step (stepPinY, usecLstY, UsecPeriodY);
}

// -----------------------------------------------------------------------------
void setup ()
{
    Serial.begin (9600);

    pinMode      (stepPinX, OUTPUT);
    pinMode      (dirPinX,  OUTPUT);
    digitalWrite (dirPinX,  HIGH);

    pinMode      (stepPinY, OUTPUT);
    pinMode      (dirPinY,  OUTPUT);
    digitalWrite (dirPinY,  HIGH);
}

There is a known error with the actual 2.x version of the esp32 board manager and MobaTools. Unfortunately I don't have time at the moment to invetigate this. As soon as I have time again, I will care about this error.

@MicroBahner

Really ? This is interesting. I'm using the ESP32 2.0.7-core and it compiles just fine
here is the compile-log. I had to delete some of the very long lines to make it fit into the 120.000 character limit


E:\Arduino-funktioniert\arduino-1.8.19-windows-2022-01-30\arduino-1.8.19\arduino-builder -dump-prefs -logger=machine -hardware E:\Arduino-funktioniert\arduino-1.8.19-windows-2022-01-30\arduino-1.8.19\hardware -hardware C:\Users\dipl-\AppData\Local\Arduino15\packages -tools E:\Arduino-funktioniert\arduino-1.8.19-windows-2022-01-30\arduino-1.8.19\tools-builder -tools E:\Arduino-funktioniert\arduino-1.8.19-windows-2022-01-30\arduino-1.8.19\hardware\tools\avr -tools C:\Users\dipl-\AppData\Local\Arduino15\packages -built-in-libraries E:\Arduino-funktioniert\arduino-1.8.19-windows-2022-01-30\arduino-1.8.19\libraries -libraries F:\myData\Arduino\libraries -fqbn=esp32:esp32:esp32:JTAGAdapter=default,PSRAM=disabled,PartitionScheme=default,CPUFreq=240,FlashMode=qio,FlashFreq=80,FlashSize=4M,UploadSpeed=921600,LoopCore=1,EventsCore=1,DebugLevel=none,EraseFlash=none -vid-pid=10C4_EA60 -ide-version=10819 -build-path C:\Users\dipl-\AppData\Local\Temp\arduino_build_362988 -warnings=all -build-cache C:\Users\dipl-\AppData\Local\Temp\arduino_cache_831590 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.xtensa-esp32-elf-gcc.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\esp-2021r2-patch5-8.4.0 -prefs=runtime.tools.xtensa-esp32-elf-gcc-esp-2021r2-patch5-8.4.0.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\esp-2021r2-patch5-8.4.0 -prefs=runtime.tools.mkspiffs.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\mkspiffs\0.2.3 -prefs=runtime.tools.mkspiffs-0.2.3.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\mkspiffs\0.2.3 -prefs=runtime.tools.xtensa-esp32s3-elf-gcc.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\xtensa-esp32s3-elf-gcc\esp-2021r2-patch5-8.4.0 -prefs=runtime.tools.xtensa-esp32s3-elf-gcc-esp-2021r2-patch5-8.4.0.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\xtensa-esp32s3-elf-gcc\esp-2021r2-patch5-8.4.0 -prefs=runtime.tools.xtensa-esp32s2-elf-gcc.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\xtensa-esp32s2-elf-gcc\esp-2021r2-patch5-8.4.0 -prefs=runtime.tools.xtensa-esp32s2-elf-gcc-esp-2021r2-patch5-8.4.0.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\xtensa-esp32s2-elf-gcc\esp-2021r2-patch5-8.4.0 -prefs=runtime.tools.esptool_py.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\esptool_py\4.5.1 -prefs=runtime.tools.esptool_py-4.5.1.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\esptool_py\4.5.1 -prefs=runtime.tools.mklittlefs.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\mklittlefs\3.0.0-gnu12-dc7f933 -prefs=runtime.tools.mklittlefs-3.0.0-gnu12-dc7f933.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\mklittlefs\3.0.0-gnu12-dc7f933 -prefs=runtime.tools.openocd-esp32.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\openocd-esp32\v0.11.0-esp32-20221026 -prefs=runtime.tools.openocd-esp32-v0.11.0-esp32-20221026.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\openocd-esp32\v0.11.0-esp32-20221026 -prefs=runtime.tools.riscv32-esp-elf-gcc.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\riscv32-esp-elf-gcc\esp-2021r2-patch5-8.4.0 -prefs=runtime.tools.riscv32-esp-elf-gcc-esp-2021r2-patch5-8.4.0.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\riscv32-esp-elf-gcc\esp-2021r2-patch5-8.4.0 -verbose F:\myData\Arduino\adamelli-MobaTools-2-stepper-motors-001\adamelli-MobaTools-2-stepper-motors-001.ino
E:\Arduino-funktioniert\arduino-1.8.19-windows-2022-01-30\arduino-1.8.19\arduino-builder -compile -logger=machine -hardware E:\Arduino-funktioniert\arduino-1.8.19-windows-2022-01-30\arduino-1.8.19\hardware -hardware C:\Users\dipl-\AppData\Local\Arduino15\packages -tools E:\Arduino-funktioniert\arduino-1.8.19-windows-2022-01-30\arduino-1.8.19\tools-builder -tools E:\Arduino-funktioniert\arduino-1.8.19-windows-2022-01-30\arduino-1.8.19\hardware\tools\avr -tools C:\Users\dipl-\AppData\Local\Arduino15\packages -built-in-libraries E:\Arduino-funktioniert\arduino-1.8.19-windows-2022-01-30\arduino-1.8.19\libraries -libraries F:\myData\Arduino\libraries -fqbn=esp32:esp32:esp32:JTAGAdapter=default,PSRAM=disabled,PartitionScheme=default,CPUFreq=240,FlashMode=qio,FlashFreq=80,FlashSize=4M,UploadSpeed=921600,LoopCore=1,EventsCore=1,DebugLevel=none,EraseFlash=none -vid-pid=10C4_EA60 -ide-version=10819 -build-path C:\Users\dipl-\AppData\Local\Temp\arduino_build_362988 -warnings=all -build-cache C:\Users\dipl-\AppData\Local\Temp\arduino_cache_831590 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.xtensa-esp32-elf-gcc.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\esp-2021r2-patch5-8.4.0 -prefs=runtime.tools.xtensa-esp32-elf-gcc-esp-2021r2-patch5-8.4.0.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\xtensa-esp32-elf-gcc\esp-2021r2-patch5-8.4.0 -prefs=runtime.tools.mkspiffs.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\mkspiffs\0.2.3 -prefs=runtime.tools.mkspiffs-0.2.3.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\mkspiffs\0.2.3 -prefs=runtime.tools.xtensa-esp32s3-elf-gcc.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\xtensa-esp32s3-elf-gcc\esp-2021r2-patch5-8.4.0 -prefs=runtime.tools.xtensa-esp32s3-elf-gcc-esp-2021r2-patch5-8.4.0.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\xtensa-esp32s3-elf-gcc\esp-2021r2-patch5-8.4.0 -prefs=runtime.tools.xtensa-esp32s2-elf-gcc.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\xtensa-esp32s2-elf-gcc\esp-2021r2-patch5-8.4.0 -prefs=runtime.tools.xtensa-esp32s2-elf-gcc-esp-2021r2-patch5-8.4.0.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\xtensa-esp32s2-elf-gcc\esp-2021r2-patch5-8.4.0 -prefs=runtime.tools.esptool_py.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\esptool_py\4.5.1 -prefs=runtime.tools.esptool_py-4.5.1.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\esptool_py\4.5.1 -prefs=runtime.tools.mklittlefs.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\mklittlefs\3.0.0-gnu12-dc7f933 -prefs=runtime.tools.mklittlefs-3.0.0-gnu12-dc7f933.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\mklittlefs\3.0.0-gnu12-dc7f933 -prefs=runtime.tools.openocd-esp32.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\openocd-esp32\v0.11.0-esp32-20221026 -prefs=runtime.tools.openocd-esp32-v0.11.0-esp32-20221026.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\openocd-esp32\v0.11.0-esp32-20221026 -prefs=runtime.tools.riscv32-esp-elf-gcc.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\riscv32-esp-elf-gcc\esp-2021r2-patch5-8.4.0 -prefs=runtime.tools.riscv32-esp-elf-gcc-esp-2021r2-patch5-8.4.0.path=C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\tools\riscv32-esp-elf-gcc\esp-2021r2-patch5-8.4.0 -verbose F:\myData\Arduino\adamelli-MobaTools-2-stepper-motors-001\adamelli-MobaTools-2-stepper-motors-001.ino
Using board 'esp32' from platform in folder: C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7
Using core 'esp32' from platform in folder: C:\Users\dipl-\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.7
cmd /c if exist "F:\\myData\\Arduino\\adamelli-MobaTools-2-stepper-motors-001\\partitions.csv" COPY /y "F:\\myData\\Arduino\\adamelli-MobaTools-2-stepper-motors-001\\partitions.csv" "C:\\Users\\dipl-\\AppData\\Local\\Temp\\arduino_build_362988\\partitions.csv"
cmd /c if not exist "C:\\Users\\dipl-\\AppData\\Local\\Temp\\arduino_build_362988\\partitions.csv" if exist "C:\\Users\\dipl-\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.7\\variants\\esp32\\partitions.csv" COPY "C:\\Users\\dipl-\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.7\\variants\\esp32\\partitions.csv" "C:\\Users\\dipl-\\AppData\\Local\\Temp\\arduino_build_362988\\partitions.csv"
cmd /c if not exist "C:\\Users\\dipl-\\AppData\\Local\\Temp\\arduino_build_362988\\partitions.csv" COPY "C:\\Users\\dipl-\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.7\\tools\\partitions\\default.csv" "C:\\Users\\dipl-\\AppData\\Local\\Temp\\arduino_build_362988\\partitions.csv"
cmd /c IF EXIST "F:\\myData\\Arduino\\adamelli-MobaTools-2-stepper-motors-001\\bootloader.bin" ( COPY /y "F:\\myData\\Arduino\\adamelli-MobaTools-2-stepper-motors-001\\bootloader.bin" "C:\\Users\\dipl-\\AppData\\Local\\Temp\\arduino_build_362988\\adamelli-MobaTools-2-stepper-motors-001.ino.bootloader.bin" ) ELSE ( IF EXIST "C:\\Users\\dipl-\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.7\\variants\\esp32\\bootloader.bin" ( COPY "C:\\Users\\dipl-\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.7\\variants\\esp32\\bootloader.bin" "C:\\Users\\dipl-\\AppData\\Local\\Temp\\arduino_build_362988\\adamelli-MobaTools-2-stepper-motors-001.ino.bootloader.bin" ) ELSE ( "C:\\Users\\dipl-\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esptool_py\\4.5.1/esptool.exe" --chip esp32 elf2image --flash_mode dio --flash_freq 80m --flash_size 4MB -o "C:\\Users\\dipl-\\AppData\\Local\\Temp\\arduino_build_362988\\adamelli-MobaTools-2-stepper-motors-001.ino.bootloader.bin" "C:\\Users\\dipl-\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.7\\tools\\sdk\\esp32\\bin\\bootloader_qio_80m.elf" ) )
esptool.py v4.5.1
Creating esp32 image...
Merged 1 ELF section
Successfully created esp32 image.

Using cached library dependencies for file: F:\myData\Arduino\libraries\MobaTools\src\avr\MoToAVR.cpp
Using cached library dependencies for file: F:\myData\Arduino\libraries\MobaTools\src\avr\driversAVR.c
Using cached library dependencies for file: F:\myData\Arduino\libraries\MobaTools\src\esp32\MoToESP32.cpp
Using cached library dependencies for file: F:\myData\Arduino\libraries\MobaTools\src\esp32\driversESP32.c
Using cached library dependencies for file: F:\myData\Arduino\libraries\MobaTools\src\esp32\esp32-mt-spi.c
Using cached library dependencies for file: F:\myData\Arduino\libraries\MobaTools\src\esp8266\ESP8266_waveform.cpp
Using cached library dependencies for file: F:\myData\Arduino\libraries\MobaTools\src\esp8266\MoToESP8266.cpp
Using cached library dependencies for file: F:\myData\Arduino\libraries\MobaTools\src\stm32f1\MoToSTM32F1.cpp
Using cached library dependencies for file: F:\myData\Arduino\libraries\MobaTools\src\stm32f1\driversSTM32F1.c
Using cached library dependencies for file: F:\myData\Arduino\libraries\MobaTools\src\stm32f4\MoToSTM32F4.cpp
Using cached library dependencies for file: F:\myData\Arduino\libraries\MobaTools\src\stm32f4\driversSTM32F4.c
Using cached library dependencies for file: F:\myData\Arduino\libraries\MobaTools\src\utilities\MoToPwmESP.cpp
Using cached library dependencies for file: F:\myData\Arduino\libraries\MobaTools\src\utilities\MoToServo.cpp
Using cached library dependencies for file: F:\myData\Arduino\libraries\MobaTools\src\utilities\MoToSoftled.cpp
Using cached library dependencies for file: F:\myData\Arduino\libraries\MobaTools\src\utilities\MoToSoftled32.cpp
Using cached library dependencies for file: F:\myData\Arduino\libraries\MobaTools\src\utilities\MoToSoftledESP.cpp
Using cached library dependencies for file: F:\myData\Arduino\libraries\MobaTools\src\utilities\MoToStepper.cpp
Generating function prototypes...

Sketch wird kompiliert...

Compiling libraries...
Compiling library "MobaTools"
Zuvor kompilierte Datei wird verwendet: C:\Users\dipl-\AppData\Local\Temp\arduino_build_362988\libraries\MobaTools\avr\driversAVR.c.o
Zuvor kompilierte Datei wird verwendet: C:\Users\dipl-\AppData\Local\Temp\arduino_build_362988\libraries\MobaTools\avr\MoToAVR.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\dipl-\AppData\Local\Temp\arduino_build_362988\libraries\MobaTools\esp32\esp32-mt-spi.c.o
Zuvor kompilierte Datei wird verwendet: C:\Users\dipl-\AppData\Local\Temp\arduino_build_362988\libraries\MobaTools\esp32\driversESP32.c.o
Zuvor kompilierte Datei wird verwendet: C:\Users\dipl-\AppData\Local\Temp\arduino_build_362988\libraries\MobaTools\esp32\MoToESP32.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\dipl-\AppData\Local\Temp\arduino_build_362988\libraries\MobaTools\esp8266\ESP8266_waveform.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\dipl-\AppData\Local\Temp\arduino_build_362988\libraries\MobaTools\esp8266\MoToESP8266.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\dipl-\AppData\Local\Temp\arduino_build_362988\libraries\MobaTools\stm32f1\driversSTM32F1.c.o
Zuvor kompilierte Datei wird verwendet: C:\Users\dipl-\AppData\Local\Temp\arduino_build_362988\libraries\MobaTools\stm32f1\MoToSTM32F1.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\dipl-\AppData\Local\Temp\arduino_build_362988\libraries\MobaTools\stm32f4\driversSTM32F4.c.o
Zuvor kompilierte Datei wird verwendet: C:\Users\dipl-\AppData\Local\Temp\arduino_build_362988\libraries\MobaTools\stm32f4\MoToSTM32F4.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\dipl-\AppData\Local\Temp\arduino_build_362988\libraries\MobaTools\utilities\MoToSoftled.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\dipl-\AppData\Local\Temp\arduino_build_362988\libraries\MobaTools\utilities\MoToPwmESP.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\dipl-\AppData\Local\Temp\arduino_build_362988\libraries\MobaTools\utilities\MoToSoftled32.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\dipl-\AppData\Local\Temp\arduino_build_362988\libraries\MobaTools\utilities\MoToServo.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\dipl-\AppData\Local\Temp\arduino_build_362988\libraries\MobaTools\utilities\MoToSoftledESP.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\dipl-\AppData\Local\Temp\arduino_build_362988\libraries\MobaTools\utilities\MoToStepper.cpp.o
Zuvor kompilierte Datei wird verwendet: C:\Users\dipl-\AppData\Local\Temp\arduino_build_362988\libraries\MobaTools\MobaTools.a
Compiling core...
Using precompiled core: C:\Users\dipl-\AppData\Local\Temp\arduino_cache_831590\core\core_3e5bb3ac1c5d72c6adbf75f9ddb383a9.a
Linking everything together...

"C:\\Users\\dipl-\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esptool_py\\4.5.1/esptool.exe" --chip esp32 elf2image --flash_mode dio --flash_freq 80m --flash_size 4MB --elf-sha256-offset 0xb0 -o "C:\\Users\\dipl-\\AppData\\Local\\Temp\\arduino_build_362988/adamelli-MobaTools-2-stepper-motors-001.ino.bin" "C:\\Users\\dipl-\\AppData\\Local\\Temp\\arduino_build_362988/adamelli-MobaTools-2-stepper-motors-001.ino.elf"
esptool.py v4.5.1
Creating esp32 image...
Merged 2 ELF sections
Successfully created esp32 image.

cmd /c if exist "C:\\Users\\dipl-\\AppData\\Local\\Temp\\arduino_build_362988\\libraries\\Insights" "C:\\Users\\dipl-\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.7/tools/gen_insights_package.exe" "C:\\Users\\dipl-\\AppData\\Local\\Temp\\arduino_build_362988" adamelli-MobaTools-2-stepper-motors-001.ino "F:\\myData\\Arduino\\adamelli-MobaTools-2-stepper-motors-001"
cmd /c IF 0==1 COPY /y "C:\\Users\\dipl-\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\openocd-esp32\\v0.11.0-esp32-20221026\\share\\openocd\\scripts\\board\\esp32-wrover-kit-3.3v.cfg" "F:\\myData\\Arduino\\adamelli-MobaTools-2-stepper-motors-001\\debug.cfg"
cmd /c IF 0==1 COPY /y "C:\\Users\\dipl-\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.7\\tools\\ide-debug\\esp32.json" "F:\\myData\\Arduino\\adamelli-MobaTools-2-stepper-motors-001\\debug_custom.json"
cmd /c IF 0==1 COPY /y "C:\\Users\\dipl-\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.7\\tools\\ide-debug\\svd\\esp32.svd" "F:\\myData\\Arduino\\adamelli-MobaTools-2-stepper-motors-001\\debug.svd"
Mehrere Bibliotheken wurden für "MobaTools.h" gefunden
 Benutzt: F:\myData\Arduino\libraries\MobaTools
 Nicht benutzt: E:\Arduino-funktioniert\arduino-1.8.19-windows-2022-01-30\arduino-1.8.19\libraries\MobaTools
Bibliothek MobaTools in Version 2.4.3 im Ordner: F:\myData\Arduino\libraries\MobaTools  wird verwendet
"C:\\Users\\dipl-\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\xtensa-esp32-elf-gcc\\esp-2021r2-patch5-8.4.0/bin/xtensa-esp32-elf-size" -A "C:\\Users\\dipl-\\AppData\\Local\\Temp\\arduino_build_362988/adamelli-MobaTools-2-stepper-motors-001.ino.elf"
Der Sketch verwendet 246601 Bytes (18%) des Programmspeicherplatzes. Das Maximum sind 1310720 Bytes.
Globale Variablen verwenden 22408 Bytes (6%) des dynamischen Speichers, 305272 Bytes für lokale Variablen verbleiben. Das Maximum sind 327680 Bytes.

I compiled the given demo-code

#include <MobaTools.h>

const int dirPinX = 0;
const int stepPinX = 2;

const int dirPinY = 19;
const int stepPinY = 18;

/* ====== minimumStepper =======================================
 *  Bare minimum to get a stepper with step/dir driver turning
 */
 

const int stepsPerRev = 200;    // Steps per revolution - may need to be adjusted

MoToStepper stepper1( stepsPerRev, STEPDIR );  // create a stepper instance
MoToStepper stepper2( stepsPerRev, STEPDIR );  // create a stepper instance

void setup() {
  stepper1.attach( stepPinX, dirPinX );
  stepper1.setSpeed( 300 );              // 30 rev/min (if stepsPerRev is set correctly)
  stepper1.setRampLen( stepsPerRev / 2); // Ramp length is 1/2 revolution

  stepper2.attach( stepPinY, dirPinY );
  stepper2.setSpeed( 800 );              // 30 rev/min (if stepsPerRev is set correctly)
  stepper2.setRampLen( stepsPerRev / 2); // Ramp length is 1/2 revolution
  
  stepper1.rotate(1);                    // start turning, 1=vorward, -1=backwards                    
  stepper2.rotate(1);                    // start turning, 1=vorward, -1=backwards                    
}

void loop() {
}

best regards Stefan

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