導航:首頁 > 操作系統 > 單片機控制步進電機的原理

單片機控制步進電機的原理

發布時間:2023-09-07 12:13:05

1. 用單片機對步進電機進行控制

呵呵 兄弟可以參考某些部分 呵呵
自己做的課程設計 還沒有做完 完了發給你參考參考
題 目:單片機控制步進電機系統

摘 要

很多工業控制設備對位移和角度的控制精度要求較高, 一般電機很難實現, 而步進電機可精確實現所設定的角度和轉數。本設計主要是運用51 單片機控制六線4 相步進電機系統, 由單片機產生驅動脈沖信號, 控制步進電機以一定的轉速向某一方向產生一定的轉動角度。同時能夠利用單片機實現電機的正、反轉及速度控制,並能在數碼管上顯示出相應的速度。
本文中給出了該系統設計的硬體電路,軟體設計,人機交互等。並對各個功能模塊進行了詳細的說明。主要內容包括以下幾個方面:
單片機控制步進電機的一般原理。
電機驅動及控制的實現。
控制系統整體設計以及模塊劃分說明。
原理圖。
代碼。

關鍵詞:單片機;步進電機;系統;驅動

Abstract
Many Instrial control equipment have a highly requirement in displacement and angle with control accuracy, the most motor can't carry out .but the step motor can carry out the displacement and angle that you enactmented in accuracy. This design mainly used SCM to control step motor system.The step motor is formed six lines and four phasic.Through SCM generate the drive pulse signal.Control stepper motor through a certain speed in a direction to get a certain degree of rotation angle.
At the same time, It can use SCM to realization of the motor is , reverse and speed control. and showed the speed in the digital tube.
In this paper, given the design of the system hardware circuit,software design, human-computer interaction and so on.and it given the details description of each functional mole.the main contents include the following:

(1) The general principles of signal_chip controlling step motor.
(2) The realization of motor driving and controlling
(3) Control system overall design and description mole division
(4) Schematic Diagram
(5) Code

Key Words:SCM; stepper motor; system; drive

目錄

引言 4
1 單片機控制步進電機的一般原理 4
1.1 步進電機 4
1.1.1 步進電機介紹 4
1.1.2 步進電機分類 5
1.1.3 技術指標 5
1.1.4 步進電機工作原理 5
1.2 單片機 7
2 步進電機驅動實現 8
2.1簡介 8
2.2驅動選擇 8
3 系統硬體設計 9
3. 1 單片機控制電機 9
3.2 鍵盤 9
3.3 顯示部分 10
程序流程圖 11
總結 12
致 謝 13
參考文獻 13
附錄 13
C代碼 13

引言
目前,在工業控制生產以及儀器上應用十分廣泛。通常都要對一些機械部件平移和轉動,對移動的位移和角度控制要求較高,一般的電機很難實現對位置和角度的精確控制,在一些智能化要求較高的場合,用模擬晶元控制器及信號發生器來控制有一定局限性。而用單片機控制步進電機可以改善性能,步進電機能實現精確的角度和轉數,具有良好的步進特性,最適合數字控制。在工控設備中得到了廣泛的應用。而單片機具有晶元體積小,兼容性強,低電壓地,低功耗等特點,使單片機成為驅動步進電機的最佳空盒子單元。所以單片機控制步進電機系統控制精度高,運行穩定,得以廣泛運用。
1 單片機控制步進電機的一般原理
1.1 步進電機
1.1.1 步進電機介紹
步進電機是將電脈沖信號轉變為角位移或線位移的開環控制元件。在非超載的情況下,電機的轉速、停止的位置只取決於脈沖信號的頻率和脈沖數,而不受負載變化的影響,即給電機加一個脈沖信號,電機則轉過一個步距角。這一線性關系的存在,加上步進電機只有周期性的誤差而無累積誤差等特點。使得在速度、位置等控制領域用步進電機來控制變的非常的簡單。雖然步進電機已被廣泛地應用,但步進電機並不能象普通的直流電機、交流電機在常規下使用。它必須由雙環形脈沖信號、功率驅動電路等組成控制系統方可使用。因此用好步進電機卻非易事,它涉及到機械、電機、電子及計算機等許多專業知識。
1.1.2 步進電機分類
永磁式(PM)。一般為二相,轉矩和體積都很小,步距角一般為7.5或15°
反應式(VR)。一般為三相,實現大轉矩輸出,步距角為1.5°。
混合式(HB)。兼具永磁式和反應式的優點,分二相和五相,二相步距角為1.8°五相步距角為0.72°。
1.1.3 技術指標
靜態指標

