一.系統(tǒng)概述
使用ESP8266作為主控,驅(qū)動是ULN2003A,驅(qū)動五線四相步進(jìn)電機(jī)。
(1)五相步進(jìn)電機(jī)工程圖
(2)驅(qū)動電路原理圖
?
?
二.代碼部分
#define D1 5
#define D2 4
#define D3 0
#define D4 2
#define DSD 5
void setup() {
// put your setup code here, to run once:
pinMode(5,OUTPUT);
pinMode(4,OUTPUT);
pinMode(0,OUTPUT);
pinMode(2,OUTPUT);
pinMode(14,INPUT_PULLUP);
pinMode(12,INPUT_PULLUP);
}
void loop() {
// put your main code here, to run repeatedly:
if(digitalRead(14)!=1)
{
clockward90();
}
if(digitalRead(12)!=1)
{
cclockward90();
}
}
void clockward90(){
for(int i=1;i<=128;i++)
{
delay(DSD);
phaseA();
delay(DSD);
phaseAB();
delay(DSD);
phaseB();
delay(DSD);
phaseBC();
delay(DSD);
phaseC();
delay(DSD);
phaseCD();
delay(DSD);
phaseD();
delay(DSD);
phaseDA();
}
phaseZero();
}
void cclockward90(){
for(int i=1;i<=128;i++)
{
delay(DSD);
phaseDA();
delay(DSD);
phaseD();
delay(DSD);
phaseCD();
delay(DSD);
phaseC();
delay(DSD);
phaseBC();
delay(DSD);
phaseB();
delay(DSD);
phaseAB();
delay(DSD);
phaseA();
}
phaseZero();
}
void phaseA(){
digitalWrite(5,HIGH);
digitalWrite(4,LOW);
digitalWrite(0,LOW);
digitalWrite(2,LOW);
}
void phaseB(){
digitalWrite(5,LOW);
digitalWrite(4,HIGH);
digitalWrite(0,LOW);
digitalWrite(2,LOW);
}
void phaseC(){
digitalWrite(5,LOW);
digitalWrite(4,LOW);
digitalWrite(0,HIGH);
digitalWrite(2,LOW);
}
void phaseD(){
digitalWrite(5,LOW);
digitalWrite(4,LOW);
digitalWrite(0,LOW);
digitalWrite(2,HIGH);
}
void phaseAB(){
digitalWrite(5,HIGH);
digitalWrite(4,HIGH);
digitalWrite(0,LOW);
digitalWrite(2,LOW);
}
void phaseBC(){
digitalWrite(5,LOW);
digitalWrite(4,HIGH);
digitalWrite(0,HIGH);
digitalWrite(2,LOW);
}
void phaseCD(){
digitalWrite(5,LOW);
digitalWrite(4,LOW);
digitalWrite(0,HIGH);
digitalWrite(2,HIGH);
}
void phaseDA(){
digitalWrite(5,HIGH);
digitalWrite(4,LOW);
digitalWrite(0,LOW);
digitalWrite(2,HIGH);
}
void phaseZero(){
digitalWrite(5,LOW);
digitalWrite(4,LOW);
digitalWrite(0,LOW);
digitalWrite(2,LOW);
}
三.工作情況
實(shí)驗(yàn)情況:工作穩(wěn)定,滿足需要。電機(jī)很便宜,工作也很穩(wěn)定。就是轉(zhuǎn)的有點(diǎn)慢。文章來源:http://www.zghlxwxcb.cn/news/detail-558666.html
?????? 每次按下按鈕,步進(jìn)電機(jī)順時針/逆時針旋轉(zhuǎn)90°,接下來步進(jìn)電機(jī)的所有輸入INT引腳打高,步進(jìn)電機(jī)內(nèi)部線圈此時不通過電流,來減小步進(jìn)電機(jī)在待機(jī)狀態(tài)下的發(fā)熱。文章來源地址http://www.zghlxwxcb.cn/news/detail-558666.html
到了這里,關(guān)于ESP8266驅(qū)動五線四相步進(jìn)電機(jī)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!