時間:2017-12-29 11:34:18來源:網絡轉載
PWM調速開關控制方式控制電機,廣泛應用于玩具、小車、機器人等項目,通過串口預設正反轉速度,可以靈活控制小車等電機正反轉速度,用兩個限位開關控制電機的正反轉限位,控制方式簡便、安全可靠,方便維護。
開關控制方式適合于電位器/模擬信號控制方式下PWM調速方式和預設正反轉速度方式(且觸發方式配置為電平)。如果無需調速,正反轉速度均為全速,可配置為電位器/模擬信號PWM調速方式;如果需要指定正反轉速度(可為占空比、轉矩或轉速),應配置為預設正反轉速度方式且觸發方式配置為電平方式。
如何配置調速方式表1,如何預設速度及配置觸發方式見MODBUS-RTU(國標GB/T19582-2008)通訊協議。
下面的程序功能為單片機I/O口P2^0、P2^1輸出1000HZ,占空比為%50,并能過P3^7按鍵控制正電機的正反轉。
/*******************************************************************/
/*程序名:PWM直流電機調速*/
/*晶振:11.00592MHzCPU型號:STC89C52*/
/*功能:直流電機的PWM波控制,可以通過按鍵控制正反轉*/
/*****************************************************************/#include《reg52.h》
#defineuintunsignedint#defineucharunsignedchar
ucharTIme,count=50,flag=1;//低電平的占空比
sbitPWM1=P2^0;//PWM通道1,反轉脈沖sbitPWM2=P2^1;//PWM通道2,正轉脈沖sbitkey_turn=P3^7;//電機換向
/************函數聲明**************/voiddelayxms(uintz);voidMotor_turn(void);voidTImer0_init(void);
/*********主函數********************/voidmain(void)
{
TImer0_init();while(1)
{
Motor_turn();
}
}
/****************延時處理**********************/voiddelayxms(uintz)//延時xms程序
{
uintx,y;for(y=z;x》0;x--)for(y=110;y》0;y--);
}
/************電機正反向控制**************/voidMotor_turn(void)
{
f(key_turn==0)
{
delayxms(2);//此處時間不能太長,否者會的中斷產生沖突if(key_turn==0)
{
flag=~flag;
}
while(!key_turn);
}
}
/***********定時器0初始化***********/voidTImer0_init(void)
{
TMOD=0x01;//定時器0工作于方式1TH0=(65536-10)/256;TL0=(65536-10)%256;TR0=1;ET0=1;EA=1;
}
/**************定時0中斷處理******************/voidtimer0_int(void)interrupt1
{
TR0=0;//設置定時器初值期間,關閉定時器TH0=(65536-10)/256;TL0=(65536-10)%256;TR0=1;if(flag==1)//電機正轉
{
PWM1=0;time++;if(time《count)
{
PWM2=1;
}
elsePWM2=0;
if(time》=100)
{
標簽:
上一篇:一文帶您全面了解步進電機
中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產品新聞
更多>2025-06-16
2025-06-09
2025-06-06
2025-05-19
2025-04-30
2025-04-11