Arduino第三方库_步进电机控制

目前做一个项目遇到一个问题,就是在实现步进电机运动时,点动模式电机振动很厉害,现在就一个非常强大的第三方库Accelstepper进行研究分析。

官网的函数说明:

具体官网说明见:http://www.airspayce.com/mikem/arduino/AccelStepper/index.html

#include <AccelStepper.h>中的公共成员函数:

Public Member Functions

  AccelStepper (uint8_t interface=AccelStepper::FULL4WIRE, uint8_t pin1=2, uint8_t pin2=3, uint8_t pin3=4, uint8_t pin4=5, bool enable=true)
 
  AccelStepper (void(*forward)(), void(*backward)())
 
void  moveTo (long absolute)
 
void  move (long relative)
 
boolean  run ()
 
boolean  runSpeed ()
 
void  setMaxSpeed (float speed)
 
float  maxSpeed ()
 
void  setAcceleration (float acceleration)
 
void  setSpeed (float speed)
 
float  speed ()
 
long  distanceToGo ()
 
long  targetPosition ()
 
long  currentPosition ()
 
void  setCurrentPosition (long position)
 
void  runToPosition ()
 
boolean  runSpeedToPosition ()
 
void  runToNewPosition (long position)
 
void  stop ()
 
virtual void  disableOutputs ()
 
virtual void  enableOutputs ()
 
void  setMinPulseWidth (unsigned int minWidth)
 
void  setEnablePin (uint8_t enablePin=0xff)
 
void  setPinsInverted (bool directionInvert=false, bool stepInvert=false, bool enableInvert=false)
 
void  setPinsInverted (bool pin1Invert, bool pin2Invert, bool pin3Invert, bool pin4Invert, bool enableInvert)
 
bool  isRunning ()

#include <MultiStepper.h>中的公共成员函数。 

Public Member Functions

  MultiStepper ()
  Constructor. 
 
boolean  addStepper (AccelStepper &stepper)
 
void  moveTo (long absolute[])
 
boolean  run ()
 
void  runSpeedToPosition ()

主要函数如下: 

- a -

- c -

- d -

- e -

- i -

- m -

- r -

- s -

- t -

以上函数的用法及示例如下:

1 AccelStepper() : AccelStepper

 实例:AccelStepper stepper1(1, 2, 5); // (Type:driver, STEP, DIR) 定义步进电机及引脚

Type:  FUNCTION = 0,     //不知道,后续更新

                DRIVER = 1,    //驱动器驱动,只需要接步进脉冲和方向

          FULL2WIRE = 2,   //两线全步进

           FULL3WIRE = 3,   //三项全步进
           FULL4WIRE = 4,    //四项全步进

          HALF3WIRE = 6,    //三项半步进

           HALF4WIRE = 8     //四项半步进

2. addStepper() : MultiStepper  //将电机增加到多电机控制中

实例:MultiStepper StepperControl; //首先创建MultiStepper实例

           StepperControl.addStepper(stepper1);//将步进电机添加到多电机控制实例中,实现多电机控制

           StepperControl.addStepper(stepper2);

           StepperControl.addStepper(stepper3);//最多可添加几个电机,目前不清楚,后续更新。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章