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

標題: arduino nano板控制步進電機正反轉,用于測試編碼器壽命 [打印本頁]

作者: 逝者如斯    時間: 2021-6-10 15:06
標題: arduino nano板控制步進電機正反轉,用于測試編碼器壽命
#include "U8glib.h"

U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);  // I2C / TWI
int t1 = 0 ;
int t2 = 0 ;
int t3 = 0 ;
int m1 = 100 ;
int n1 = 100 ;
void draw(void) {

// graphic commands to redraw the complete screen should be placed here

  u8g.setFont(u8g_font_unifont);

  u8g.setPrintPos(0, 15);
  u8g.print(t1);
  u8g.setPrintPos(65, 15);
  u8g.print(t2);
  u8g.setPrintPos(65, 35);
  u8g.print(t3);
  u8g.setPrintPos(0, 55);
  u8g.print(m1);
  u8g.setPrintPos(65, 55);
  u8g.print(n1);
}

// A4988連接Arduino引腳號
const int dirPin   = 2;   // Direction
const int stepPin  = 3;   // Step
const int sleepPin = 4;   // Sleep
const int resetPin = 5;   // Reset
const int ms2Pin   = 6;   // Ms3
const int ms1Pin   = 7;   // Ms2
const int ms0Pin   = 8;   // Ms1
const int enPin    = 9;   // Enable

// 電機每圈步數
const int STEPS_PER_REV = 982;

void setup() {

   // 設置引腳模式
  pinMode(stepPin,OUTPUT);
  pinMode(dirPin,OUTPUT);
  pinMode(sleepPin,OUTPUT);
  pinMode(resetPin,OUTPUT);  
  pinMode(ms2Pin,OUTPUT);  
  pinMode(ms1Pin,OUTPUT);  
  pinMode(ms0Pin,OUTPUT);
  pinMode(enPin,OUTPUT);   
  pinMode(13,OUTPUT);  
  // 初始化引腳狀態
  digitalWrite(sleepPin, HIGH);  
  digitalWrite(resetPin, HIGH);
  digitalWrite(enPin, LOW);

  // 初始化電機步進模式為1/4步進
  digitalWrite(ms0Pin, LOW);
  digitalWrite(ms1Pin, LOW);
  digitalWrite(ms2Pin, LOW);
}
void loop() {

            if (t2 < m1){
                           digitalWrite(sleepPin, HIGH); //開啟點擊驅動芯片

                            for(int i = 0; i < n1; i++)
                                   {   
                                          u8g.firstPage();
                                          do {
                                                  draw();
                                              } while( u8g.nextPage() );


                                         delay(10);
                                         digitalWrite(dirPin,LOW);     //電機正轉,1/4步,執行一圈+延時共2.5秒
                                          for(int x = 0; x < STEPS_PER_REV; x++)
                                                          {
                                                              digitalWrite(stepPin,HIGH);
                                                              delayMicroseconds(1500);
                                                              digitalWrite(stepPin,LOW);
                                                              delayMicroseconds(1500);

                                                           }                                
                                          delay(500);  

                                          digitalWrite(dirPin,HIGH);    //電機反轉,1/4步,執行一圈+延時共2.5秒
                                          for(int x = 0; x < STEPS_PER_REV; x++)
                                                           {
                                                               digitalWrite(stepPin,HIGH);
                                                               delayMicroseconds(1500);
                                                               digitalWrite(stepPin,LOW);
                                                               delayMicroseconds(1500);

                                                 }

                                         delay(500);
                                         t1 = t1+1;
                                         t3 = t2 * n1 + t1 ;

                                     }

                            digitalWrite(sleepPin, LOW);
                            t1 = 0 ;//圈數歸零
                            t2 = t2+1;
                            t3 = t2 * n1 + t1 ;
                            u8g.firstPage();
                                          do {
                                                  draw();
                                              } while( u8g.nextPage() );
                            delay(10);  

                            for(int j = 0; j < 20; j++)
                                        {
                                            digitalWrite(13, HIGH);//指示燈閃爍
                                            delay(3000);
                                            digitalWrite(13, LOW);
                                            delay(3000);  
                                        }


                        } else {

                                 digitalWrite(13, HIGH);//指示燈閃爍
                                 delay(500);
                                 digitalWrite(13, LOW);
                                 delay(500);

                                 }








}

51hei圖片_20210610150511.jpg (141.46 KB, 下載次數: 197)

控制板

控制板

51hei圖片_20210610150459.jpg (88.49 KB, 下載次數: 222)

控制板+步進電機

控制板+步進電機

作者: ziba108    時間: 2021-7-3 21:05
你好樓主,有接線原理圖可否發附件一份,謝謝




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1