單片機控制步進電機1步10步100步正反轉

2020-11-26 電子產品世界

一,程序設計方案的構想:

1) 步進電機的控制原理

本文引用地址:http://www.eepw.com.cn/article/201611/319603.htm

步進電機是將電脈衝信號轉變為角位移或線位移的開環控制元件.在非超載的情況下,電機的轉速,停止的位置只取決於脈衝信號的頻率和脈衝數,而不受負載變化的影響.即給電機加一個信號,電機則轉過一個步距角.這一線形關係的存在,加上步進電機只有周期性的誤差而無積累誤差等特點,使得在線速度,位置等控制領域用步進電機來控制變的非常的簡單.

2) 分析設計

使用單片機以軟體方式驅動步進電機通過編輯方法,對步進電機的轉速,往返轉動的角度以及轉動次數等進行控制使其在一定的範圍下進行,還可以方便靈活的控制步進電機的運行狀態:

3)原理圖:

4)連接圖:

輸出端

輸入端

A

C1

P2.0

KM1

P1.0

1B

B

C2

P2.1

KM2

P1.1

2B

C

C3

P2.2

KM3

P1.2

3B

D

C4

P2.3

KM4

P1.3

4B

P2.4

KM5

5)運用元件及電路圖

元件名稱

型號

件數

單片機

AT89C51

1

晶振

CRYSTAL

1

電容

CAP 22PF 47UF

2

電阻

RES 0.6W 10K

1

步進電機

STEPER 4相

1

步進電機晶片

ULN2003A

1

按鈕

BUTTON

6

二、 實驗程序

org 0000H

start:

jnb p2.0,step

jnb p2.1,step

sjmp start

step:

jnb p2.2,one

jnb p2.3,ten

jnb p2.4,hundred

ljmp start

one:

mov r0,#2

jnb p2.0,zh1

jnb p2.1,fan1

ljmp start

ten:

mov r0,#10

jnb p2.0,zh1

jnb p2.1,fan1

ljmp start

hundred:

mov r0,#100

jnb p2.0,zh1

jnb p2.1,fan1

ljmp start

zh1:

mov p1,#03H

lcall delay

jnb p2.7,stop

djnz r0,zh2

ljmp stop

zh2:

mov p1,#06H

lcall delay

jnb p2.7,stop

djnz r0,zh3

ljmp stop

zh3:

mov p1,#0cH

lcall delay

jnb p2.7,stop

djnz r0,zh4

ljmp stop

zh4:

mov p1,#09H

lcall delay

jnb p2.7,stop

djnz r0,zh1

sjmp stop

fan1:

mov p1,#09H

lcall delay

jnb p2.7,stop

djnz r0,fan2

ljmp stop

fan2:

mov p1,#0cH

lcall delay

jnb p2.7,stop

djnz r0,fan3

ljmp stop

fan3:

mov p1,#06H

lcall delay

jnb p2.7,stop

djnz r0,fan4

ljmp stop

fan4:

mov p1,#03H

lcall delay

jnb p2.7,stop

djnz r0,fan1

sjmp stop

stop:

mov p1,#00H

ljmp start

delay:

mov r2,#200

d1:mov r1,#200

djnz r1,$

djnz r2,d1

ret

end

三、調試記錄:

當程序編譯完成後,下載到單片機中後,在運行過程當中時發現按下10步按鈕無法運行,其他都正常運行,回到程序檢查時發現10步程序編寫出現錯誤,經過改正後,可以運行.