相數
步距角
拍數
定位轉矩
保持轉矩

步進電機動態指標
步距角精度
失步
失調角
最大空載啟動頻率
最大空載運行頻率
運行頻距特性
電機共振點

1.1.4 步進電機工作原理
分析(步進電機展開圖)

以反應式步進電機為例,其典型結構圖如圖1所示。這是一個四相步進電機,當相控制繞組接通脈沖電流時,在磁拉力作用下使相的定、轉子對齊,相鄰的B 相和D 相的定、轉子小齒錯開。若換成B 相通電,則磁拉力使B 相定、轉子小齒對齊(轉過) ,而與B 相相鄰的C 相和A 相的定、轉子小齒又錯開,即步進電機轉過一個步距角。若按A →B →C →D →A ⋯規律循環順序通電,則步進電機按一定方向轉動。若改變通電順序為A →D →C →B →A ,則電機反向轉動。這種控制方式稱為四相單四拍。若按AB →BC →CD →DA →AB或A →AB →B →BC →C →CD →D →DA →A 順序通電則稱為四相雙拍或四相單、雙八拍。無論採用哪種控制方式,在一個通電循環內,步進電機的轉角恆為一個齒距角。所以,可以通過改步進電機通電循環次序來改變轉動方向,可以通過改變通電頻率來改變其角頻率。運用單片機的輸出功能,通過編程實現輸出四個信號分別給步進電機的四相A、B、C、D ,並通過輸出時信號的循環次序,來設定步進電機的轉動方向及輸出信號的頻率以便設定步進電機的轉動頻率。

圖1 反應式步進電機結構圖

實現原理
採用單片機產生A、B、C、D 的四相信號,當採用單片機進行控制時,需要在單片機和步進電機中間設隔離電路以使強弱電分離。由於步進電機的驅動電流相對較大,可增設放大電路來提供步進電機的工作電流。系統電路由五部分組成,即單片機、隔離、放大、電源及步進電機。
1.2 單片機

功能特性描述

AT89S52是一種低功耗、高性能CMOS8位微控制器,
具有8K 在系統可編程Flash 存儲器。使用Atmel 公
司高密度非易失性存儲器技術製造,與工業80C51
產品指令和引腳完全兼容。片上Flash允許程序存儲
器在系統可編程,亦適於常規編程器。在單晶元上,
擁有靈巧的8 位CPU 和在系統可編程Flash,使得
AT89S52為眾多嵌入式控制應用系統提供高靈活、超
有效的解決方案。AT89S52具有以下標准功能:8k字
節Flash,256位元組RAM,32 位I/O 口線,看門狗定時
器,2 個數據指針,三個16 位定時器/計數器,一個6
向量2級中斷結構,全雙工串列口,片內晶振及時鍾電
路。另外,AT89S52 可降至0Hz 靜態邏輯操作,支持
2種軟體可選擇節電模式。空閑模式下,CPU停止工作,
允許RAM、定時器/計數器、串口、中斷繼續工作。掉
電保護方式下,RAM內容被保存,振盪器被凍結,單
片機一切工作停止,直到下一個中斷或硬體復位為止。

2 步進電機驅動實現
2.1簡介
步進電機在單單僅給予電壓時,電機是不會動作的,必須由脈沖產生器提供位置(脈波數)、速度的脈沖信號指令,以及驅動器驅動電流流過電機內部線圈、依順序切換激磁相序的方式才能夠讓電機運 轉。所以欲使步進電機動作的必要系統組成有:
(1)脈沖產生器:給予角度(位置移動量)、動作速度及運轉方向之脈沖信號的電機驅動指令。
(2)步進驅動器:依控制器所投入的脈沖信號指令,提供電流來驅動步進電機動作。
(3)步進電機:提供轉矩動力輸出來帶動負載。所以步進電機系統構成簡單,不需要速度感應器、位置感測器, 即能依照脈沖產生器所輸入的脈沖來做到速度及位置的控制。

