步進電機單片機控制系統(tǒng)的設計_第1頁
步進電機單片機控制系統(tǒng)的設計_第2頁
步進電機單片機控制系統(tǒng)的設計_第3頁
步進電機單片機控制系統(tǒng)的設計_第4頁
步進電機單片機控制系統(tǒng)的設計_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 哈 爾 濱 理 工 大 學 榮 成 學 院課程設計步進電機單片機控制系統(tǒng)的設計 姓名: & 專業(yè): 電機與電器 班級: 0& 學號: * 日期: 2012年5月10日 一、設計題目的背景 1.步進電機的原理步進電動機又稱為脈沖電動機,是數(shù)字控制系統(tǒng)的一種執(zhí)行元件,其功用是將脈沖信號變換為相應的角位移或直線位移,既給一個脈沖電信號,電動機就轉動一個角度或前進一步。步進電動機的控制原理是通過它每相線圈的電流的順序切換來使電機作步進式旋轉,驅動電路由脈沖控制,所以調節(jié)脈沖的頻率便可改 變步進電機的轉速,微控制器最適合控制步進電機。此次設計步進電機共有四個相位(a、b、c、d),按轉動步驟分為單四拍

2、(a 、 b 、 c 、 d 、 a)四相雙四拍:電機正轉 ( ab 、 bc 、 cd 、 da 、ab) 電機反轉 ( da、ab 、 bc 、 cd、 da)單雙8拍(a、 ab、 b、 bc、 c、cd 、 d、da、 a)2.應用領域(1)應用領域相當廣泛,只要是要有動力源的,而且對精度有要求的一般都可能涉及到伺服電機。如機床、印刷設備、包裝設備、紡織設備、激光加工設備、機器人、自動化生產線等對工藝精度、加工效率和工作可靠性等要求相對較高的設備。(2)廣泛應用于atm機、噴繪機、刻字機、寫真機、噴涂設備、醫(yī)療儀器及設備、計算機外設及海量存儲設備、精密儀器、工業(yè)控制系統(tǒng)、辦公自動化、機

3、器人等領域。特別適合要求運行平穩(wěn)、低噪音、響應快、使用壽命長、高輸出扭矩的應用場合。(3)步進電機在電腦繡花機等紡織機械設備中有著廣泛的應用,這類步進電機的特點是保持轉矩不高,頻繁啟動反應速度快、運轉噪音低、運行平穩(wěn)、控制性能好、整機成本低。二、設計原理1、設計目的(1)了解步進電機的基本原理,掌握步進電機的轉動編程方法 (2)了解影響電機轉速的因素有哪些2、方案的比較在于對步進電機的控制和驅動,設計中受控電機為四相六線制的的步進電機。方案一:使用多個功率放大器驅動電機通過使用不同的放大電路和不同參數(shù)的器件,可是達到不同的放大要求,放大后能夠得到較大的功率,但是由于使用的是四相的步進電機,就需

4、要對四路信號分別放大,而放大電路很難達到完全一致,當電機的功率較大時運行會不穩(wěn)定,而電路的制作也比較復雜。方案二:使用uln2003芯片驅動電機uln2003可以驅動兩個二相電機,也可以驅動一個四相電機,它工作電壓高,工作電流大,并且能夠在關太時承受50v的電壓,輸出還可以在高負載電流并行運行,可直接用單片機的i/o口提供信號;而且電路簡單,使用比較方便。通過比較,使用uln2003芯片充分發(fā)揮了它的功能,能穩(wěn)定地驅動步進電機,且價格不高,故選用uln2003驅動電機。三、電路設計 1.單片機型號的選擇80c51單片機屬于mcs-51系列單片機,增加了如乘(mul)、除(div)、減(subb

5、)、比較(push)、16位數(shù)據(jù)指針、布爾代數(shù)運算等指令,以及串行通信能力和5個中斷源。采用40引腳雙列直插式dip(dual in line package),內有128個ram單元及4k的rom。80c51有兩個16位定時計數(shù)器,兩個外中斷,兩個定時計數(shù)中斷,及一個串行中斷,并有4個8位并行輸入口。80c51內部有時鐘電路,但需要石英晶體和微調電容外接,本系統(tǒng)中采用12mhz的晶振頻率。由于80c51的系統(tǒng)性能滿足系統(tǒng)數(shù)據(jù)采集及時間精度的要求,而且產品產量豐富來源廣,應用也很成熟,故采用來作為控制核心。 80c31單片機,它是8位高性能單片機結合了hmos的高速和高密度技術及chmos的低