相關焦點

  • 單片機控制步進電機正反轉
    C語言範例:/*******************************************************************/*/* ME300系列單片機開發系統演示程序-步進電機鍵控正反轉實驗/*/* 郵箱: gguoqing
  • 單片機對儀表步進電機的細分控制
    在非超載的情況下,電機轉速、停止的位置只取決於脈衝信號的頻率和脈衝數,而不受負載變化的影響,即給電機某相線圈加一脈衝信號,電機則轉過一個步距角。這一線性關係的存在,加上步進電機只有周期性的誤差而無累積誤差等特點,使得在速度、位置等控制領域用步進電機來控制變得非常簡單。雖然步進電機已被廣泛地應用,但步進電機並不像普通的直流電機、交流電機那樣在常規下使用。
  • 單片機控制步進電機驅動器工作原理
    四相步進電機按照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉動力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉動力矩又可以提高控制精度。
  • 基於ATMEGA48單片機的儀表步進電機的細分控制
    在非超載的情況下,電機轉速、停止的位置只取決於脈衝信號的頻率和脈衝數,而不受負載變化的影響,即給電機某相線圈加一脈衝信號,電機則轉過一個步距角。這一線性關係的存在,加上步進電機只有周期性的誤差而無累積誤差等特點,使得在速度、位置等控制領域用步進電機來控制變得非常簡單。雖然步進電機已被廣泛地應用,但步進電機並不像普通的直流電機、交流電機那樣在常規下使用。
  • 51單片機的步進電機控制,正轉反轉等
    步進電機應用廣泛,本文引用地址:http://www.eepw.com.cn/article/201808/384872.htm例如印表機、磁碟驅動器、玩具、汽車雨刷、手機震動、機械夾具、刻錄機等各種機械控制場合一些概念:拍數N定子控制繞組每改變一次通電方式,即為一拍
  • 51單片機控制步進電機驅動器工作原理
    四相步進電機按照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉動力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉動力矩又可以提高控制精度。
  • 單片機與TA8435的步進電機細分控制
    1 步進電機 步進電動機是純粹的數字控制電動機,它將電脈衝信號轉變為角位移,即給一個脈衝,步進電機就轉一個角度,因此非常合適單片機控制,在非超載的情況下,電機的轉速、停止的位置只取決於脈衝信號的頻率和脈衝數
  • 51單片機與TA8435的步進電機細分控制
    1 步進電機   步進電動機是純粹的數字控制電動機,它將電脈衝信號轉變為角位移,即給一個脈衝,步進電機就轉一個角度,因此非常合適單片機控制,在非超載的情況下,
  • 單片機控制步進電機的正反轉
    呵呵,這次弄這個程序用了我兩年的時間,終於把我們正反轉程序寫成功並調試成功了,新年收到很多朋友給我的賀卡和祝福,不過,我覺得今天這個程序也是送給自己最好的禮物吧,學單片機真的有時候會很痛苦,一個程序當你怎麼編也編不出來的時候,有時候真的讓你夠難受的,失敗的那種感覺,也許只有學單片機的朋友才能夠體會得了,但是當一個程序編了好久,
  • 用單片機和CPLD實現步進電機的控制
    步進電機是一種將脈衝信號轉換成角位移的伺服執行器件。其特點是結構簡單、運行可靠、控制方便。本文引用地址:http://www.eepw.com.cn/article/81519.htm      尤其是步距值不受電壓、溫度的變化的影響、誤差不會長期積累,這給實際的應用帶來了很大的方便。
  • 用AT89C52單片機作為控制器,設計簡單實用的步進電機控制系統
    1 引言作為工業領域廣泛應用的控制電機,步進電機具有出色的開環性能,易於實現數位化、智能化控制。步進電機組成的控制系統具有結構簡單、性能穩定、造價便宜等特點,在工業控制領域中得到了廣泛的應用。單片機對步進電機的控制成本低、操作靈活,在步進電機的控制中得到了廣泛的應用。
  • 步進電機細分控制
    >控制電動機,它將電脈衝信號轉變為角位移,即給一個脈衝,步進電機就轉一個角度,因此非常合適單片機控制,在非超載的情況下,電機的轉速、停止的位置只取決於脈衝信號的頻率和脈衝數,而不受負載變化的影響,電機則轉過一個步距角,同時步進電機只有周期性的無累積誤差,精度高。
  • 單片機控制步進電機的原理
    本資料詳細介紹鄧步進電機的工作原理以及單片機控制步進電機的特點。步進電機是數字控制電機,它將脈衝信號轉變成角位移,即給一個脈衝信號,步進電機就轉動一個角度,因此非常適合於單片機控制。    步進電機可分為反應式步進電機、永磁式步進電機和混合式步進電機。
  • 基於MCS-51單片機和步進電機實現鍋爐筒壁孔加工控制系統的設計
    基於MCS-51單片機和步進電機實現鍋爐筒壁孔加工控制系統的設計 佚名 發表於 2020-04-15 09:28:34 1、前 言 為實現鍋爐筒壁孔加工自動化而設計的數控系統
  • 單片機驅動電機電路
    51單片機驅動步進電機電路   在這裡介紹一下用51單片機驅動步進電機的方法。   單片機控制步進電機的應用實例   1、採用1-2 相勵磁法實現電機的正轉控制。   單片機的I/O口驅動電流較小,一般無法直接驅動步進電機,圖9-10採用ULN2003作為步進電機的驅動晶片,ULN2003工作電壓高,工作電流大,灌電流可達500mA,並且能夠在關狀態時承受50V的電壓,輸出還可以在高負載電流並行運行。只需按表9-2(c)的8個步序向P1口發送數據,通過ULN2003的驅動,即可實現步進電機按1-2相勵磁法正轉運行。
  • PLC實現步進電機正反轉和調速控制
    1、掌握步進電機的工作原理2、掌握帶驅動電源的步進電機的控制方法3、掌握DECO指令實現步進電機正反轉和調速控制的程序二、實訓儀器和設備1、FX2N-48MR PLC一臺2、兩相四拍帶驅動電源的步進電機一套3、正反切換開關、起停開關、增減速開關各一個
  • 基於THB6064H的步進電機閉環控制電路設計
    由於步進電機沒有積累誤差,容易實現較高精度的位移和速度控制,被廣泛用於精確控制領域。由步進電機與驅動電路組成的開環數控系統簡單並且價格低廉,但有時存在振蕩和失步現象,故在複雜電磁環境下或是對精度要求較高的場合下,必須加入反饋電路組成高性能的閉環數控系統[1]。本文採用旋轉編碼器作為反饋器件對步進電機實行閉環控制。
  • 單片機與TA8435聯接控制步進電機原理圖
    單片機與TA8435聯接控制步進電機原理圖圖4是單片機與TA8435相連控制步進電機的原理圖,引腳M1和M2決定電機的轉動方式:M1=0、M2=0,電機按整步方式運轉;M1=1、M2=0,電機按半步方式運轉;M1=0、M2=1,
  • 步進電機控制程序(c語言+51單片機)
    P1=0xff; shache=0; delay(800ms); delay(800ms);delay(400ms); shache = 1; }#define Chilun_Num 8/* 齒輪數 8 個*/#define set_display_num() { LEDBuf[0] = tmp / 1000; LEDBuf[1] = tmp / 100 % 10;
  • 步進電機控制電路的實現方法
    1  引言 步進電機又被稱為步進器,屬於感應電機的範疇,其能夠按照電磁學的原理將電能轉化為機械能。在現代數控系統中,步進電機是不可或缺的主要執行元件之一,步進電機藉助電子電路,可將直流電變成分時供電、多相時序控制電流。在步進電機正常運行時,可以通過細分控制進一步提升電機穩定運行的頻率範圍,並增加解析度、減小低頻振動及噪音、溫升和高頻失步[1-6]。