2.2驅動選擇
步進電機可以選用專用的電機驅動模塊,也可以自己構建驅動電路。一般有以下幾種選擇:
專用驅動模塊,如L298,FT5754等,這類驅動介面簡單,這類可以驅動步進電機,直流電機等。
達林頓驅動器ULN2803,這個晶元可以一次驅動八線步進電機。
自己構建,通過三極體,74als04,等系列元件構成。但這樣系統可靠性會降低,會另外給系統帶來誤差。

3 系統硬體設計
1 單片機控制電機
如圖3

說明:
這個部分為單片機控制步進電機部分,80s52單片機通過達林頓驅動器ULN2803來驅動步進電機,80s52的P1.0-P1.4發送控制信號給驅動器,然後驅動器的四根線把信號傳遞給電機,使電機實現正反轉等。電機部分接12V直流電源。
3.2 鍵盤
如圖4

說明:
本系統中採用了四個按鍵,分別與80s52的四個引腳相連,分別為LCDEN,RS,WR,RD;分別實現的功能是電機加速,減速,正反轉。鍵盤一旦按下則表示向單片機發送了有效信號,單片機就相應的進行調節。對於鍵盤的鍵按下的時候分為幾個步驟,當鍵盤按下的時候,接通電路,鍵盤掃描檢測低電平,但檢測到低電平之後不能夠判斷鍵是否被按下,因為抖動可能引起這個變化,所有大概延時5~10ms之後再進行檢測。如果再次檢測到低電平之後說明鍵被按下。這個過程就是所說的消除抖動。
3.3 顯示部分
如圖5

說明:
對於顯示部分,因為這個系統只是顯示轉速,所以採用了LED共陽極數碼管。
並且用了74HC573鎖存器,74HC573鎖存器輸出電流大,介面電路簡單。本系統採用了兩個74HC573鎖存器,分別為段選和位選。段選為數碼管的顯示數字,位選為選中相應的數碼管。
程序流程圖

總結
通過本次的課程論文,讓我真實的感受到一個完整的系統設計過程。這次的的論文從開始的整體布局,排版,到內容中的系統設計直到最後完成。每個流程下來,都帶給了我很多的新東西,特別在設計完系統之後做硬體部分中,先是用protel99se畫圖,好多圖在庫中找不到,找不到就自己畫,然後封裝,封裝的時候還要用游標卡紙對買來的元件進行精確的測量,然後才能在封裝的過程中保證精度。最後做完圖之後還要布線,布線完成後再發到廠家去做。事實上這個過程我用買好的空板做的,因為元件不多。所以就買了相應的元件直接再PCB板上焊接好的。在焊接的過程中也會感受到很多東西,因為很多需要注意的。不過這個過程多多嘗試就會有進步的。焊接完後就是代碼調試階段。最後就完成了這個小型系統的設計。

致 謝
在此,感謝我的老師以及周圍的同學。本次的論文得益於同學們的幫助。最後還要感謝我的父母,是他們一直在背後支持著我。
謹以此文獻給他們!

參考文獻
[1] 張永楓,王靜霞,楊宏利. 單片機應用實訓教程. 西安電子科技大學出版社,2005.
[2] 郭天祥. 51單片機C語言教程. 電子工業出版社 2008

