西部柴油發(fā)電機出租租賃專用機組
全球霸權(quán),實現(xiàn)向外輸出的同時在本保留半導(dǎo)體等行業(yè)的關(guān)鍵零部件核心產(chǎn)能,同時圖通過再工業(yè)化重塑美傳統(tǒng)制造業(yè)競爭。中特色制造業(yè)發(fā)展之路:中制造始終有很強的政策引導(dǎo)特,關(guān)鍵行業(yè)發(fā)展路徑多為政策推動下的引進消化吸收再創(chuàng)新,我們認為應(yīng)當充分關(guān)注政策導(dǎo)向,透過政策探尋產(chǎn)業(yè)風(fēng)口。離岸幣/美元一度大跌0.49%接近周低點拉斯維加斯發(fā)生案美股盤前紛紛下跌一片歡騰!亞太股市集體上漲市場
18065931931 郭經(jīng)理
步進電動機是一種將電脈沖信號轉(zhuǎn)換成角位移或線位移的機電元件。步進電動機的輸入量是脈沖序列,輸出量則為相應(yīng)的增量位移或步進運動。正常運動情況下,它每轉(zhuǎn)一周具有固定的步數(shù);做連續(xù)步進運動時,其旋轉(zhuǎn)轉(zhuǎn)速與輸入脈沖的頻率保持嚴格的對應(yīng)關(guān)系,不受電壓波動和負載變化的影響。由于步進電動機能直接接受數(shù)字量的控制,所以特別適宜采用微機進行控制。
該步進電機為一四相步進電機,采用單極性直流電源供電。只要對步進電機的各相繞組按合適的時序通電,就能使步進電機步進轉(zhuǎn)動。圖1是該四相反應(yīng)式步進電機工作原理示意圖。
開始時,開關(guān)SB接通電源,SA、SC、SD斷開,B相磁極和轉(zhuǎn)子0、3號齒對齊,同時,轉(zhuǎn)子的1、4號齒就和C、D相繞組磁極產(chǎn)生錯齒,2、5號齒就和D、A相繞組磁極產(chǎn)生錯齒。當開關(guān)SC接通電源,SB、SA、SD斷開時,由于C相繞組的磁力線和1、4號齒之間磁力線的作用,使轉(zhuǎn)子轉(zhuǎn)動,1、4號齒和C相繞組的磁極對齊。
而0、3號齒和A、B相繞組產(chǎn)生錯齒,2、5號齒就和A、D相繞組磁極產(chǎn)生錯齒。依次類推,A、B、C、D四相繞組輪流供電,則轉(zhuǎn)子會沿著A、B、C、D方向轉(zhuǎn)動。四相步進電機按照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉(zhuǎn)動力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉(zhuǎn)動力矩又可以提高控制精度。
單四拍、雙四拍與八拍工作方式的電源通電時序與波形分別如圖2.a、b、c所示:
#include《reg52.h》
//unsigned char IRCOM[]={0x00,0x00,0x00,0x00,0x10,0x10};
unsigned char zhuangtai=0;
unsigned char code F_Rotaion[4]={0x03,0x05,0x0d,0x09};
void delay(uchar delay){
uchar i;
for(delay;delay》0;delay--){
for(i=123;i》0;i--)
}
}
/*
void delay1(int ms)
{
uchar y;
while(ms--)
{
for(y=0;y《250;y )
{
_nop_();
_nop_();
_nop_();
_nop_();
}
}
}
*/
void moto(){
unsigned char i;
for(i=0;i《4;i ){
P0=F_Rotaion[i];
delay(500);
}
}
void nmoto(){
unsigned char i;
for(i=3;i》=0;i--){
P0=F_Rotaion[i];
delay(500);
}
}
void stopmoto(){
P0=0x00;
}
void yunxing(){
if(zhuangtai==0){
stopmoto();
}
else if(zhuangtai==1){
moto();
}
else if(zhuangtai==2){
nmoto();
}
}
void jude(){
if(P3==0xef){
zhuangtai=0;
}
else if(P3==0xdf){
zhuangtai=1;
}
else if(P3==0xbf){
zhuangtai=2;
}
}
main(){
/*
IE=0x81;
TCON=0x01;
*/
P1=0x00;
P3=0xff;
jude();
yunxing();
}
/*void IR_IN()interrupt 0
{
uchar j,k,N=0;
EX0=0;
delay(15);
if(IRIN==1)
{
EX0 =1;
return;
}
while(!IRIN)
delay(1);
for(j=0;j《4;j )
{
for(k=0;k《8;k )
{
while(IRIN)
delay(1);
while(!IRIN)
delay(1);
while(IRIN)
{
delay(1);
N ;
if(N》=30)
{
EX0=1;
return;
}
}
IRCOM[j]=IRCOM[j]》》1;
if(N》=8)
IRCOM[j] = IRCOM[j] | 0x80;}
N=0;
}
if(IRCOM[2]!=~IRCOM[3])
{
EX0=1;
return;
}
if(IRCOM[0]!=0x00)
{
EX0=1;
return;
}
IRCOM[4]=IRCOM[2]&0x0F;
IRCOM[5]=IRCOM[2]》》4;
play();
beep();
EX0=1;
}