欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
求一個通過Arduino步進電機庫 控制步進電機的程序
[打印本頁]
作者:
測控系吳~
時間:
2019-8-30 19:22
標題:
求一個通過Arduino步進電機庫 控制步進電機的程序
用常規的方法寫Arduino程序,有一點沒有解決,就是中斷的問題,break 并不能起到預期跳出無限循環的功能;Arduino中本身有庫函數,但是里面的語句還不熟,好像還要什么專門驅動板之類的東西,我用的是雷賽步進電機,有個驅動器(DIR- DIR+ PUL- PUL+ ENA- ENA+ A- A+ B- B+ )希望有大佬能幫幫忙
作者:
測控系吳~
時間:
2019-8-30 19:23
希望這個程序能實現正反轉加減速的功能
作者:
devcang
時間:
2019-9-1 01:04
驅動板是肯定需要的,GPIO 電流有限。
arduino IDE,文件、示例、Stepper、下邊有幾個例子,就是你需要的
作者:
tyrl800
時間:
2019-9-1 08:44
void setup()
{
//初始化電機驅動IO為輸出方式
pinMode(IN1, OUTPUT); // PIN 7
pinMode(IN2, OUTPUT); // PIN 6
pinMode(IN3, OUTPUT); // PIN 5
pinMode(IN4, OUTPUT); // PIN 4
pinMode(beep, OUTPUT); //PIN 3
digitalWrite(beep, HIGH);
Serial.begin(9600);//設置波特率為9600
}
/*******************************四相八拍***********************************/
void Coil_A()
{
digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH); digitalWrite(IN3, HIGH); digitalWrite(IN4, HIGH);
}
void Coil_AB()
{
digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); digitalWrite(IN3, HIGH); digitalWrite(IN4, HIGH);
}
void Coil_B()
{
digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); digitalWrite(IN3, HIGH); digitalWrite(IN4, HIGH);
}
void Coil_BC()
{
digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW); digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH);
}
void Coil_C()
{
digitalWrite(IN1, HIGH); digitalWrite(IN2, HIGH); digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH);
}
void Coil_CD()
{
digitalWrite(IN1, HIGH); digitalWrite(IN2, HIGH); digitalWrite(IN3, LOW); digitalWrite(IN4, LOW);
}
void Coil_D()
{
digitalWrite(IN1, HIGH); digitalWrite(IN2, HIGH); digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW);
}
void Coil_DA()
{
digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH); digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW);
}
/*******************************************************************/
void beep_once()//蜂鳴器響一次
{
digitalWrite(beep, LOW);
delay(100);
digitalWrite(beep, HIGH);
}
void loop()
{
unsigned long now_time = micros(); //獲取當前的系統運行時間長度
while ((micros() - now_time) < 14648); // 60 000 000us/4096
switch (i)
{
case 0: Coil_A(); i++; break;
case 1: Coil_AB(); i++; break;
case 2: Coil_B(); i++; break;
case 3: Coil_BC(); i++; break;
case 4: Coil_C(); i++; break;
case 5: Coil_CD(); i++; break;
case 6: Coil_D(); i++; break;
case 7: Coil_DA(); i = 0; break;
default: break;
}
count++;
if (count == 68)//一秒計時,顯示并蜂鳴器響一下
{
count = 0;
time++;
if (time == 60)
time = 0;
Serial.print("second: " ) ;
Serial.print(time, DEC) ;
Serial.println("s" ) ;
beep_once();
}
}
作者:
測控系吳~
時間:
2019-9-1 14:52
tyrl800 發表于 2019-9-1 08:44
void setup()
{
//初始化電機驅動IO為輸出方式
你是用L298N這個器件做驅動器的吧?可惜我不是,我是直接用的雷賽電機的驅動器,pul- pul+ dir+ dir- ena- ena+ A+ A- B- B+。。。。你懂吧?
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1