附錄
C代碼
單片機控制步進電機
實現功能:
定時器中斷:定時時間設置為30秒,首先給的初值每次中斷為5ms,經過20次中斷為1秒,半分鍾三十秒則要中斷600次,所有到達六百次後就把計數n中的值讀取到數碼管中顯示出來。
鍵盤檢測:進行速度控制的時候按下相應的鍵則會對應的進行速度調節。
數碼管顯示:
驅動部分:
#include <reg52.h>
#define uchar unsigned char
sbit la=P2^6;
sbit wela=P2^7;
sbit jia_key=P3^6;
sbit jian_key=P3^7;
sbit zf_key=P3^5;
sbit stop_key=P3^4;
bit flag=0;
uchar num1,n;
uchar num=0,show_num=2,maichong=4,table_begin=0;
uchar code table1[]={0x01,0x02,0x04,0x08,0x08,0x02,0x01};
uchar code table[]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
// 延時部分
void delay(uchar i)
{
uchar j,k;
for(j=i;j>0;j--)
for(k=110;k>0;k--);
}
// 顯示部分
void display()
{
la=0;
P0=table[show_num];
la=1;
la=0;
wela=0;
P0=0xfe;
wela=1;
wela=0;
delay(5);
P0=table[0];
la=1;
la=0;
P0=0xfd;
wela=1;
wela=0;
delay(5);
}
// 鍵盤檢測部分
void key()
{
if(jia_key==0)
{
delay(5);
if(jia_key==0)
{
num++;
if(num==4)
num=3;
while(jia_key==0)
}
}
if(jian_key==0)
{
delay(5);
if(jian_key==0)
{
if(num!=0)
num--;
else
num==0;
while(jian_key==0);
}
}
if(zf_key==0)
{
delay(5);
if(zf_key==0)
{
flag=~flag;
while(zf_key==0);
}

}
if(stop_key==0)
{
delay(4);
if(stop_key==0)
{
show_num=0;
maichong=0;
}
while(stop_key==0)
}
}
// 鍵盤檢測結果
void dispose()
{
switch(num)
{
case 0:
maichong=5;
break;
case 1:
maichong=4;
break;
case 2:
maichong=3;
break;
case 3:
maichong=2;
break;
}
if(flag==0)
{
table_begin=0;
}
else
table_begin=4;
}
// 數碼管驅動部分
void qudong()
{
uchar i,j;
for(j=0+table_begin;j<4+table_begin;j++)
{
P1=table[j];
for(i=0;i<maichong;i++)
{
dispaly();
}
}
}
// 主函數部分
void main()
{
while(1)
{ init();
key();
dispose();
qudong();
n++;
}
}
// 定時器中斷初始化
void init()
{
TMOD=0x01;
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
EA=1; // 開總中斷
ET0=1;// 開定時器0中斷
TR0=1;// 啟動定時器0
}
// 定時器中斷調用
void T0_time() intterrupt 1 // T0中斷
{
TH0=(65536-45872)/256;
TL0=(65536-45872)%256;
num1++;
if(num1==600)
{
show_num=n;
num1=0;
n=0;
}

}

2. 單片機步進電機控制器