6、功耗特征。80c31內置中央處理單元、128字節(jié)內部數(shù)據(jù)存儲器ram、32個雙向輸入/輸出(i/o)口、2個16位定時/計數(shù)器和5個兩級中斷結構,一個全雙工串行通信口,片內時鐘振蕩電路。但80c31片內并無程序存儲器,需外接rom。此外,80c31還可工作于低功耗模式,可通過兩種軟件選擇空閑和掉電模式。在空閑模式下凍結cpu而ram定時器、串行口和中斷系統(tǒng)維持其功能。掉電模式下,保存ram數(shù)據(jù),時鐘振蕩停止,同時停止芯片內其它功能。 綜上,所以選擇80c51單片機.2.硬件電路設計四、 軟件設計1、程序框圖nynynnnn0-需要刷新顯示標志1-步進電機未轉動過標志1-轉動方向標志(1:表示順

7、時針方向)33h-下次送給步進電機值5-步進電機轉速初始化8255(pc口輸出)初始化8253(計數(shù)器t0設置在模式2狀態(tài),bcd碼計數(shù),clk0/210)初始化8259(允許8253中斷)初始化8253中斷向量初始化顯示緩沖區(qū):(數(shù)碼管第8位:0,順時針方向;5、7位消隱;6位:轉速;1、2、3、4位:0,表示連續(xù)轉動,其他值表示需要轉動的步數(shù))調用顯示子程序有鍵按下需要刷新顯示標志=10-需要刷新顯示標志調用步數(shù)調整子程序關中斷(終止步進電機轉動)數(shù)碼管的1、2、3位-2、3、4位鍵值送給數(shù)碼管的第一位調用改變轉向子程序鍵值9鍵值=0ah調用增速子程序調用減速子程序調用啟動步進電機子程序y

8、鍵值=0bh鍵值=0ch鍵值=0dh開始yyy改變方向子程序:yynny開始轉動方向標志=091h-下次送給步進電機值下次送給步進電機值循環(huán)右移二次1-轉動方向標志0-送給數(shù)碼管的第7位步進電機未轉動過標志33h-下次送給步進電機值下次送給步進電機值循環(huán)左移二次0-轉動方向標志1-送給數(shù)碼管的第7位步進電機未轉動過標志返回啟動步進電機子程序:yny開始0-步進電機未轉動過標志取轉動步數(shù)取轉速對應的延時值(轉速延時)初始轉速延時1=初始轉速延時轉速延時需要刷新顯示標志轉動步數(shù)減一1-1轉動步數(shù)=0時關中斷開始下次送給步進電機值循環(huán)左移一次1-1返回下次送給步進電機值-p1口(控制步進電機轉動一步

9、)y2.完整程序extrncode(init8279,scan_key,display8)main_codesegmentcodemain_bitsegmentbitmain_datasegmentdatastack segmentidata;public init8279,scan_key,display8cmd_8279xdata0bf01hdata_8279xdata0bf00hrsegmain_datastepcontrol:ds1buffer:ds8speedno: ds1stepdelay:ds1startstepdelay:ds1startstepdelay1:ds1rsegma

10、in_bitbfirst:dbit1bclockwise:dbit1bneeddisplay: dbit1rsegstackds20hcsegat0000hljmpstarcsegat000bhljmptimer0rsegmain_codestar:movsp,#stack-1acallinit8279setbbfirst setb bclockwisemovstepcontrol,#33hmov speedno,#5movtmod,#02hmovth0,#55movtl0,#55movie,#82hmovbuffer+7,#0movbuffer+6,#0movbuffer+5,#0movbu

