×

Please see all COVID-19 updates here as some shipments may be delayed due to CDC safety and staffing guidelines. If you have an order or shipping question please refer to our Customer Support page. For technical questions please check out our Forums. Thank you for your continued support.

Member #338169

Member Since: July 14, 2012

Country: United States

  • // there has been alot of discussion as to where or not you can use the L6470 driver

    // for milling machines and many other purposes where 2 or more motors

    // need to be synchronized as well as have dynamically assigned speeds.

    // the problem is there is no clear/actual way to change the speed register wile the motor

    //is running, some have suggested to just use the L6470 in step at a time mode

    // but I feel this is a waste of allot of great features ie stall detection.

    // So without further adue here is a solution

    Code:

    void loop()
    {
      // 200 steps is one revolution on a 1.8 deg/step motor.
      dSPIN_Move(FWD, 40);
      while (digitalRead(dSPIN_BUSYN) == LOW);  // wait Until the movement completes, the
      dSPIN_SetParam(dSPIN_MAX_SPEED, MaxSpdCalc(max_speed_rise)); 
      max_speed_rise += acceleration_rate; 
      if (max_speed_rise > 100){
        acceleration_rate = -1;
    
      }
      if (max_speed_rise < 1){
        acceleration_rate = 1;
        delay (1000);
      }
    
    }
    

    if you run this you will see that the stepper s acceleration

    //is nice and smooth while still being controlled dynamicaly ( wile the motor is

    // running ) It is a very simple work around ...

    In truth the motors speed is changing in-between move commands,

    but this is happening so often that it is very smooth!

    // now the comes the part thats not done yet ... daisy chaining, // using the method dynamic speed method combined with daisy chaining // one more thing ... load all the bits but one on the daisy chain while the // motor is finishing the previous command then using an interrupt as soon as // the L6470 busy pins are all low load the last bit in the daisy .. // this should reduce any delays that could cause motor noise!

    Shoot me a message if you improve on it, or the methods iv spoken of.

    Some links to my project related to this post

    https://github.com/Rylangrayston/ard...ee/Daisy-L6470 // youcan find the full code here!

    http://www.blenderartists.org/forum/...!-Suzans-Dolly

    http://rylangrayston.github.io/arduino-blend/

  • omg Im talking to my self ... that what happens when your user name is a number lol

  • I have the very same question .. any one have an answer?

  • How well would this work for reproducing analog signals?

    and if not well at all, what is a common analog signal isolator?

No public wish lists :(