国产无码黄电影_麻豆av一区二区三区不卡_伦理在线视频免费观看视频_九九热这里只有精品33_亚洲av中文无码乱人伦在线播放_国产成人精品aa毛片久久_成人欧美一区二区三区的电影在线_78精品国产综合久久香蕉_亚洲日本成本人在线观看

0 賣盤信息
BOM詢價
您現在的位置: 首頁 > 電子資訊 >技術信息 > 步進電機的控制原理及其單片機控制實現

步進電機的控制原理及其單片機控制實現

來源: 中電網
2021-03-22
類別:技術信息
eye 21
文章創建人 拍明

原標題:步進電機的控制原理及其單片機控制實現

步進電機是一種將電脈沖信號轉換為相應角位移或線位移的電動機,其控制原理及單片機控制實現方式如下:

一、步進電機的控制原理

步進電機兩個相鄰磁極之間的夾角通常為60°,線圈繞過相對的兩個磁極,構成一相(如A-A’、B-B’、C-C’)。磁極上有均勻分布的矩形小齒,而轉子上沒有繞組,但有均勻分布的小齒,且相鄰兩個齒之間的夾角固定(如9°)。步進電機的控制原理主要基于以下方面:

  • 工作原理:步進電機基于最基本的電磁鐵原理,是一種可以自由回轉的電磁鐵,其動作原理是依靠氣隙磁導的變化來產生電磁轉矩。當某組繞組通電時,相應的兩個磁極就分別形成N-S極,產生磁場,并與轉子形成磁路。如果這時定子的小齒與轉子沒有對齊,則在磁場的作用下轉子將轉動一定的角度,使轉子齒與定子齒對齊,從而使步進電機向前“走”一步。

  • 控制方式:步進電機的轉動角度大小與施加的脈沖數成正比,轉動的速度與脈沖頻率成正比,而轉動方向則與脈沖的順序有關。通過按順序給繞組施加有序的脈沖電流,就可以控制電機的轉動,從而實現數字角度的轉換。

  • 步進角:步進電機旋轉的步距角是根據電機結構通過比例控制產生的。如果控制電路的細分控制不變,那么步進器旋轉的步距角理論上是固定角度。實際工作中,電機旋轉的步距角會略有不同,這主要是由于電機結構上的固定誤差造成的,而且這種誤差不會累積。

以三相步進電機為例,電流脈沖的施加方式主要有:

  • 單相三拍方式:按單相繞組施加電流脈沖,每一拍步進角為3°。

  • 雙相三拍方式:按雙相繞組施加電流脈沖。

  • 三相六拍方式:單相繞組和雙相繞組交替施加電流脈沖,步進角為1.5°。三相六拍下,步進電機的運行反轉平穩柔和,但在同樣的運行角度與速度下,三相六拍驅動脈沖的頻率需提高一倍,對驅動開關管的開關特性要求較高。

二、步進電機的單片機控制實現

步進電機無法直接接到直流或交流電源上工作,必須使用專用的驅動電源(步進電機驅動器)。隨著微電子和計算機技術的發展,軟硬件結合的控制方式成為了主流,即通過程序產生控制脈沖,驅動硬件電路。單片機通過軟件來控制步進電機,可以更好地挖掘電機的潛力。單片機控制步進電機的實現方式主要包括以下步驟:

  • 設計電路:主要元件包括與門、驅動芯片(如ULN2003A,用于放大電壓以驅動電機)、單片機(如AT89C52)和步進電機。

  • 編寫程序:通過編程方法,在一定范圍內自由設定步進電機的轉速、往返轉動的角度以及轉動次數等。同時,還可以方便靈活地控制步進電機的運行狀態,以滿足不同用戶的要求。

單片機控制步進電機的程序示例(以三相六拍控制為例)如下:

image.png

c復制代碼


#include

#define uint unsigned int

#define uchar unsigned char



int state=0; //定義電機的狀態:state = 1 正轉,state = -1 反轉,state = 0 停止

uint time=50; //定義延時時間

int step[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09}; //每一步的通電順序



sbit drive=P3^5; //控制開關量

sbit stop=P3^6;

