




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
接口課程設(shè)計
題目:電梯自動控制系統(tǒng)設(shè)計主要內(nèi)容設(shè)計一個電梯自動控制系統(tǒng),由電機驅(qū)動控制系統(tǒng),1路A/D輸入,12個按鍵,4個8段的LED顯示器,8個LED指示燈,1路聲控報警系統(tǒng)組成。4個8段的LED顯示器,8個LED指示燈及12個鍵盤作為控制系統(tǒng)的控制臺設(shè)計,以提供人機交互,控制電機的停啟。1路模擬輸入主要對電梯中人員重量進行控制,若超重,電梯停止運行,并提示報警。電梯運行按電梯運行規(guī)則實現(xiàn)。
一、電梯自動控制系統(tǒng)結(jié)構(gòu)示意圖CPU主機板8255(1)8255(2)8段LED顯示鍵盤控制步進電機控制LED控制0809重量檢測
二、操作步驟把整個電機運行軌跡分成8等分,模擬8個層面,由控制臺按鍵決定電機運行,鍵盤有12個鍵組成,其中8個為數(shù)字鍵定義1~8,4個為控制鍵定義為開門鍵,關(guān)門鍵,報警鍵,清除鍵。1.鍵盤控制數(shù)字鍵:當從鍵盤按下某個數(shù)字鍵,相應(yīng)的LED指示燈點亮,并按電梯運行規(guī)則(在關(guān)門的情況下,按前進方向最接近當前位置的樓層??浚┩??,如在某個樓層停靠,相應(yīng)的LED指示燈熄滅。
控制鍵:開門鍵:任何時候都可以按開門鍵,按過開門鍵,電梯在最近的樓層??浚@示器顯示OPEN,如不按關(guān)門鍵,電梯不會運行。關(guān)門鍵:當電梯處于開門狀態(tài)時,電梯不會運行,只有按關(guān)門鍵,電梯處于關(guān)門狀態(tài),此時如有其它層面要求停靠的請求,電梯才會根據(jù)指令運行。報警鍵:該鍵模擬電梯故障,按下改鍵,表示電梯有故障,則提示告警,該狀態(tài)可通過清除鍵清除。清除鍵:清除告警信號及所有樓面的請求信號。
2.顯示控制本系統(tǒng)顯示包含2部分:一部分是由4個8段LEN顯示器,另一部分是8個LED指示燈4個8段LED顯示:按下開門鍵:顯示OPEN.按下報警鍵或檢測出超重顯示Err當電梯在運行過程中,則自動顯示到達樓層號,如在某個樓面??浚娞葑詣犹幱陂_門狀態(tài),顯示的內(nèi)容不變。顯示樓層號的格式為noX,其中X為樓層號。8個LED指示當前樓層有否請求,亮表示有請求。
3.控制規(guī)則在無故障情況下,如果鍵盤有樓層停靠請求,則在按下關(guān)門鍵后,能按電梯運行規(guī)則選擇相應(yīng)的樓面??浚?亢箅娞葑詣犹幱陂_門狀態(tài)。顯示器實時顯示電梯走過的樓面,如要接受下一次請求,則需再按關(guān)門鍵。樓層請求要有記憶功能,??康拇涡蚝桶存I的次序無關(guān),和電梯運行規(guī)則有關(guān),如2次以上按同一層停靠,只做一次處理。每次按下關(guān)門鍵,需要檢測電梯是否在正常負荷下運行(A/D值檢測大于4.5V為超重),如超重或按報警鍵表示電梯有故障,電梯停止運行,并報警,通過減小A/D或按清除鍵清除故障狀態(tài)。
三、硬件設(shè)計電機驅(qū)動a.步進電機驅(qū)動接口步進電機驅(qū)動器步進電機負載方向步進電機驅(qū)動示意圖步進電機接受的脈沖信號,每個脈沖將電機轉(zhuǎn)動一個固定的步矩角度,步進電機一般不需要反饋位置信號。
步進電機分三相,四相,五相,六相四種,其旋轉(zhuǎn)方向與內(nèi)部繞組的通電順序有關(guān)。下面以三相電機為例說明三相步進電機有三種工作方式:單三拍,通電順序:ABC雙三拍,通電順序:ABBCCA三相六拍,通電順序:AABBBCCCA
控制原理:如果用8255PA口的PA2~PA0來控制三相步進電機單三拍PA7PA6PA5PA4PA3PA2PA1PA0C相B相A相100101h201002h310004h正向0102040102…..反向0104020104…..
雙三拍PA7PA6PA5PA4PA3PA2PA1PA0C相B相A相101103H211006H310105H正向03H06H05H03H06H05H….反向03H05H06H03H05H06H….
三相六拍PA7PA6PA5PA4PA3PA2PA1PA0C相B相A相100101H201103H301002H411006H510004H610105H正向:01H03H02H06H04H05H01H03H02H….反向01H05H04H06H02H03H01H05H04H….
AEDK-DJ6機電實驗平臺可實現(xiàn)步進電機控制本裝置使用8255口PA0~PA3作為四相步進電機A,B,C,D相驅(qū)動步進電機走拍子程序功能:根據(jù)方向每調(diào)用一次,走一拍
DIREDB?;0表示正走,0FFH表示反正STEPDB0;表示4拍中的位置0~3STEPTABDB01H,02H,04H,08H;拍表PA255EQU208H;假設(shè)8255口地址208h~20BHSTEPMOTORPROCMOVAL,STEPMOVBX,OFFSETSTEPTABXTAL;讀拍表的值OUTPA255,AL
MOVAL,DIRECMPAL,00HJNZSTEP1INCSTEP;正走MOVAL,STEPCMPAL,04HJNZSTEPENDMOVSTEP,0;正走0-1-2-3-0JMPSTEPENDSTEP1:DECSTEP;反走0-3-2-1-0MOVAL,STEPCMPAL,0FFHJNZSTEPENDMOVSTEP,03HSTEPEND:CALLDEL;延時子程序,實際程序中可調(diào)用顯示子程序RETSTEPMOTORENDP
b.直流電機驅(qū)動占空比的設(shè)定寬度脈沖發(fā)生器驅(qū)動器電子開關(guān)電動機直流電機通過脈寬調(diào)制來控制電機的速度,即通過改變電機電樞電壓接通或斷開時間的比值(占空比)來控制馬達的速度,這種方法簡稱脈寬調(diào)制(PWM)脈沖寬度發(fā)生器:由計算機根據(jù)平均速度,計算占空比,由軟件實現(xiàn)驅(qū)動器:將計算機輸出的脈沖寬度調(diào)制信號加以放大,以便用來控制電機定子電壓接通或斷開的時間。通常由放大器或繼電器組成電子開關(guān):用來接通或斷開電機定子電源,可用晶體管或場效應(yīng)管開關(guān)組成,也可由繼電器或可控硅控制AEDK-DJ6機電實驗平臺可實現(xiàn)直流電機控制,由D/A輸出實現(xiàn)調(diào)速,直流電機每轉(zhuǎn)一圈,有一個位置反饋,可根據(jù)該信號測當前電機所在的位置。直流電機的啟停,方向由D/A0832輸出值來定從00H,7FH,FFH的D/A輸出值00表示正傳的最大速,該值增大,速度依次減小,到7FH電機停止運轉(zhuǎn),在增加,電機反向運轉(zhuǎn),此時速度較低,到0FFH,電機反向運轉(zhuǎn)最大速
2.鍵盤顯示驅(qū)動
七段顯示器24pb0pb1pb28255(1)abcdefg
pc0pc1pc2pc3pc4pc5pc674LS138Y0Y1Y3ABC
7段碼的顯示電路
鍵盤驅(qū)動電路4故障
5清除
6
7
08
19
2開
3關(guān)
+5V74LS138Y0Y1 Pa7Pa6Pa5Pa4Pa3Pa2Pa1Pa0ABCPb0Pb1Pb28255(1)本設(shè)計使用非編碼鍵盤,所以鍵盤操作的去抖動、防串鍵、按鍵識別和鍵碼產(chǎn)生4個基本功能都有軟件來完成,鍵盤程序分2部分,一個是鍵盤掃描程序,主要完成掃描鍵盤上是否有鍵按下,另一個是鍵處理程序,用于完成對各個按鍵的處理。
8255(2)+5vpb0pb1pb2pb3pb4pb5pb6pb7LED指示燈驅(qū)動電路電機Pa0pa1pa2pa33.重量檢測重量,溫度,流量,速度等是計算機常要控制的對象,而這些都是連續(xù)變化的量,且是非電量,首先通過傳感器把這些非電量的信息轉(zhuǎn)換成電量,而后經(jīng)過A/D轉(zhuǎn)換輸入到計算機。重量檢測可以使用壓力傳感器,這些傳感器的輸出一般是電壓型或電流型2種,如果傳感器信號比較弱則可在A/D輸入端加運放。
四、軟件設(shè)計1.思路:根據(jù)要求,程序由幾個功能模塊(任務(wù))組成模塊之間的協(xié)調(diào)關(guān)系,接口是怎樣(程序要編成卸掉一個模塊,程序照樣能走)實時系統(tǒng)需要強調(diào)實時性(忌用軟件延時,多用中斷代替查詢)
2.本系統(tǒng)可以劃分的任務(wù):初始化程序初始化程序一般只走一次,在程序的最開始,初始化的工作主要是像電機歸0,8255初始化,變量設(shè)置等。鍵盤處理子程序鍵盤處理是對控制臺命令監(jiān)聽,所以是程序主要核心,該程序包含2部分,一個是鍵盤掃描子程序,主要完成掃描鍵盤上是否有鍵按下,另一個是鍵處理程序,用于完成對各個按鍵的處理,鍵盤分數(shù)字鍵和功能鍵。鍵處理程序僅記憶一個狀態(tài),真正執(zhí)行在相關(guān)的執(zhí)行程序里完成。顯示子程序顯示子程序的主要功能把顯示緩存的內(nèi)容送顯示器由于使用動態(tài)掃描,所以顯示程序需要不斷刷新,如果軟件處理上有時延,會影響顯示,所以有延時的地方,都可以用顯示子程序來替代。按鍵處理中或者執(zhí)行需要更新顯示內(nèi)容,只要更新顯示緩存就可以,本系統(tǒng)用到4個7段顯示器,所以只要開辟4個顯緩(顯示子程序中XH),顯示緩存的內(nèi)容即為要顯示內(nèi)容的序號。
LED指示子程序控制臺上有8個LED指示燈,用來指示當前那個樓層有請求的需要,在內(nèi)存中開辟8個單元為NUM1~NUM8,每個單元表示對應(yīng)的樓層的請求情況,當該單元的值為0,表示該樓層沒有請求,當該單元的值為0FFH,表示該樓層有請求,LED指示子程序僅僅根據(jù)NUM1~NUM8完成指示,而NUM1~NUM8的修改則是由鍵盤,或其他執(zhí)行程序完成。電機控制子程序電機控制子程序主要的功能是啟動一次電機運行。啟動電機運行的條件:電機未在走拍程序,電機未出現(xiàn)故障電機在關(guān)門狀態(tài),有樓層停靠的請求。電機每次啟動只走一個層面,啟動后,由電機走拍子程序完成控制電機運行。電機走拍子程序電機走拍程序控制電機運轉(zhuǎn),步進電機的走步程序非常講究,特別是在停啟的時候,從停止到啟動,需要的扭矩非常大,往往要加大電流,增加走拍的時間,而從啟動到停止,也需要降低步進電機的速度,防止過沖。走拍子程序根據(jù)方向按拍表的內(nèi)容走步,由既定的步數(shù)走到相應(yīng)的樓層,根據(jù)請求表,做相關(guān)的處理。重量檢測子程序通過對ADC08090號通道的模擬量檢測,濾波(采集8次求平均值)判斷是否超重(模擬量的大于4.5V),如超重,則ALARM置成0FFH,顯示緩存送ERR,電機狀態(tài)STATUS置成開門狀態(tài)。該子程序不在主流程中,僅僅在按鍵處理若按關(guān)門鍵時,調(diào)用一次即可。
3.用到的內(nèi)容變量Xh顯示緩存4個單元Dmdb3fh,06h,5bh,4fh,66h,6dhdb7dh,07h,7fh,6fh,77h,7ch,39hdb5eh,79h,71h,73h,00h,40h段碼表NUMI~NUM8樓層請求單元0無請求,1有請求STATUS電機開關(guān)門狀態(tài)0表示開門,0FFH表示關(guān)門,1表示走拍ALARM電機故障指示0無故障,0FFH有故障NUM電機當前運行的樓層DIRE電機運行方向0表示正走,0FFH表示反正STEP電機在走拍程序中4拍的位置STEPNUM(字單元)電機走拍次數(shù)
I/端口的定義8255(1)的端口的定義8255(2)的端口的定義0809的0通道的定義CSAD
pa55equ218hpb55equ219hpc55equ21ahp55ctlequ21bhPA255EQU208HPB255EQU209HPC255EQU20AHP255CTLEQU20BH
4.程序總流程初始化子程序調(diào)用顯示子程序調(diào)用LED指示子程序調(diào)用鍵盤子程序調(diào)用電機控制子程序調(diào)用電機走拍子程序
初始化子程序:STEP=0,STSTUS=0,XH1~4=0,ALARM=0NUM=0,DIRE=08255(1)初始化(B口,C口方式0,輸出,A口方式0輸入)8255(2)初始化(A口,B口方式0輸出)8255(2)A口,B口清0
顯示子程序:XH
顯示緩存DM0的段碼1的段碼2的段碼8的段碼9的段碼E的段碼r的段碼P的段碼n的段碼暗碼位置01289ABCDF3FH06H5BH7FH6FH79H若要顯示OPEn,則顯緩的內(nèi)容分別是00H,0CH,0AH,0DH若要顯示Err,則顯示緩存的內(nèi)容分別是0AH,0BH,0BH,0FH
顯示子程序流程:
設(shè)置顯緩指針設(shè)置當前掃描的位置把掃描燈位的控制信號送I/O端口根據(jù)顯緩指針查段碼表段碼送I/O端口延時1MS四個LED掃描結(jié)束修改掃描位置修改顯緩指針N返回xhdb01h,02h,03h,04hDmdb3fh,06h,5bh,4fh,66h,6dhdb7dh,07h,7fh,6fh,77h,7ch,39hdb5eh,79h,71h,73h,00h,40h
pa55equ218hpb55equ219hpc55equ21ahp55ctlequ21bh
dispprocnearpushbxmovsi,offsetxhmovcl,03hhh:moval,clmovdx,pb55outdx,almoval,[si]leabx,dmxlatmovdx,pc55outdx,alpushcx
movbx,0008hee:movcx,0cfffhcc:noploopccdecbxjnzee;延時popcxincsicmpcl,00hjebbdeccljmphhbb:popbxretdispendp
鍵盤子程序:鍵盤掃描
判是否有鍵按下?
數(shù)字鍵(鍵值1~8)開門鍵關(guān)門鍵報警鍵清除鍵NUM1~NUM8清0ALARM清0返回ALARM置FFHSTATUS置開門返回STATUS清0STATUS置0FFH返回返回根據(jù)鍵值置NUM1~8為0FFH返回YN返回鍵盤只是記憶一個狀態(tài),操作是在電機控制程序完成調(diào)用重量檢測程序更新顯緩Err
鍵盤掃描流程:
把0送行掃描單元行掃描值送I/O端口讀列值判列值是否是0FFHY該行無鍵按下,行掃描單元加1判行全部掃描完?Y返回NN(無鍵)延時,防鍵抖動(可調(diào)用顯示子程序)AB
A把行掃描信號送I/O端口讀列值并判該行有鍵按下?根據(jù)列信號確定鍵值判當前掃描是第0行?鍵值加8NY鍵值送內(nèi)存單元轉(zhuǎn)鍵處理程序有鍵B(重新掃描)無鍵
pa55equ218hpb55equ219hpc55equ21ahp55ctlequ21bhR2db?R4db?keyprocnearwait3:movr2,00h;選擇行wait1:moval,r2movdx,pb55outdx,almovdx,pa55inal,dxcmpal,0ffhjnewait2;有鍵按下
incr2;選擇下一行cmpr2,02h;只掃描2行
jzkeyend;掃描結(jié)束jmpwait1;掃描下一行wait2:calldispcalldispcalldisp;延時,防鍵抖動moval,r2movdx,pb55outdx,almovdx,pa55inal,dxcmpal,0ffh;在判該行有鍵按下jewait3;無鍵按下,從新掃描
movr4,00;有鍵按下
lk3:
rcral,1jnclk4incr4jmplk3lk4:moval,r2cmpal,01hjnzlk5moval,08haddal,r4movr4,al;第2行有鍵按下lk5:calldispcalldispcalldisp
;鍵處理keyendretkeyendp
電機控制子程序:當前啟動走拍程序?判電梯是否開門狀態(tài)?關(guān)門NUM1~8是否全為0?N判前進方向?正前進方向有請求?Y當前層次加1拍數(shù)送STEPNUM反前進方向有請求?Y當前層次減1
返回NN開門返回
Y返回Y返回(沒有請求)啟動電機走拍程序(STATUS置為1)
N改變方向改變方向
電機走拍子程序:
判步進電機走步方向?正向拍數(shù)STEP加1拍數(shù)為04?拍數(shù)清0NY反向
根據(jù)拍數(shù)STEP查拍表并送端口拍數(shù)STEP減1拍數(shù)為0FFH?YN拍數(shù)置03H軟件延時總步數(shù)減1,判總步數(shù)為0?判該層NUM是否為0FFH?Y該單元清0,STATUS置成開門返回N把層號送顯示緩存,STATUS置0FFH(關(guān)門)YSTATUS是否是01H?YNYN
LED指示子程序:根據(jù)NUM1~8的值送8個LED指示燈
NUM10NUM2FFNUM30NUM40NUM50NUM6FFNUM70NUM8011011101L7L6L5L4L3L2L1L0硬件連接上采用共陽,所以低電平點亮,使用靜態(tài)掃描,不需要刷新。
DISPLEDPROCMOVAL,0MOVCX,8MOVBX,OFFSETNUM1DISPLED3:MOVAH,[BX]CMPAH,0JZDISPLED1CLC;進位位清0JMPDISPLED2DISPLED1:STC;進位位置1DISPLED2:RCRAL,1INCBXDECCXJNZDISPLED3MOVDX,PB255;8255B口的地址OUTDX,ALRETDISPLEDENDP
重量檢測子程序:A/D總和單元清0設(shè)置采集次數(shù)啟動A/D調(diào)用延時子程序讀A/D值加到總和單元采集次數(shù)到?求平均值判超重?ALARM送0FFH,STATUS送0,更新顯緩返回YNYN
A_DPROCMOVAX,BXMOVBX,0RCRAX,1MOVCL,8RCRAX,1BB:MOVDX,CSADRCRAX,1;/8OUTDX,AL;啟動A/D超重檢測PUSHDXRETPUSHCXA_DENDPCALLDISP;調(diào)用顯示POPCXPOPDXINAL,DXMOVAH,0ADDBX,AXLOOPBB
程序可按子程序編寫,最后把他們穿起來,匯編語言的格式DATASEGMENT;此處輸入數(shù)據(jù)段代碼DATAENDSSTACK
SEGMENTSTACK‘STACK’;此處輸入堆棧段代碼STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AX;此處輸入代碼段代碼
MOVAH,4CHINT21H;放子程序CODEENDSENDSTART程序要有正常退出功能,可通過PC機上按某個鍵來退出
5.程序調(diào)試和檢查程序按模塊(子程序)一個一個加首先是鍵盤顯示----單項檢查鍵盤程序是否能掃描到鍵,按鍵后顯示內(nèi)容是否更新。加上重量檢測程序----單項檢查按下關(guān)門鍵,如在ADC0809加載大于4.5V電壓(用電位器模擬),顯示應(yīng)該報出錯。加上LED指示子程序----單項檢查按下數(shù)字鍵1~8,對應(yīng)的指示燈亮,按下清除鍵,所有LED暗。加上電機控制子程序----單項檢查按下數(shù)字鍵是否能啟動電機運行,此時由于沒加電機走拍程序,電機運行時看不到,改程序運行是否正確,看相關(guān)的內(nèi)存單元(STATUS,STEPNUM,STEP,NUM)這些單元的值是保證電機走拍程序正常運轉(zhuǎn)的關(guān)鍵
加上步進走拍程序----步進電機走拍程序可以單獨檢查,只要給出前面的變量的設(shè)置,加入該子程序,就應(yīng)該能啟動電機運轉(zhuǎn),這樣就可以和電機控制子程序分開。聯(lián)調(diào)----注意事項注意子程序之間的接口,如果子程序中調(diào)用其他子程序,則要注意寄存器使用上是否有沖突,如有沖突可通過堆棧保護。
6.方案改進實時系統(tǒng)中盡量少軟件延時,本系統(tǒng)中鍵處理中防抖動,步進電機拍與拍之間間隔都用了軟件延時,用此方法因為系統(tǒng)實時性并不高,只有控制臺鍵盤輸入,但軟件延時會影響顯示,所以延時的地方用調(diào)用顯示來完成,這樣延時的精度會受影響,改進的方法就是用定時中斷,可使用8253,8259來完成,特別是步進電機的走步程序,如按此方案,走步程序就在中斷服務(wù)程序里完成,同時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電氣設(shè)備信號完整性分析與設(shè)計考核試卷
- 淀粉行業(yè)的市場數(shù)據(jù)統(tǒng)計與分析考核試卷
- 棉麻企業(yè)戰(zhàn)略規(guī)劃與資源配置效果評估與調(diào)整考核試卷
- 農(nóng)業(yè)經(jīng)濟全球化2024年試題及答案
- 煙草制品零售法律風險防范考核試卷
- 2024年項目管理知識點回顧試題及答案
- 生態(tài)環(huán)境監(jiān)測技術(shù)發(fā)展趨勢考核試卷
- 白酒釀造與酒體設(shè)計創(chuàng)新考核試卷
- 破產(chǎn)債權(quán)清理方案范本
- 洗滌劑產(chǎn)品創(chuàng)新與專利申請考核試卷
- 完整住院病歷書寫(十二篇)
- GA 1809-2022城市供水系統(tǒng)反恐怖防范要求
- 棚戶區(qū)改造住宅大面積拆除工程施工組織設(shè)計
- NB/T 10742-2021智能化綜采工作面設(shè)計規(guī)范
- GB/T 6320-2008杠桿齒輪比較儀
- GB/T 5538-2005動植物油脂過氧化值測定
- GB/T 5530-2005動植物油脂酸值和酸度測定
- 某智慧城市政務(wù)云平臺項目建設(shè)方案
- 德勤業(yè)務(wù)管理流程優(yōu)化咨詢報告課件
- 深靜脈導管維護流程
- 班級管理(第3版)教學課件匯總?cè)纂娮咏贪?完整版)
評論
0/150
提交評論