地稅局自動蓋章系統(tǒng)設計
《地稅局自動蓋章系統(tǒng)設計》由會員分享,可在線閱讀,更多相關《地稅局自動蓋章系統(tǒng)設計(29頁珍藏版)》請在裝配圖網上搜索。
1、. 地稅局自動蓋章系統(tǒng)設計 地稅局自動蓋章系統(tǒng)是一種集自動蓋章和頁碼打印于一體的辦公設備,它能夠自動實現(xiàn)收費票據(jù)的蓋章,收費票據(jù)的頁碼打印功能。系統(tǒng)設計的主要任務圍繞步進電機的控制展開。 步進電機是一種將電脈沖轉化為角位移的執(zhí)行機構。通俗一點講:當步進驅動器接收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度(即步進角)。您可以通過控制脈沖個數(shù)來控制角位移量,從而達到準確定位的目的;同時您還可以通過控制脈沖頻率來控制電機轉動的速度和加速度,從而達到調速的目的。 隨著運動控制系統(tǒng)中數(shù)字化技術的發(fā)展與成熟,步進電機在自動化控制中得到廣泛的應用。
2、 1 系統(tǒng)功能說明 地稅局自動蓋章系統(tǒng)根據(jù)其使用的不同環(huán)境,具有以下的幾種功能,以滿足不同客戶的使用要求。 1.1票據(jù)進/出倉功能 該功能主要用于操作人員把票據(jù)送入或者取出打印設備,其工作原理與電腦的光驅設備的進出倉原理相同。首次按下“進/出倉”鍵,設備的票據(jù)倉在步進電機的驅動下伸出來,以便操作人員放入票據(jù),再次按下“進/出倉”鍵,設備的票據(jù)倉在步進電機的驅動下收回,準備進行下一步的操作。 1.2蓋章功能 當操作人員放入票據(jù)以后,再按下“蓋章”鍵,設備在檢測到票據(jù)倉有紙的情況下,進行票據(jù)的自動蓋章,同時蓋章指示燈亮,表明設備正在進行蓋章操作
3、;當把所有的票據(jù)頁蓋章完畢后,蓋章結束的指示燈亮,表明蓋章結束。 1.3打印頁碼功能 當操作人員放入票據(jù)以后,再按下“打印頁碼”鍵,設備在檢測到票據(jù)倉有紙的情況下,進行票據(jù)的頁碼打印,同時頁碼打印指示燈亮,表明設備正在進行票據(jù)的頁碼打印操作;當把所有票據(jù)的頁碼完畢后,頁碼打印結束的指示燈亮,表明票據(jù)頁碼打印結束。 1.4取消功能 當操作人員按下“取消”鍵,設備取消正在進行的操作,并進入復位后的等待狀態(tài)。 精品 . 1.5復位功能 當操作人員按下“復位”鍵,設備進行系統(tǒng)的復位操作。并隨后進入等待狀態(tài)。 2 應用系統(tǒng)設計 2.1應用系統(tǒng)結構設計 根據(jù)1.1節(jié)所述的地稅局
4、自動蓋章系統(tǒng)的功能,該系統(tǒng)需要完成步進電機的驅動,蓋章電磁鐵的擊打,打印電磁鐵的擊打,票據(jù)進/出倉的位置傳感器、紙張有/無的傳感器的信號檢測,指示燈的驅動,票據(jù)翻頁的機械手步進電機的驅動等操作,系統(tǒng)的結構框圖如圖1所示。 2.2設備及器件選型 精品 . 本設計采用Atmel公司的AT90S8535高性能低功耗的AVR單片機作為設備的核心控制器。根據(jù)圖8-1所設計的系統(tǒng)結構,選擇合適功能器件,以完成完整的系統(tǒng)控制電路設計??刂葡到y(tǒng)需要選擇穩(wěn)壓電源單元,步進電機及電機驅動器單元,功能鍵盤單元,位置傳感器單元和驅動電磁擊打錘的固態(tài)繼電器單元。 2.2.1 穩(wěn)壓電源 1.穩(wěn)壓電源的分類
5、 常用的穩(wěn)壓電源有開關穩(wěn)壓電源、輸出電壓值固定的穩(wěn)壓電源和輸出電壓值可以調節(jié)的穩(wěn)壓電源。 開關穩(wěn)壓電源: 開關電源的特點如下:價格低、可靠性高;適用AC輸入電源;效率高、工作溫度低;軟啟動電流、能有效降低AC輸入沖擊;有短路保護、過載保護;體積小、重量輕;內有EMI濾波器、紋波極小。 開關型穩(wěn)壓電源通常由輸入濾波電路、工頻整流電路、功率因數(shù)校正電路、直流變換器和輸出濾波器等部分組成,如圖2所示。 輸入濾波器的主要作用是衰減電網中的高頻諧波分量,同時也可防止開關電源產生的高頻諧波分量進入電網,影響其他用電設備,輸入濾波器通常采用LC低通濾波器,為了更大地衰減高次諧波分量,也
6、可以采用幾個單級濾波器組成的多級濾波器;工頻整流器的主要作用是將交流輸入電壓變換成直流電壓,該整流器通常采用單相或者三相橋式整流電路,為了使輸入電壓比較平穩(wěn),輸出端還必須加入濾波電容;功率因數(shù)校正電路的主要作用是:通過升高整流器輸出的直流電壓,迫使交流輸入電流與交流輸入電壓的波形及相位基本相同,從而使功率因數(shù)接近1,該電路通常采用直流升壓變換器;直流變換器的主要作用是將功率因數(shù)校正電路輸出的直流高壓變換成設備所需的電壓值,通常采用的變換器有單端變換器、推挽變換器和橋式變換器;輸出濾波器的主要作用是衰減直流變換器輸出電壓中的高頻分量,降低輸出電壓的紋波,從而滿足電子設備的要求,輸出濾波器也采用L
7、C濾波電路。 在簡單了結了開關型穩(wěn)壓電源的基礎上,同時考慮了電源的性能、價格和系統(tǒng)本身對電源功率的要求等因素。本系統(tǒng)選擇了復旦大學科教實業(yè)有限公司的S-350-36(36V/5A)型開關型穩(wěn)壓電源。 精品 . 輸出電壓值固定的穩(wěn)壓電源: 輸出電壓值固定的穩(wěn)壓電源的結構相對比較簡單,通常使用輸出電壓固定的集成穩(wěn)壓器件來實現(xiàn),由于它只有輸入、輸出和公共引出端,故稱之為三端式穩(wěn)壓器。三端式穩(wěn)壓器的型號很多,本系統(tǒng)選用的三端式穩(wěn)壓器是具有正電壓輸出的78M05。具體的電路圖如圖3所示。 圖3 +5V穩(wěn)壓電源電路圖 輸出電壓值可以調節(jié)的穩(wěn)壓電源 輸出電壓值可以調節(jié)的穩(wěn)
8、壓電源通常使用三端可調式集成穩(wěn)壓器,以LM317為例,其電路結構和常用的外接元件如圖4所示。 精品 . LM317的內部有比較放大器、偏置電路(圖中未畫出)、恒流電路和帶隙基準電壓VREF等,它的公共端改接到輸出端,器件本身無接地端。所以消耗的電流都從輸出端流出,內部的基準電壓(約1.2V)接至比較放大器的同相端和調整端之間。若接上外部的調整電阻R1、R2后,輸出電壓為: (1)。 LM317的VREF=1.2V,IADJ=50µA,由于調整端電流IADJ<<I1 ,故可以忽略,式8.1可以簡化為:
9、 (2)。 2.2.2 步進電機及驅動器 1. 步進電機的分類 步進電機分通常兩種:反應式步進電機,感應子式步進電機。 反應式步進電機 由于反應式步進電機工作原理比較簡單。下面是三相反應式步進電機的工作原理。 電機轉子均勻分布著很多小齒,定子齒有三個勵磁繞阻,其幾何軸線依次分別與轉子齒軸線錯開。0、1/3て、2/3て,(相鄰兩轉子齒軸線間的距離為齒距以て表示),即A與齒1相對齊,B與齒2向右錯開1/3
10、て,C與齒3向右錯開2/3て,A'與齒5相對齊,(A'就是A,齒5就是齒1)定轉子的展開圖如圖8-5所示。 圖5定轉子的展開圖 如A相通電,B,C相不通電時,由于磁場作用,齒1與A對齊,(轉子不受任何力以下均同)。 如B相通電,A,C相不通電時,齒2應與B對齊,此時轉子向右移過1/3て,此時齒3與C偏移為1/3て,齒4與A偏移(て-1/3て)=2/3て。 如C相通電,A,B相不通電,齒3應與C對齊,此時轉子又向右移過1/3て,此時齒4與A偏移為1/3て對齊。 如A相通電,B,C相不通電,齒4與A對
11、齊,轉子又向右移過1/3て。 這樣經過A、B、C、A分別通電狀態(tài),齒4(即齒1前一齒)移到A相,電機轉子向右轉過一個齒距,如果不斷地按A,B,C,A 精品 . ……通電,電機就每步(每脈沖)1/3て,向右旋轉。如按A,C,B,A……通電,電機就反轉。 由此可見:電機的位置和速度由導電次數(shù)(脈沖數(shù))和頻率成一一對應關系。而方向由導電順序決定。 感應子式步進電機 感應子式步進電機與傳統(tǒng)的反應式步進電機相比,結構上轉子加有永磁體,以提供軟磁材料的工作點,而定子激磁只需提供變化的磁場而不必提供磁材料工作
12、點的耗能,因此該電機效率高,電流小,發(fā)熱低。因永磁體的存在,該電機具有較強的反電勢,其自身阻尼作用比較好,使其在運轉過程中比較平穩(wěn)、噪音低、低頻振動小。 感應子式步進電機某種程度上可以看作是低速同步電機。一個四相電機可以作四相運行,也可以作二相運行。(必須采用雙極電壓驅動),而反應式電機則不能如此。例如:四相,八相運行(A-AB-B-BC-C-CD-D-DA-A)完全可以采用二相八拍運行方式。不難發(fā)現(xiàn)其條件為C=,D=. 一個二相電機的內部繞組與四相電機完全一致,小功率電機一般直接連接為二相,而功率大一點的電機,為了方便使用,靈活
13、改變電機的動態(tài)特點,往往將其外部接線為八根引線(四相),這樣使用時,既可以作四相電機使用,可以作為二相電機繞組串聯(lián)或并聯(lián)使用。 本系統(tǒng)選用的是三相反應式步進電機。 步進電機驅動器 步進電機驅動器是能夠實現(xiàn)使用、控制步進電機必須的環(huán)形脈沖,功率放大等功能組成的控制器。其結構框圖如圖8-6所示。 其中各個接線端子的具體功能如下: CP 接CPU脈沖信號(負信號,低電平有效); OPTO 接CPU+5V; FREE 脫機
14、,與CPU地線相接,驅動電源不工作; DIR 方向控制,與CPU地線相接,電機反轉; 精品 . VCC 直流電源正端; GND 直流電源負端; A 接電機引出線紅線; 接電機引出線綠線 ; B &
15、#160; 接電機引出線黃線; 接電機引出線藍線; 2.2.3 功能鍵盤 本系統(tǒng)的功能鍵盤采用了獨立式動態(tài)掃描鍵盤,該鍵盤的結構及功能在12章中有詳細的介紹,這里不再過多介紹了。 2.2.4 位置傳感器 本系統(tǒng)的位置傳感器采用由發(fā)光二極管和光敏二極管組成的電路來實現(xiàn),在下一節(jié)中將結合電路原理圖進行說明。 2.2.5 固體繼電器 固體繼電器(亦稱固態(tài)繼電器)英文名稱為Solid State Relay,簡稱SSR。它是用半導體器件代替?zhèn)鹘y(tǒng)電接點作為切換裝置的具有繼電器
16、特性的無觸點開關器件,單相SSR為四端有源器件,其中兩個輸入控制端,兩個輸出端,輸入輸出間為光隔離,輸入端加上直流或脈沖信號到一定電流值后,輸出端就能從斷態(tài)轉變成通態(tài)。 固體繼電器工作可靠,壽命長,無噪聲,無火花,無電磁干擾,開關速度快,抗干擾能力強,且體積小,耐沖擊,耐振蕩,防爆、防潮、防腐蝕、能與TTL、DTL、HTL等邏輯電路兼容,以微小的控制信號達到直接驅動大電流負載。主要不足是存在通態(tài)壓降(需相應散熱措施),有斷態(tài)漏電流,交直流不能通用,觸點組數(shù)少,另外過電流、過電壓及電壓上升率、電流上升率等指標差。 固體繼電器目前已廣泛應用于計算機外圍接口裝置,電爐加熱恒溫系統(tǒng),數(shù)控機械,遙控
17、系統(tǒng)、工業(yè)自動化裝置;信號燈、閃爍器、照明舞臺燈光控制系統(tǒng);儀器儀表、醫(yī)療器械、復印機、自動洗衣機;自動消防,保安系統(tǒng),以及作為電網功率因素補償?shù)碾娏﹄娙莸那袚Q開關等等,另外在化工、煤礦等需防爆、防潮、防腐蝕場合中都有大量使用。 本系統(tǒng)驅動電磁擊打錘和抓紙機械手是通過AVR單片機的輸出控制直流固體繼電器來實現(xiàn)的。直流固體繼電器的輸出量程既能夠滿足驅動電磁擊打錘所需要的較大的電流,又可以起到隔離作用,防止電磁擊打錘的線圈的在通斷電時產生的脈沖尖峰對系統(tǒng)的干擾,提高控制系統(tǒng)的抗干擾能力。 3 硬件設計 地稅局自動蓋章系統(tǒng)的控制電路原理如圖7所示,下面對各單元電路進行說明。 精品 .
18、 圖8 自動蓋章系統(tǒng)的控制電路原理圖 3.1電源設計 本系統(tǒng)的電源共有+36V、 +12V、+5V三種。其中+36V電源由開關電源輸出,用來作為電機及系統(tǒng)其它電源的輸入。系統(tǒng)的+12V電源用于擊打電磁和抓紙機械手的供電,它由可調三端穩(wěn)壓電源器件LM350將+36V降壓得到,LM350和LM317為同一系列的可調三端穩(wěn)壓器件,工作原理完全相同,只在具體的參數(shù)上有所差別。控制系統(tǒng)的+5V電源由固定值三端穩(wěn)壓電源器件78M05對+12V電壓進行降壓得到,它為單片機及其接口系統(tǒng)提供電源。其中電阻R2和發(fā)光二極管D7組成電源工作指示燈。系統(tǒng)電源設計的電路原理圖如圖9所示。
19、 圖9系統(tǒng)電源的電路原理圖 8.3.2步進電機接口電路設計 本系統(tǒng)共有三個獨立工作的步進電機,分別是控制進/出倉的步進電機,控制翻票據(jù)的步進電機和控制頁碼字輪旋轉的步進電機,各個步進電機的功率不同,因此選用了三個步進電機控制器。但是三個步進電機不同時工作,因此可以共用一個方向控制線。其具體電路圖如圖10所示。 精品 . 圖10步進電機控制電路圖 3.3功能鍵盤接口電路設計 本系統(tǒng)的功能鍵盤設計采用的是獨立式鍵盤結構,并設計了蓋章和打印頁碼的工作指示燈,具體電路如圖11所示。 圖11系統(tǒng)功能鍵盤電路圖 其中S1為進/出倉
20、功能鍵,S2為蓋章功能鍵,S3為打印頁碼功能鍵,S4為取消功能鍵,S5為復位功能鍵。綠色發(fā)光二極管D5為蓋章工作指示燈,紅色發(fā)光二極管D6為蓋章結束指示,綠色燈發(fā)光二極管D7為打印頁碼工作指示燈,紅色發(fā)光二極管D8為打印頁碼結束指示燈。 精品 . 3.4位置傳感器接口電路設計 本設計的位置傳感器采用了由發(fā)光二極管和光敏二極管組成的電路來實現(xiàn),它們分別位于被探測的物體的兩側。其工作原理框圖如圖8-12所示。 圖12 傳感器工作原理框圖 光敏二極管是利用硅PN結受光照后產生光電流的一種光電器件,光敏二極管使用時要反向接入電路中,即正極接電源
21、負極,負極接電源正極。 系統(tǒng)工作時,發(fā)光二極管通電發(fā)出可見光,當沒有物體遮擋時,高靈敏度光敏二極管接收可見光,使得自身阻值變小,電路輸出邏輯低電平到AVR單片機;當有物體遮擋時,高靈敏度光敏二極管無法接收可見光,使得自身阻值增大,電路輸出邏輯高電平到AVR單片機。單片機通過高低電平來判斷有無遮擋物,進而判斷物體的位置。其具體的電路圖如圖13所示。 圖 13 傳感器的電路原理圖 其中發(fā)光二極管D2和電阻R1組成發(fā)光電路,為傳感器提供光源;電阻R5和光敏二極管D3組成光電接收和邏輯轉換電路,為AVR單片機提供邏輯電平的輸入。其它的6個 傳感器
22、的構成和工作原理與該電路完全相同,在圖8和圖10中進行了省略,實際系統(tǒng)中共有7個這種傳感器。 精品 . 3.5固態(tài)繼電器接口電路設計 本系統(tǒng)的三個固體繼電器接口電路有兩種用途,其中的兩個分別用來驅動蓋章和打印頁碼的電磁擊打錘,另外一個用來驅動抓票據(jù)所用的機械手。其接口電路如圖8-14所示。 不同型號的固體繼電器的輸入驅動電流不同,為了保護單片機,減少其功耗,在單片機輸出引腳增加了功率放大的74LS04,用它的輸出來驅動固體繼電器。 4 系統(tǒng)程序 系統(tǒng)程序給出了地稅局自動蓋章系統(tǒng)的軟件,包含頭文件及各種變量的定義,鍵盤掃描函數(shù),蓋章函數(shù),打印頁碼函數(shù),以及中斷復位函數(shù),初始
23、化函數(shù)和主程序。 4.1 頭文件及全局變量定義 #include <io8535v.h> #include <macros.h> #define unsigned int uint #define unsigned char uchar //管腳功能 #define SIGN_ON PD0 //PD0 蓋章工作指示燈輸出管腳 #define SIGN_OFF PD1 //PC7 蓋章結束指示燈輸出管腳 #define PRINT_ON PD3 //PD3 打印頁碼工作指示燈輸出管腳 #define PD
24、4 PRINT_OFF //PD4 打印頁碼結束指示燈輸出管腳 #define PC7 M1_pulse //PC7 裝票電機脈沖輸出管腳 #define PC6 M2_pulse //PC6 行走電機脈沖輸出管腳 #define PC5 M3_pulse //PC5 字輪電機脈沖輸出管腳 #define PC4 M_DIR //PC4 電機方向輸出管腳 精品 . #define PC3 SIGN_ACT //PC3 蓋章?lián)舸螂姶盆F輸出管腳 #define PC2 PRINT_ACT //PC2 字輪擊打電磁
25、鐵輸出管腳 #define PC1 GRASP_ACT //PC1 抓紙機械手輸出管腳 #define PB6 SONSOR_6 //PB6 行走右傳感器 #define PB5 SONSOR_5 //PB5 行走左傳感器 #define PB4 SONSOR_4 //PB4 字輪傳感器 #define PB3 SONSOR_3 //PB3 紙傳感器 #define PB2 SONSOR_2 //PB2 后傳感器 #define PB1 SONSOR_1 //PB1 中傳感器 #define PB0 S
26、ONSOR_0 //PB0 前傳感器 #define PA2 KEY_2 //PA2 打印頁碼鍵 #define PA1 KEY_1 //PA1 蓋章鍵 #define PA0 KEY_0 //PA0 裝票鍵 bit keydown, cancelflag; unsigned int u;; unsigned char i,j, x,y,k,m,n,funkeynum,r_step,b,c, void cancel() interrupt 0 { cancelflag=1; } //功能鍵掃描 void funkey
27、scan() { keydown=0; funkeynum=3; if(KEY_0==0) { Delayl(10); if(KEY_0==0) { funkeynum=0; keydown=1; } } //PA0 裝票 精品 . if(KEY_1==0) { Delayl(10); if(KEY_1==0) { funkeynum=1; keydown=1; } } //PA1 蓋章 if(KEY_2==0) { Delayl(10
28、); if(KEY_2==0) { funkeynum=2; keydown=1; } } //PA2 打碼 } void delays(uint j) { uint i; for(i=0;i<j;i++) { ; } } void delay1(unsigned int j) { uint i; for(i=0;i<j;i++) { uint l; for(l=0;l&
29、lt;1000;l++); } } 精品 . void pulsezhuangpiao() //裝票頻率 { delays(45); //裝票周期45 M1_pulse=1; //Pc7=1 delays(45); //裝票周期45 M1_pulse=0; //Pc7=0 } void pulsexingzou() { delays(35); //行走周期35 M2_pulse=1
30、; //Pc6=1 delays(35); //行走周期35 M2_pulse=0; //Pc6=0 } void pulsezilun() //字輪電機脈沖 { delays(55); //字輪電機周期35 M3_pulse=0; //Pc5=0 delays(55); //字輪電機周期35 M3_pulse=1; //Pc5=1 } void print
31、_act() { PRINT_ACT=1; delay1(5); //打字電磁鐵打下時間延時20(*1000) PRINT_ACT=0; delay1(20); //打字電磁鐵上升時間延時20(*1000) } void sign_act() { SIGN_ACT=1; delay1(20); //蓋章電磁鐵打下時間延時20(*1000)
32、 SIGN_ACT=0; 精品 . delay1(20); //蓋章電磁鐵上升時間延時20(*1000) } void num_step() { M_DIR=0; //反轉 for(u=0;u<40;u++) //行走電機距離即字間距40 { pulsexingzou(); } } void reverse_step() { unsigned int i; for(i=0;
33、i<350;i++) //居中以后再走100吸紙 { M_DIR=0; //反轉 pulsexingzou(); } GRASP_ACT=1; //吸紙 while(SONSOR_5==0) //等待開關 { M_DIR=0; //反轉 pulsexingzou(); } } void forward_step() { GRASP
34、_ACT=0; //不吸紙 while(SONSOR_6==0) //等待開關 { M_DIR=1; //正轉 pulsexingzou(); } M_DIR=0; //反轉 for(u=0;u<400;u++) //行走電機居中 { pulsexingzou(); } 精品 . GRASP_ACT=0;
35、 //放紙 } void judge1() //判斷字輪正反轉 { if(b>10){r_step=(20-b)*12; M_DIR=1;} else {r_step=b*12; M_DIR=0; } } void judge2() //判斷字輪正反轉 { if(b>10){r_step=(20-b)*12; M_DIR=0;} else {r_step=b*12; M_DIR=1; } } void mot
36、orxizhi() { reverse_step(); u=0; delay1(5); //吸紙延時10*(1000) while(SONSOR_6==0) //等待開關 { M_DIR=1; //往右轉 u++; pulsexingzou(); if(u==380){ GRASP_ACT=0;} //抓紙機械手往右走380步放紙 } } void motor3qianz
37、ou() { M_DIR=1; //方向 while(SONSOR_0==0) //前傳感器 pulsezhuangpiao(); //承票板往前走 } void motor3houzhong() { uchar e; 精品 . while(SONSOR_1==0) //中傳感器 { M_DIR=0; //方向 pulsezhuangpi
38、ao(); //承票板往hou走 } for(e=0;e<55;e++) //修正位置誤差55 { M_DIR=0; //方向 pulsezhuangpiao(); //承票板往hou走 } } void motor3houzou() { M_DIR=0; //方向 while(SONSOR_2==0) //后傳感器
39、 pulsezhuangpiao(); //承票板往hou走 } void motor30() { motor3qianzou(); motor3houzhong(); } void motor3qianzhong() { M_DIR=1; //方向 while(SONSOR_1==0) //中傳感器 { pulsezhuangpiao(); //承票板往前走 } for(i=0;i<20;
40、i++) pulsezhuangpiao(); } void motor1_fuwei() { reverse_step(); COM8255=0x03; //正空蹦不動作 精品 . delay1(5); while(SONSOR_6==0) //等待開關 { M_DIR=1; //正轉 pulsexingzou(); } M_DIR=0;
41、//反轉 //以上程序初始定位 } void motor2_fuwei() { M_DIR=0; while(SONSOR_4==0) //字輪光電傳感器 { pulsezilun(); } } void motor12_dama() { unsigned char k=0,p;//n, while(SONSOR_3==0) //紙張結束標志位為0時循環(huán)執(zhí)行 { for(u=0;u<150;u++) { M_DIR=0
42、; pulsexingzou(); } //電機進入打印位置 motor2_fuwei(); //字輪復位 p=0; if(k<10) { b=k+k; judge1(); for(u=0;u<r_step;u++) //字輪電機轉到打印位置 {puls
43、ezilun(); } print_act(); } 精品 . else { b=k/10+k/10; //取整的yushu judge1(); for(u=0;u<r_step;u++) //字輪電機轉到打印位置 {pulsezilun(); } print_act(); num_step(); p=2*(k%10);
44、 //取整的值 if(p>b) { b=p-b; judge1(); } else { b=b-p; judge2(); } for(u=0;u<r_step;u++) //字輪電機轉到打印位置 {pulsezilun(); } print_act(); } k++; motorxizhi(); if(cancelfla
45、g==1) goto OUT2; } OUT2: cancelflag=0; for(u=0;u<450;u++) { M_DIR=0; pulsexingzou(); } } 精品 . void motor30() { uint i; for(i=0;i<350;i++) //居中以后再往左走100吸紙 { M_DIR=0; //反轉 pulsexingzou(); }
46、 GRASP_ACT=1; //吸紙 while(SONSOR_5==0) //等待開關 { M_DIR=0; //反轉 pulsexingzou(); } M_DIR=1; //往右轉 for(u=0;u<500;u++) //往右走的脈沖個數(shù)500 { pulse
47、xingzou(); GRASP_ACT=1; } //行走電機居中 motor3qianzou(); } void motorjuzhong() { for(u=0;u<450;u++) { M_DIR=0; pulsexingzou(); } } void motorgaizhang() { while(SONSOR_3==0) //紙張結束標志位為1時循環(huán)執(zhí)行 { moto
48、r3houzou(); sign_act(); motor3qianzhong(); motorxizhi(); 精品 . motorjuzhong(); if(cancelflag==1) goto OUT3; } OUT3: cancelflag=0; } void main(void) { begin: cancelflag=0; SIGN_ACT=0; //蓋章?lián)舸螂姶盆F1吸起 PRINT_ACT=0; //打印頁碼擊打電磁鐵2吸起 GRAS
49、P_ACT=0; //抓紙機械手不動作 forward_step(); //翻頁步進電機復位 motor3houzou(); //承票板往后走 motor3qianzhong(); //承票板往中間走進行復位 IT1 = 0; //設外部中斷1為低電平觸發(fā) EA = 1; //開中斷 EX1 = 1; //開中斷1 do{ do {funkeyscan(); } while(keydown==0); switch(funkeynum) { c
50、ase 1 : //裝票操作 motor3(); break; case 3 : //蓋章 motor30(); //裝票 wait1: while(KEY_1!=0); while(KEY_1==0) {
51、 DelayMs(50); if(KEY_1==0) { motor3houzhong(); 精品 . } else goto wait1; } SIGN_ON=0; SIGN_OFF=1; //蓋章進行中指示燈亮 motor3houzou(); motorga
52、izhang(); // 蓋章 motor3qianzhong(); SIGN_ON=1; SIGN_OFF=0; //蓋章結束指示燈亮 break; case 3 : //打印頁碼 motor30(); //裝票 wait2: while(KEY_2!=0);
53、 while(KEY_2==0) { DelayMs(50); if(KEY_2==0) { motor3houzhong(); } else goto wait2; } PRINT_ON=0; PRINT_OFF=1; //打印頁碼進行指示燈
54、亮 motor1_fuwei(); motor12_dama(); //打印頁碼 PRINT_ON=1; PRINT_OFF=0;//打印頁結束指示燈亮 break; }while(1); } 5系統(tǒng)集成與調試 地稅局自動蓋章系統(tǒng)的測試主要有以下幾部分:電源的測試、傳感器電路的測試、電機驅動電路的測試、電磁擊打錘電路的測試和鍵盤電路的測試。對電機驅動電路的測試應編寫相應的測試程序,其它電路單元的測試應該以硬件電路調試為主。 精品
55、. 5.1.電機驅動電路的測試 根據(jù)圖7-10所設計的步進電機驅動電路,在硬件電路焊接完成之后,可以編制如下的測試程序,對步進電機單元進行測試。測試的目的是為了調試電機的轉速以符合實際工作狀況的需要。 #include <io8535v.h> void delay( int j ) { int i; for(i=0;i<j;i++) //步進電機轉速周期j { ; } } void pulse() { delay(35); Pc6=1; //Pc5=1
56、; //Pc4=1; delay(35); Pc6=0; //Pc5=0; //Pc4=0; } main() { int i; while(1) { Pc3=1; //正轉 for(i=0;i<200;i++) //正轉200個脈沖 { pulse(); } Pc3=0; //反轉 for(u=0;u<200;u++) //反轉200個脈沖 精品 . { pulse(); } } } 如有侵權請聯(lián)系告知刪除,感謝你們的配合! 精品
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。