| 
  |||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe  | 
  
35BYJ46步進(jìn)電機(jī)的驅(qū)動(dòng)問題? | 
  
| 作者:lanqiao_80 欄目:單片機(jī) | 
用單片機(jī)與ULN2803A來驅(qū)動(dòng),電機(jī)為四相八啪驅(qū)動(dòng)方式,DC12V,但是我發(fā)現(xiàn)電機(jī)只有震動(dòng),沒有轉(zhuǎn)動(dòng),好奇怪。不知道是那里錯(cuò)誤,量了一下電壓,單片機(jī)輸出為3V左右,  | 
  
| 2樓: | >>參與討論 | 
| 作者: highway 于 2006/6/13 12:31:00 發(fā)布:
         開始時(shí)速度慢點(diǎn),你的時(shí)序正確嗎?硬件連接正常嗎?  | 
  |
| 3樓: | >>參與討論 | 
| 作者: lanqiao_80 于 2006/6/13 16:34:00 發(fā)布:
         硬件已經(jīng)正確了。但程序有問題啊。 程序如下:它只能向一個(gè)方向轉(zhuǎn),安鍵沒有用啊? 高手看看。是什么問題啊? //***************************************************** //功能:步進(jìn)電機(jī)的正轉(zhuǎn)和反轉(zhuǎn). //作者:LQ //日期:2006.06.08 //修改: //***************************************************** #include<reg51.h> const unsigned CHAR motortab[]={0x88,0xCC,0x44,0x66, 0x22,0x33,0x11,0x99}; //步進(jìn)電機(jī)運(yùn)行參數(shù) unsigned CHAR np; void turn_right(void); void turn_left(void); void turn_stop(void); void delay(unsigned CHAR t) { unsigned CHAR i; unsigned int j; for(i=0;i<t;i++) { for(j=0;j<100;j++); } } void turn_step(unsigned CHAR d) { if(d&0x01) { if(np==0) { np=7; } else { np--; } } else { if(np==7) { np=0; } else { np++; } } P2=motortab[np]; } //************************************************** //功能:電機(jī)正轉(zhuǎn)控制 //參數(shù):無 //入口:無 //出口:無 //************************************************** void turn_right(void) { unsigned CHAR temp1; temp1=P1; while(temp1==temp1&0xfd) { turn_step(1); delay(2); temp1=P1; } if(temp1==temp1&0xfe) { turn_left(); } else if(temp1==temp1&0xfb) { turn_stop(); } } //************************************************** //功能:電機(jī)反轉(zhuǎn)控制 //參數(shù):無 //入口:無 //出口:無 //************************************************** void turn_left(void) { unsigned CHAR temp1; temp1=P1; while(temp1==temp1&0xfe) { turn_step(0); delay(2); temp1=P1; } if(temp1==temp1&0xfd) { turn_right(); } else if(temp1==temp1&0xfb) { turn_stop(); } } void key(void) { unsigned CHAR t; t=P1; SWITCH(t) { case 0xfe:turn_left(); case 0xfd:turn_right(); case 0xfb:turn_stop(); default:break; } } //************************************************** //功能:電機(jī)停止控制 //參數(shù):無 //入口:無 //出口:無 //************************************************** void turn_stop(void) { delay(1); P2 = 0X00; P1 = 0XFF; } void main(void) { P2=0X00; P1=0XFF; np=4; while(1) { key(); } }  | 
  |
  | 
    
 
  | 
  
| 免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 | 
Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號(hào)  |