AutoDriver project for PickNPlace robot

Hi,

I recently purchased 4 AutoDrivers for a pick and place project. I followed the “Getting Started” tutorial quite smoothly (or so I thought).

I am currently only trying to move one of my steppers (Nema 23, Bipolar 1.8deg/phase, 24V, 2Nm, 3A) and the code I’m using is the following:

#include <AutoDriver.h>
#include "notes.h"

int stepDir = 1;
AutoDriver boardA(7, 8, 10);

void setup()
{
  Serial.begin(9600);
  Serial.println("Hello world");
  dSPINConfig();
}

// loop() waits for a character- any character- and then plays the song.
void loop()
{
  if (Serial.available()!=0)
  {
    Serial.read();
    Serial.println("Poop!");
    if (stepDir == 1)  boardA.run(FWD, 400);
    else               boardA.run(REV, 400);
    delay(500);
    stepDir*=-1;
    boardA.softStop();
    while (boardA.busyCheck());
    Serial.println("Done pooping!");
    
  }
}

With its support funcitons:

void dSPINConfig(void)
{
  boardA.configSyncPin(BUSY_PIN, 0);// BUSY pin low during operations;
                                    //  second paramter ignored.
  boardA.configStepMode(STEP_FS);   // 0 microsteps per step
  boardA.setMaxSpeed(10000);        // 10000 steps/s max
  boardA.setFullSpeed(10000);       // microstep below 10000 steps/s
  boardA.setAcc(10000);             // accelerate at 10000 steps/s/s
  boardA.setDec(10000);
  boardA.setSlewRate(SR_530V_us);   // Upping the edge speed increases torque.
  boardA.setOCThreshold(OC_750mA);  // OC threshold 750mA
  boardA.setPWMFreq(PWM_DIV_2, PWM_MUL_2); // 31.25kHz PWM freq
  boardA.setOCShutdown(OC_SD_DISABLE); // don't shutdown on OC
  boardA.setVoltageComp(VS_COMP_DISABLE); // don't compensate for motor V
  boardA.setSwitchMode(SW_USER);    // Switch is not hard stop
  boardA.setOscMode(INT_16MHZ_OSCOUT_16MHZ); // for boardA, we want 16MHz
                                    //  internal osc, 16MHz out. boardB and
                                    //  boardC will be the same in all respects
                                    //  but this, as they will bring in and
                                    //  output the clock to keep them
                                    //  all in phase.
  boardA.setAccKVAL(255);           // We'll tinker with these later, if needed.
  boardA.setDecKVAL(255);
  boardA.setRunKVAL(255);
  boardA.setHoldKVAL(32);           // This controls the holding current; keep it low.
}

All I get when I press a key, is a little buzz from the stepper which doesn’t even move, it only goes bzt for less than a second as if it was getting energized.

I am powering both the arduino and the autoDriver board with 5V, and I’m also feeding 24VDC to the AutoDriver for the Steppers. All connections have been triple checked.

I would appreciate anyone’s help at this moment.

Thank you kindly

Hi Mav,

what you need to do is adjust the dSPIN config file setting. In particular the setting for the setMaxSpeed to something in the range your stepper can handle correctly.