sbit re_drive=P3^7;

sbit add=P3^1;

sbit reduce=P3^0;



//延時程序,x*10ms

void Delay_xms(uint x) {

uint i,j;

for(i=0;i<x;i++)

for(j=0;j<112;j++); //10ms

}



//反轉

void Move_reverse(uint time) {

uint i;

for(i=0;i<8;i++) {

P2=step[i];

Delay_xms(time);

}

}



//正轉

void Move(uint time) {

uint i;

for(i=7;i>=0;i--) {

P2=step[i];

Delay_xms(time);

}

}



//定義外部中斷INT0的中斷函數,開關量變化時做出反應

void ChangeState() interrupt 0 {

if(!drive) {state=1; drive=1;}

if(!stop) {state=0; stop=1;}

if(!re_drive) {state=-1; re_drive=1;}

if(!add) {time-=10; add=1; if(time<=10) time=10;}

if(!reduce) {time+=10; reduce=1; if(time>=100) time=100;}

}



void main() {

EA=1; //CPU中斷允許位

EX0=1; //外部中斷0允許位

IT0=1; //定義下降沿觸發



while(1) {

switch(state) {

case 1: Move(time); break;

case 0: Delay_xms(10); break;

case -1: Move_reverse(time); break;

}

}

}

在這個程序中,通過控制P2口的輸出以及延時函數,實現了對步進電機的三相六拍控制。同時,通過外部中斷INT0來檢測控制開關量的變化,從而改變電機的運行狀態。

綜上所述,步進電機的控制原理主要基于電磁鐵原理和脈沖控制,而單片機則通過軟硬件結合的方式實現了對步進電機的精確控制。


責任編輯:David

【免責聲明】

1、本文內容、數據、圖表等來源于網絡引用或其他公開資料,版權歸屬原作者、原發表出處。若版權所有方對本文的引用持有異議,請聯系拍明芯城(marketing@iczoom.com),本方將及時處理。

2、本文的引用僅供讀者交流學習使用,不涉及商業目的。

3、本文內容僅代表作者觀點,拍明芯城不對內容的準確性、可靠性或完整性提供明示或暗示的保證。讀者閱讀本文后做出的決定或行為,是基于自主意愿和獨立判斷做出的,請讀者明確相關結果。

4、如需轉載本方擁有版權的文章,請聯系拍明芯城(marketing@iczoom.com)注明“轉載原因”。未經允許私自轉載拍明芯城將保留追究其法律責任的權利。

拍明芯城擁有對此聲明的最終解釋權。

相關資訊

資訊推薦
云母電容公司_云母電容生產廠商

云母電容公司_云母電容生產廠商

開關三極管13007的規格參數、引腳圖、開關電源電路圖?三極管13007可以用什么型號替代?

開關三極管13007的規格參數、引腳圖、開關電源電路圖?三極管13007可以用什么型號替代?

74ls74中文資料匯總(74ls74引腳圖及功能_內部結構及應用電路)

74ls74中文資料匯總(74ls74引腳圖及功能_內部結構及應用電路)

芯片lm2596s開關電壓調節器的中文資料_引腳圖及功能_內部結構及原理圖_電路圖及封裝

芯片lm2596s開關電壓調節器的中文資料_引腳圖及功能_內部結構及原理圖_電路圖及封裝

芯片UA741運算放大器的資料及參數_引腳圖及功能_電路原理圖?ua741運算放大器的替代型號有哪些?

芯片UA741運算放大器的資料及參數_引腳圖及功能_電路原理圖?ua741運算放大器的替代型號有哪些?

28nm光刻機卡住“02專項”——對于督工部分觀點的批判(睡前消息353期)

28nm光刻機卡住“02專項”——對于督工部分觀點的批判(睡前消息353期)

拍明芯城微信圖標

各大手機應用商城搜索“拍明芯城”

下載客戶端,隨時隨地買賣元器件!

拍明芯城公眾號
拍明芯城抖音
拍明芯城b站
拍明芯城頭條
拍明芯城微博
拍明芯城視頻號
拍明
廣告
恒捷廣告
廣告
深亞廣告
廣告
原廠直供
廣告