欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1423|回復: 1
打印 上一主題 下一主題
收起左側

Arduino步進電機圓弧插補實現程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:1109645 發表于 2024-1-19 08:53 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <AccelStepper.h>
#include <MultiStepper.h>

#define STEPPER1_DIR_PIN    2
#define STEPPER1_STEP_PIN   3
#define STEPPER2_DIR_PIN    8
#define STEPPER2_STEP_PIN   9

#define Ena_PIN             10            //使能位為引腳10。(低電平電機禁止運動,高電平電機有效)

AccelStepper stepper1(AccelStepper::DRIVER, STEPPER1_STEP_PIN, STEPPER1_DIR_PIN);   // 配置電機1 的脈沖引腳 方向引腳
AccelStepper stepper2(AccelStepper::DRIVER, STEPPER2_STEP_PIN, STEPPER2_DIR_PIN);   // 配置電機2 的脈沖引腳 方向引腳

#define a          400        //電機旋轉一圈的脈沖數
long positions[2];                        //2個電機坐標位置


/*庫函數說明
* setMaxSpeed ----------設置步進電機最大運行速度
* setAcceleration ------設置步進電機加速度
* setSpeed--------------設置步進電機運行速度
* targetPosition--------獲取步進電機運行目標位置
* currentPosition ------獲取步進電機運行當前位置
* setCurrentPosition----復位步進電機初始位置
* move------------------設置步進電機運動的相對目標位置
* moveTo----------------設置步進電機運動的絕對目標位置
* run-------------------步進電機運行(先加速后減速模式)
* runSpeed--------------步進電機運行(勻速模式)
* runToNewPosition------電機運行到用戶指定位置值,目標位置為絕對位置。此函數將“block”程序運行。即電機沒有到達目標位置前,Arduino將不會繼續執行后續程序內容。這一點很像Arduino官方Stepper庫中的step函數。
*/


void setup()
{
   //
  Serial.begin(9600);
  //
  pinMode(Ena_PIN, OUTPUT);
  digitalWrite(Ena_PIN, 1);

  //  
  stepper1.setMaxSpeed(a*5);      //設置1#電機最大速度
  stepper1.setSpeed(a*3.0);         //設置1#電機速度
  stepper1.setAcceleration(a*4);    //設置1#電機加速度
  //stepper2.setMaxSpeed(CIRCLE_Puls*1.5);
  //stepper2.setSpeed(CIRCLE_Puls*1.0);
// stepper2.setAcceleration(CIRCLE_Puls/4);
  delay(1000);
}

void loop()
{
/*================1、絕對位置運動1---向前轉3圈=============================*/
  //設置電機的目標位置
  positions[0] = a*100;
  //positions[1] = CIRCLE_Puls*3;
  stepper1.runToNewPosition(positions[0]);
  //串口反饋1#電機當前的位置
  Serial.print("1# Motor Current Position is: ");
  Serial.println(stepper1.currentPosition());
  delay(2000);

/*================2、絕對位置運動2---到零位=============================*/
/*
  //設置電機的目標位置
  positions[0] = CIRCLE_Puls*0;
  //positions[1] = CIRCLE_Puls*0;
  stepper1.runToNewPosition(positions[0]);
  //串口反饋1#電機當前的位置
  Serial.print("1# Motor Current Position is: ");
  Serial.println(stepper1.currentPosition())*
  delay(2000);*/
}

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:830831 發表于 2024-1-19 17:49 | 只看該作者
樓主,差補表現在哪?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表