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);//最多可添加幾個電機,目前不清楚,後續更新。

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