步進電機採用二相四拍步進電機,採用89s51 或STc 系列作為控制晶元
系統具有下列功能:A採用閉環控制B可進行位移設定,前進至終點後延時1s返回值原點停止C可進行實際位移值設定D可手動控制正反轉。
步進電機控制器是一種能夠發出均勻脈沖信號的電子產品,它發出的信號進入步進電機驅動器後,會由驅動器轉換成步進電機所需要的強電流信號,帶動步進電機運轉。步進電機控制器能夠准確的控制步進電機轉過每一個角度。
驅動器所接收的是脈沖信號,每收到一個脈沖,制動器會給電機一個脈沖使電機轉過一個固定的角度,就因為這個特點,步進電機才會被廣泛的應用到現在的各個行業里。
驅動電路
在步進電機的應用中,最需要考慮的重要事項之一就是設計匹配的驅動電路。步進電機的動態性能非常地依賴驅動電路。圖1顯示了步進電機驅動系統的結構圖。驅動步進電機需要開關電流從一個定子繞組到另一個。這種開關功能被驅動電路提供,驅動電路排列,分配和放大來自信號電路的脈沖序列。步進電機的繞組以指定的次序被激勵。
集成電路的實用性已經使得對於額定電流小於3安培的小型步進電機使用分立元件構造驅動電路是不必要的。例如,SGS L7180與L7182對於單極性驅動,和L293與L298對於雙極性驅動,能夠很容易地使用在緊密的控制器里。
應用設置
1.設置步進驅動器的細分數,通常細分數越高,控制解析度越高。但細分數太高則影響到最大進給速度。一般來說,對於模具機用戶可考慮脈沖當量為0.001mm/P(此時最大進給速度為9600mm/min)或者0.0005mm/P(此時最大進給速度為4800mm/min);對於精度要求不高的用戶,脈沖當量可設置的大一些,如0.002mm/P(此時最大進給速度為19200mm/min)或0.005mm/P(此時最大進給速度為48000mm/min)。對於兩相步進電機,脈沖當量計算方法如下:脈沖當量=絲杠螺距÷細分數÷200。
2.起跳速度:該參數對應步進電機的起跳頻率。所謂起跳頻率是步進電機不經過加速,能夠直接啟動工作的最高頻率。合理地選取該參數能夠提高加工效率,並且能避開步進電機運動特性不好的低速段;但是如果該參數選取大了,就會造成悶車,所以一定要留有餘量。在電機的出廠參數中,一般包含起跳頻率參數。但是在機床裝配好後,該值可能發生變化,一般要下降,特別是在做帶負載運動時。所以,該設定參數最好是在參考電機出廠參數後,再實際測量決定。
3.單軸加速度:用以描述單個進給軸的加減速能力,單位是毫米/秒平方。這個指標由機床的物理特性決定,如運動部分的質量、進給電機的扭矩、阻力、切削負載等。這個值越大,在運動過程中花在加減速過程中的時間越小,效率越高。通常,對於步進電機,該值在100 ~ 500之間,對於伺服電機系統,可以設置在400 ~ 1200之間。在設置過程中,開始設置小一點,運行一段時間,重復做各種典型運動,注意觀察,如果沒有異常情況,然後逐步增加。如果發現異常情況,則降低該值,並留50%~100%的保險餘量。
4.彎道加速度:用以描述多個進給軸聯動時的加減速能力,單位是毫米/秒平方。它決定了機床在做圓弧運動時的最高速度。這個值越大,機床在做圓弧運動時的最大允許速度越大。通常,對於步進電機系統組成的機床,該值在400~1000之間,對於伺服電機系統,可以設置在1000 ~ 5000之間。如果是重型機床,該值要小一些。在設置過程中,開始設置小一點,運行一段時間,重復做各種典型聯動運動,注意觀察,如果沒有異常情況,然後逐步增加。如果發現異常情況,則降低該值,並留50%~100%的保險餘量。
通常考慮到步進電機的驅動能力、機械裝配的摩擦、機械部件的承受能力,可以在廠商參數中修改各個軸的最大速度,對機床用戶實際使用時的三個軸最大速度予以限制,。
5.根據三個軸零點感測器的安裝位置,設置廠商參數中的回機械原點參數。當設置正確後,可運行「操作」菜單中的「回機械原點」。先單軸回,如果運動方向正確則繼續回,否則需停止,重新設置設置廠商參數中的回機械原點方向,直至所有軸都可回機械原點。
6.設置自動加油參數(設置得小一些,如5秒加一次油),觀察自動加油是否正確,如果正確,則將自動加油參數設置到實際需要的參數。
7.校驗電子齒輪和脈沖當量的設定值是否匹配。可以在機床的任意一根軸上做個標記,在軟體中把該點坐標設為工作零點,用直接輸入指令、點動或手輪等工作方式使該軸走固定距離,用游標卡尺測量實際距離與軟體中坐標顯示距離是否相附。
8.測定有無丟脈沖。您可以用直觀的方法:用一把尖刀在工件毛坯上點一個點,把該點設為工作原點,抬高Z軸,然後把Z軸坐標設為0;反復使機床運動,比如空刀跑一個典型的加工程序(最好包含三軸聯動),可在加工中暫停或停止,然後回工件原點,緩慢下降Z軸,看刀尖與毛坯上的點是否吻合。如有偏差,請檢查步進驅動器接收脈沖信號的類型,檢查端子板與驅動器間接線是否有誤。如果還出現悶車或丟步,按10、11、12步調整加速度等參數。

3. 51單片機控制步進電機正反轉原理

單片機控制步進電機正反轉原理,五一單片機的控制步進電機的正反轉是是根據你的需要空控制

4. 步進電機的單片機控制

步進電機的單片機控制

通過IO口輸出的具有時序的方波作為步進電機的控制信號,信號經過晶元L298N驅動步進電機;同時,用 4X4的鍵盤來對電機的狀態進行控制,並用數碼管顯示電機的轉速,採用74LS164作為4位單個數碼管的顯示驅動,從單片機輸入信號;

采通過IO口輸出的具有時序的方波作為步進電機的控制信號,信號經過晶元L298N驅動步進電機;同時,用 4X4的鍵盤來對電機的狀態進行控制,並用數碼管顯示電機的轉速,採用74LS164作為4位單個數碼管的顯示驅動