11、ffer+4,#0movbuffer+3,#10hmovbuffer+2,speednomovbuffer+1,#10hmovbuffer,#0star2:movr0,#bufferacalldisplay8star3:acallscan_keyjcstar5jnbbneeddisplay,star3clrbneeddisplayacallstep_sub_1sjmpstar2star5:clrtr0cjnea,#10,$+3jncstar1movbuffer+4,buffer+5movbuffer+5,buffer+6movbuffer+6,buffer+7movbuffer+7,asjmp

12、star2star1:cjnea,#14,$+3jncstar3movdptr,#drivertabclrcsubba,#10rlajmpa+dptrdrivertab:sjmpdirectionsjmpspeed_upsjmpspeed_downsjmpexecdirection:cplbclockwisejbbclockwise,clockwisemovbuffer,#1anticlockwise:jnbbfirst,anticlockwise1movstepcontrol,#91hsjmpdirection1anticlockwise1:mova,stepcontrolrrarramov

13、stepcontrol,asjmpdirection1clockwise:movbuffer,#0jnbbfirst,clockwise1movstepcontrol,#33hsjmpdirection1clockwise1:mova,stepcontrolrlarlamovstepcontrol,adirection1: sjmp star2speed_up: mov a,speedno cjnea,#11,speed_up1 sjmpspeed_up2speed_up1:incspeedno movbuffer+2,speednospeed_up2:sjmpstar2speed_down:

14、mova,speedno jzspeed_down1 decspeedno movbuffer+2,speednospeed_down1:sjmpstar2exec:clrbfirst acalltakestepcount movdptr,#stepdelaytab mova,speedno movca,a+dptr movstepdelay,a cjnea,#50,$+3 jncexec1 mova,#50exec1: movstartstepdelay,a movstartstepdelay1,a setbtr0 ajmpstar2stepdelaytab:db250,125,83,62,

15、50,42,36,32,28,25,22,21timer0:pushacc djnzstartstepdelay,timer0_1 mova,startstepdelay1 cjnea,stepdelay,timer0_5 sjmptimer0_2timer0_5:deca movstartstepdelay1,atimer0_2:movstartstepdelay,a mova,stepcontrol cpla movp1,a cpla jbbclockwise,timer0_3 rra sjmptimer0_4timer0_3:rlatimer0_4:movstepcontrol,a mo

16、va,r6 orla,r7 jztimer0_1 setbbneeddisplay djnzr7,timer0_1 djnzr6,timer0_1 clrtr0timer0_1:popacc retistep_sub_1:movr5,#4 movr0,#buffer+7step_sub_1_1: mova,r0 decr0 jnzstep_sub_1_2 movr0,#9 decr0 djnzr5,step_sub_1_1step_sub_1_2:rettakestepcount:mova,buffer+4 movb,#10 mulab adda,buffer+5 movb,#10 mulab

17、 adda,buffer+6 movr7,a mova,b addca,#0 movb,#10 mulab xcha,r7 movb,#10 mulab xcha,b adda,r7 xcha,b adda,buffer+7 movr7,a mova,b addca,#0 movr6,a cjner7,#0,takestepcount1 rettakestepcount1:incr6 retinit8279: mova,#34h movxdptr,a clra movdptr,#cmd_8279 movxdptr,ainit8279_1: callclear mova,#90h movxdpt

18、r,a retclear:mova,#0deh movdptr,#cmd_8279 movxdptr,await1:movxa,dptr jbacc.7,wait1 retscan_key:movdptr,#cmd_8279 movxa,dptrread_fifo:anla,#7 jzno_keyread:mova,#40h movxdptr,a movdptr,#data_8279 movxa,dptr acallkey_num setbcscan_key1: retno_key:clrc sjmpscan_key1key_num:anla,#3fh retwrite_data: movdptr,#data_8279 movxdptr,a retled_tab:db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8hdb080h,90h,88h,83h,0c6h,0a1h,86h,8eh,0ffhretdisplay8:push07hmovdptr,#led_tabmovp2,#high(cmd_8279)movr1,#low(cm

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論