1、對步進電機的控制和驅動,設計中受控電機為四相六線制的步進電機(內阻33歐,步進1.8度,額定電壓12V)

使用L298N晶元驅動電機

L298N晶元可以驅動兩個二相電機(如圖1-1),也可以驅動一個四相電機,輸出電壓最高可達50V,可以直接通過電源來調節輸出電壓;可以直接用單片機的IO口提供信號;而且電路簡單,使用比較方便。 而使用L298N時,可以用L297來提供時序信號,可以節省單片機IO口的使用;也可以直接用單片機模擬出時序信號,由於控制並不復雜,故選用後者。

2、 數碼管顯示電路的設計

串列接法

設計中要顯示4位數字,用74LS164作為顯示驅動,其中帶鎖存,使用串列接法可以節約IO口資源,但要使用SIO,發送數據時容易控制。

二、步進電機控制原理

步進電機是數字控制電機,它將脈沖信號轉變成角位移,即給一個脈沖信號,步進電機就轉動一個角度,因此非常適合於單片機控制。步進電機可分為反應式步進電機(簡稱VR)、永磁式步進電機(簡稱PM)和混合式步進電機(簡稱HB)。

步進電機區別於其他控制電機的最大特點是,它是通過輸入脈沖信號來進行控制的,即電機的總轉動角度由輸入脈沖數決定,而電機的轉速由脈沖信號頻率決定。

步進電機的驅動電路根據控制信號工作,控制信號由單片機產生。其基本原理作用如下:

(1)控制換相順序

通電換相這一過程稱為脈沖分配。例如:三相步進電機的三拍工作方式,其各相通電順序為A-B-C-D,通電控制脈沖必須嚴格按照這一順序分別控制A,B,C,D相的通斷。

(2)控制步進電機的轉向

如果給定工作方式正序換相通電,步進電機正轉,如果按反序通電換相,則電機就反轉。

(3)控制步進電機的速度

如果給步進電機發一個控制脈沖,它就轉一步,再發一個脈沖,它會再轉一步。兩個脈沖的間隔越短,步進電機就轉得越快。調整單片機發出的脈沖頻率,就可以對步進電機進行調速。

三、理論設計

1、步進電機驅動電路

通過L298N構成步進電機的驅動電路,電路圖如圖3-2所示。

通過單片機的IOB8~IOB13對L298N的IN1~IN4口和ENA、ENB口發送方波脈沖信號,2、數碼管顯示電路的設計

數碼管的顯示驅動使用74LS164,通過的IOB0和IOB1口對DATA和CLK發送數據。

3、4x4鍵盤電路

使用了標準的4x4鍵盤,單片機的A口低8位為鍵盤的介面。盡管設計要求中只需要4個鍵對步進電機的狀態進行控制,但考慮到對控制功能的擴展,我們使用了4x4的鍵盤。

5. 單片機控制步進電動機的運動的原理及單片機程序

51單片步進電機控制原理與控制設計程序
51單片步進電機是數字控制電機,它將脈沖信號轉變成角位移,即給一個脈沖信號,步進電機就轉動一個角度,因此非常適合於單片機控制。步進電機可分為反應式步進電機(簡稱vr)、永磁式步進電機(簡稱pm)和混合式步進電機(簡稱hb)。
51單片步進電機區別於其他控制電機的最大特點是,它是通過輸入脈沖信號來進行控制的,即電機的總轉動角度由輸入脈沖數決定,而電機的轉速由脈沖信號頻率決定。
51單片步進電機的驅動電路根據控制信號工作,控制信號由單片機產生。其基本原理作用如下:
(1)控制換相順序
通電換相這一過程稱為脈沖分配。例如:三相步進電機的三拍工作方式,其各相通電順序為a-b-c-d,通電控制脈沖必須嚴格按照這一順序分別控制a,b,c,d相的通斷。
(2)控制步51單片進電機的轉向
如果給定工作方式正序換相通電,步進電機正轉,如果按反序通電換相,則電機就反轉。
(3)控制51單片步進電機的速度
如果給步進電機發一個控制脈沖,它就轉一步,再發一個脈沖,它會再轉一步。兩個脈沖的間隔越短,步進電機就轉得越快。調整單片機發出的脈沖頻率,就可以對步進電機進行調速。步進電機是機電控制中一種常用的執行機構,它的用途是將電脈沖轉化為角位移,通俗地說:當步進驅動器接收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度(及步進角)。通過控制脈沖個數即可以控制角位移量,從而達到准確定位的目的;同時通過控制脈沖頻率來控制電機轉動的速度和加速度,從而達到調速的目的。

6. 用8051單片機設計步進電機控制器的原理和實現方法

本設計採用ATMEL公司DIP-40封裝的AT89S52單片機實現對四相步進電機的手動和遙控控制。由單片機產生的脈沖信號經過脈沖分配後分解出對應的四相脈沖,分解出的四相脈沖經驅動電路功率放大後驅動步進電機的轉動。轉速的調節和狀態的改變由按鍵進行選擇。通過鍵盤掃描把選擇的信息反饋給單片機,單片機根據反饋信息做出相應的判斷並改變輸出脈沖的頻率或轉動狀態信號。電機轉動的不同狀態由LED數碼管顯示。紅外信號的發射由另一塊單片機和紅外線LED完成,用紅外萬能接收頭接收紅外信號,可以實現對電機的控制進行紅外遙控。 關鍵字:四相步進電機 單片機 功率放大 紅外遙控 目 錄 前言 3 1.系統設計 3 1.1 功能介紹 3 1.2總體設計方案 3 1.2.1總體設計思路 3 1.2.2方案論證與比較 3 1.3電機的參數 7 1.4系統組成 7 2.單元電路設計 8 2.1功率放大驅動電路方案設計 8 2.2顯示電路方案設計 9 2.3單片機電源電路設計 9 2.4紅外發射電路設計 10 3.軟體設計 10 3.1編程語言 10 3.2軟體實現方法 10 3.2.1 雙四拍正轉 11 3.2.2 雙四拍反轉 11 3.2.3 單雙八拍正轉 11 3.2.4 單雙B八拍反轉 11 3.3 程序流程圖 如下所示: 12 3.4 三相步進電機程序清單 16 4.結束語 16 http://www.wendang.com/soft/16025.htm 轉: http://..com/question/58821794.html?fr=qrl 很有參考價值

7. 基於單片機的步進電機控制,有高手懂嗎本人的畢業論文.學哥學姐.懂的都說幾句..謝謝啦..

為1,TH1的預設值為0CH,TL1的預設值為00H。
③ PC機與AT89C51單片機均採用串列口方式3。
④ 幀格式為:1位起始位,8位數據位,1位偶效驗位,1位停
止位。
⑤ PC機發送的數據幀為:
表1 PC機發送數據幀表
幀起始標志為 02H,假設電動機的運行標號為5號,對應的
ASCII碼值為30H,35H兩個位元組表示。若命令為傳送命令MOV
則用0表示,其對應的ASCII碼值為30H,用一個位元組表示。D
表示步進電動機運行的方向標志,若為0則表示電動機正轉,其
對應的ASCII碼值為30H;若為1,則表示電動機反轉,其對應的
ASCII碼值為31H。P表示PC機傳送給單片機的總的走的脈沖
數。若傳送的命令為設置命令SET則用1表示,其對應的ASCII
碼值為31H,用一個位元組表示。需要單片機設置的參數有:a, V
和 L;為了便於PC機與AT89C51的通信編程,數據的長度取6
個位元組。傳送的數據只有5個位元組,剩餘的1個位元組均用ASCII
碼值30H補足,對應的為0。這樣做不影響效驗和。若為傳送命
令幀,則效驗和定義為方向信號D與總的脈沖數P的十六進制之
和再轉換為相對應的ASCII碼值。若為設置命令幀,則效驗和定
義為a、V與L的十六進制之和再轉換為D對應的ASCII碼值。
幀結束標志為03H。
⑥ PC機採用查詢的方式發送和接收數據,AT89C51單片機
採用串列口中斷的方式接收和發送數據。
3.3 控制軟體的設計
控制步進電動機勻加速、恆速、勻減速運行的程序流
程圖如圖2。
圖2 控制步進電機的程序流程圖
4 結束語
參考文獻:
[1] 韓全立。單片機控制技術及應用[M]。北京:電子工業出
採用本方案可以很好的實現對步進電動機的控制。目前此
版社,2004
方案已經成功應用於電機控制的工廠等並取得了良好的效益,並
[2] 求是科技。單片機典型模塊設計實例導航[M]。北京:人
正試圖將其進一步完善以應用於壓縮機、洗衣機等日常設備中。
民郵電出版社,2004
[3] 胡漢才,單片機原理及系統設計[M]。北京:清華大學出
當然,隨著控制產品與控制技術的發展,步進電機的控制也會得到
版社,2002
進一步完善。
[4] 王曉明。電動機的單片機控制[M]。北京:北京航天航空
大學出版社,2002
[5] 楊金岩,鄭應強,張振仁。8051單片機數據傳輸介面擴展
技術與應用實例[M]。北京:人民郵電出版社,2005

8. 如何使用單片機精確控制步進電機

如何用單片機控制步進電機
步進電機是機電控制中一種常用的執行機構,它的用途是將電脈沖轉化為角位移,通俗地說:當步進驅動器接收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度(及步進角)。通過控制脈沖個數即可以控制角位移量,從而達到准確定位的目的;同時通過控制脈沖頻率來控制電機轉動的速度和加速度,從而達到調速的目的。
一、步進電機常識
常見的步進電機分三種:永磁式(PM),反應式(VR)和混合式(HB),永磁式步進一般為兩相,轉矩和體積較小,步進角一般為7.5度或15度;反應式步進一般為三相,可實現大轉矩輸出,步進角一般為1.5度,但雜訊和振動都很大。在歐美等發達國家80年代已被淘汰;混合式步進是指混合了永磁式和反應式的優點。它又分為兩相和五相:兩相步進角一般為1.8度而五相步進角一般為0.72度。這種步進電機的應用最為廣泛。
二、永磁式步進電機的控制
下面以電子愛好者業余製作中常用的永磁式步進電機為例,來介紹如何用單片機控制步進電機。圖1是35BY型永磁步進電機的外形圖,圖2是該電機的接線圖,從圖中可以看出,電機共有四組線圈,四組線圈的一個端點連在一起引出,這樣一共有5根引出線。要使用步進電機轉動,只要輪流給各引出端通電即可。將COM端標識為C,只要AC、C、BC、C,輪流加電就能驅動步進電機運轉,加電的方式可以有多種,如果將COM端接正電源,那麼只要用開關元件(如三極體),將A、B、輪流接地。列出了該電機的一些典型參數:表135BY48S03型步機電機參數型號步距角相數電壓電流電阻最大靜轉距定位轉距轉動慣量35BY48S03 7.5 4 12 0.26 47 180 65 2.5 有了這些參數,不難設計出控制電路,因其工作電壓為12V,最大電流為0.26A,因此用一塊開路輸出達林頓驅動器(ULN2003)來作為驅動,通過P1.4~P1.7來控制各線圈的接通與切斷。開機時,P1.4~P1.7均為高電平,依次將P1.4~P1.7切換為低電平即可驅動步進電機運行,注意在切換之前將前一個輸出引腳變為高電平。如果要改變電機的轉動速度只要改變兩次接通之間的時間,而要改變電機的轉動方向,只要改變各線圈接通的順序。

閱讀全文

與單片機控制步進電機的原理相關的資料

熱點內容
什麼app也能讓wifi增強 瀏覽:174
雙分錄核演算法反映什麼 瀏覽:210
ubuntuphpaptget 瀏覽:256
安卓手機快充需要什麼數據線 瀏覽:795
程序中存在未轉換未編譯部分 瀏覽:323
編譯匯編鏈接優化 瀏覽:83
程序員打字和作家哪個打字快 瀏覽:579
安卓手機怎麼用cad命令行 瀏覽:385
2200工程機接收命令瞬間消失 瀏覽:255
壓縮機工藝管是多大的 瀏覽:314
安卓刷什麼系統穩定 瀏覽:37
程序員寫炫酷代碼 瀏覽:933
大話存儲pdf 瀏覽:526
中銘機器人怎麼編程 瀏覽:812
把字母變為數字的加密法 瀏覽:523
噬血狂襲第三季哪個app能看 瀏覽:422
江蘇螺桿壓縮機 瀏覽:981
android底部彈出對話框 瀏覽:503
怎麼查伺服器同行fc號 瀏覽:1001
什麼伺服器雲鳥最便宜 瀏覽:222