




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、數(shù)學與計算機系畢業(yè)設計課題名稱:步進電機控制與人機交互系統(tǒng)開發(fā)姓名: 學號: 專業(yè): 計算機應用技術目 錄目 錄3摘 要1Abstract2第一章 引言31.1 課題的背景及意義31.2 步進電機驅動控制現(xiàn)狀31.3 本課題的主要內容4第二章 系統(tǒng)總體設計52.1 系統(tǒng)總體結構設計52.2 系統(tǒng)硬件電路設計52.3系統(tǒng)軟件設計62.4 結論7第三章 步進電機控制系統(tǒng)設計83.1步進電機工作原理83.1.1反應式步進電機原理83.1.2感應子式步進電機93.2步進電機驅動器系統(tǒng)硬件電路設計103.3 步進電機驅動器系統(tǒng)軟件設計14第四章 人機交互界面的設計204.1 文本顯示器介紹204.2 文
2、本顯示器特點204.3 文本顯示器設計20第五章 系統(tǒng)調試245.1調試目標245.2 步進電機調試245.3 文本顯示器調試245.4 整體調試24第六章 總結25第七章 致謝26第八章 參考文獻27摘 要眾所周知,打印機、復印機等已成為日常生活中不可或缺的機電產(chǎn)品,而且人們對其輸出質量要求越來越高,作為其中關鍵技術的進紙系統(tǒng)對打印質量有重要影響。因此,要實現(xiàn)對進紙系統(tǒng)的有效控制,對步進電機的準確控制就顯得更有意義。本課題為了實現(xiàn)對打印機進紙系統(tǒng)中的步進電機的有效控制,設計了一套對步進電機的驅動控制系統(tǒng)及其人機交互系統(tǒng)。該系統(tǒng)以STM32單片機為核心控制芯片,它一方面產(chǎn)生步進電機的控制脈沖給
3、驅動器經(jīng)環(huán)形分配、功率放大,使步進電機繞組按一定順序通電,控制電機轉動;另一方面,它可檢測鍵盤輸入并通過液晶顯示器輸出電機運行狀態(tài)等信息,為步進電機的調試和運行提供人機交互界面。整個系統(tǒng)軟件使用易于維護的模塊化設計方法,并采取軟硬件抗干擾技術,提高了系統(tǒng)穩(wěn)定性。最后,對設計的系統(tǒng)進行了調試,實驗結果表明:本系統(tǒng)實現(xiàn)了對步進電機的控制,并可通過人機交互界面?zhèn)鬟_指令和顯示電機運行狀態(tài)等信息。整個系統(tǒng)具有結構簡單、可靠性高、成本低和適應性強等特點,具有較高的通用性和應用推廣價值。關鍵字:步進電機、單片機、人機交互系統(tǒng)AbstractAs everyone knows, printers, photo
4、copiers and other electrical products have become indispensable in the daily life, and people on the output quality requirements more and more high, as the feed system and the key technology has important effect on print quality. Therefore, to realize the effective control of the feed system, it is
5、more meaningful to accurately control the stepper motor.This subject in order to realize the effective control of stepping motor system in the step of the printer, designed a set of stepping motor drive control system and human-computer interaction system. The system uses STM32 microcontroller as th
6、e core control chip, the stepper motor control pulse to drive through the annular distribution, power amplifier on the one hand, the stepper motor windings energized in a certain order, control the motor rotation; on the other hand, it can detect the keyboard input and output through the liquid crys
7、tal display the motor running status and other information, providing human-computer interaction interface for debugging and operation of stepper motor. The system software uses the modular design method is easy to maintain, and take hardware and software anti-jamming technology, improve the system
8、stability.Finally, the design of the system for debugging, the experimental results show that: this system has realized the control of stepping motor, and through the man-machine interface to convey instructions and display the motor running status information. The whole system has the characteristi
9、cs of simple structure, high reliability, low cost and strong adaptability, high generality and application value.Keywords: stepper motor, MCU, human-computer interaction system第一章 引言1.1 課題的背景及意義步進電機可以對旋轉角度和轉動速度進行高精度控制。步進電機作為控制執(zhí)行元件,是是機電一體化的關鍵產(chǎn)品之一,廣泛應用在各種自動化控制系統(tǒng)和精密機械等領域。隨著微電子和計算機技術的發(fā)展,步進電機的需求量與日俱增,在各
10、個國民經(jīng)濟領域都有應用。上個世紀就出現(xiàn)了步進電機,它是一種可以自由會轉的電磁鐵,動作原理和今天的反應式步進電機沒有什么區(qū)別,也是依靠氣隙磁導的變化來產(chǎn)生電磁轉矩。原來的步進電機控制系統(tǒng)采用分立元件或者集成電路組成的控制回路,不僅調試安裝復雜,要消耗大量元器件,而且一旦定型之后,要改變控制方案就一定要重新設計電路。計算機則通過軟件來控制步進電機,更好地挖掘出電機的潛力。因此,用計算機控制步進電機已經(jīng)成為了一種必然的趨勢,也符合數(shù)字化的時代趨勢?,F(xiàn)在比較常用的步進電機包括反應式步進電機、永磁式步進電機、混合式步進電機和單相式步進電機等。其中反應式步進電機的轉子磁路由軟磁材料制成,定子上有許多相勵磁
11、繞組,利用磁導的變化產(chǎn)生轉矩?,F(xiàn)階段,反應式步進電機獲得最多的應用。1.2 步進電機驅動控制現(xiàn)狀在電氣時代的今天,電機一直在現(xiàn)代化的生產(chǎn)和生活中起著十分重要的作用。無論是在工農業(yè)生產(chǎn)還是在日常生活中的家用電器,都大量地使用著各種各樣的電機。因此對電機的控制變得越來越重要了。電機的控制技術的發(fā)展得力于微電子技術、電力電子技術、傳感器技術、永磁材料技術、自動控制技術、微機應用技術的最新發(fā)展成就。正是這些技術的進步使得電機控制技術化。目前打字機、計算機外部設備、數(shù)控機床、傳真機等設備中都使用了步進電機。隨著電子計算機技術的發(fā)展,步進電機必將發(fā)揮它的控制方便、控制準確的特點,在工業(yè)控制等領域取得更為廣
12、泛的應用。隨著電子產(chǎn)品更加人性化設計的要求,現(xiàn)如今一款可靠地控制系統(tǒng)就顯得更加重要,在液晶顯示上能夠做到根據(jù)具體的要求實現(xiàn)對控制目標的實時控制,目前市場上有許多的電子產(chǎn)品,良好的人機交互界面,圖形文字的詳細說明,用戶在操作的時候能夠得心應手。1.3 本課題的主要內容本課題主要的內容是設計一款穩(wěn)定、可控的步進電機控制系統(tǒng),通過單片機的控制來實現(xiàn)可操作的人機交互控制系統(tǒng)。1) 單片機使用STM系列的單片機,作為主要的控制芯片,通過單片機的IO輸出脈沖信號控制步進電機驅動器,從而達到控制步進電機的目的。2) 人機交互控制模塊的設計,通過鍵盤輸入、液晶顯示來實現(xiàn)交互控制,整個設計能夠展示一個比較清楚的
13、人機界面,實現(xiàn)更加合理的人機交互。3) 編程的語言使用的是C語言,通過過程控制指令來實現(xiàn)對單片機所需指令的要求。通過最終的選擇確定,在使用器件的時候盡量的使用易于控制,價格合理,穩(wěn)定的器件,實現(xiàn)最后的產(chǎn)品使用要求,達到設計要求。第二章 系統(tǒng)總體設計2.1 系統(tǒng)總體結構設計通過對步進電機控制器關鍵技術進行分析、研究和比較,并綜合國內外運動控制器產(chǎn)品智能化、集成化、開放化的發(fā)展趨勢,我們提出的步進電機運動控制器總體結構如圖2-1所示電機驅動模塊STM32單片機液晶顯示模 塊串口通信模塊按鍵控制模 塊圖2-1 步進電機運動控制器總體結構2.2 系統(tǒng)硬件電路設計1) 硬件電路主要的目的是控制步進電機,
14、但是單片機的IO口得輸出電壓、電流都有限,于是需要設計可控的驅動電路,這樣可以達到控制步進電機的目的。在設計的過程中還需要對各個模塊合理的進行分配,需要設計液晶模塊、鍵盤模塊,還要留有IO口以便來驅動步進電機驅動電路。2) 系統(tǒng)的供電系統(tǒng)需要給系統(tǒng)提供一個穩(wěn)定、安全的輸入電源,因此在整個系統(tǒng)模塊的供電設計中,重點圍繞了系統(tǒng)穩(wěn)定、安全性來設計。因為單片機需要的電壓是+5V,液晶需要的電壓也是+5V,電機需要的電壓是+12V因此在設計中需要考慮到多級電壓的提供,在設計中考慮到了由于輸入時候的電壓過大,而穩(wěn)壓管的承載能力有限,因此設計了多級穩(wěn)壓的電路,這樣設計的目的是為了使穩(wěn)壓管不至于過熱,在穩(wěn)壓電
15、路中還設計了濾波電路,保證供電電流的穩(wěn)定可靠。電源輸入模塊設計如圖2-2所示。圖 2-2 3) 串口通信模塊實現(xiàn)了上位機跟單片機的通信功能。通過實現(xiàn)串口通信功能可以更好地實現(xiàn)將上位機上的程序下載到單片機中,實現(xiàn)單片機各個功能實現(xiàn)本設計采用了MAX232芯片能夠實現(xiàn)上位機跟單片機之間的電位轉換,從而達到通過串口的通信功能實現(xiàn)上位機跟單片機的通信功能。光耦隔離的串行通信接口模塊如圖2-3所示。圖2-3 4) 硬件抗干擾技術為了克服可能發(fā)生的各種干擾,保證系統(tǒng)能夠可靠地運行,現(xiàn)有的抗干擾技術在硬件方面采取如下措施:1、增加硬件看門狗電路;2、增加電壓檢測電路;3、選擇抗干擾能力較強的單片機系列;4、
16、盡可能使用單片機的內部程序存儲器和內部數(shù)據(jù)存儲器而不使用外部總線鏈接這些器件;5、協(xié)調好電路中不同類型IC的電匹配;6、數(shù)據(jù)總線和控制總線間形成板與板連接時,應加總線驅動器。2.3系統(tǒng)軟件設計在系統(tǒng)的主程序中,初始化程序的功能是在系統(tǒng)復位后完成單片機各個特殊功能寄存器的設置、各數(shù)據(jù)區(qū)的初始化、外部硬件設備的設置等操作;系統(tǒng)的消息循環(huán)則用來實現(xiàn)消息合法性的判斷及消息處理功能模塊的調用。為了能夠對消息的合法性的判斷,我們?yōu)橄⒔M中的每個消息定義了對應的合法性判斷標識位。如果某消息所對應的合法性判斷標識位為“1”,則表示該消息是合法的消息,系統(tǒng)應該調用相應的消息處理功能模塊對消息進行處理;為“0”則
17、表示該消息是非法的消息,系統(tǒng)應該忽略該消息。為了實現(xiàn)“看門狗”功能,我們還在消息循環(huán)中加入了喂狗輸出操作。值得注意的是,在系統(tǒng)的串行通信處理模塊中,根據(jù)接收的數(shù)據(jù)進行判斷是自動加工,或是手動加工,還是參數(shù)設置,分別對消息序列中的標志位進行置位,以保證主程序能夠正確得實現(xiàn)各種操作。2.4 結論通過整個系統(tǒng)的設計能夠實現(xiàn)對步進電機的控制,從而實現(xiàn)更加人性化的電機控制系統(tǒng),實現(xiàn)對數(shù)字化系統(tǒng)的要求,步進電機能夠更加智能化得到控制。第三章 步進電機控制系統(tǒng)設計3.1步進電機工作原理3.1.1反應式步進電機原理由于反應式步進電機工作原理比較簡單。下面先敘述三相反應式步進電機原理。1、結構:電機轉子均勻分布
18、著很多小齒,定子齒有三個勵磁繞阻,其幾何軸線依次分別與轉子齒軸線錯開。0、1/3、2/3,(相鄰兩轉子齒軸線間的距離為齒距以表示),即A與齒1相對齊,B與齒2向右錯開1/3,C與齒3向右錯開2/3,A與齒5相對齊,(A就是A,齒5就是齒1)下面是定轉子的展開圖:2、旋轉:如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相通電,
19、B,C相不通電,齒4與A對齊,轉子又向右移過1/3。這樣經(jīng)過A、B、C、A分別通電狀態(tài),齒4(即齒1前一齒)移到A相,電機轉子向右轉過一個齒距,如果不斷地按A,B,C,A通電,電機就每步(每脈沖)1/3,向右旋轉。如按A,C,B,A通電,電機就反轉。由此可見:電機的位置和速度由導電次數(shù)(脈沖數(shù))和頻率成一一對應關系。而方向由導電順序決定。不過,出于對力矩、平穩(wěn)、噪音及減少角度等方面考慮。往往采用A-AB-B-BCC-CA-A這種導電狀態(tài),這樣將原來每步1/3改變?yōu)?/6。甚至于通過二相電流不同的組合,使其1/3變?yōu)?/12,1/24,這就是電機細分驅動的基本理論依據(jù)。不難推出:電機定子上有m相
20、勵磁繞阻,其軸線分別與轉子齒軸線偏移1/m,2/m(m-1)/m,1。并且導電按一定的相序電機就能正反轉被控制這是步進電機旋轉的物理條件。只要符合這一條件我們理論上可以制造任何相的步進電機,出于成本等多方面考慮,市場上一般以二、三、四、五相為多。3、力矩:電機一旦通電,在定轉子間將產(chǎn)生磁場(磁通量)當轉子與定子錯開一定角度產(chǎn)生力 F與(d/d)成正比其磁通量=Br*S ;Br為磁密;S為導磁面積 ; F與L*D*Br成正比;L為鐵芯有效長度;D為轉子直徑;Br=NI/RNI為勵磁繞阻安匝數(shù)(電流乘匝數(shù))R為磁阻。力矩=力*半徑力矩與電機有效體積*安匝數(shù)*磁密 成正比(只考慮線性狀態(tài))因此,電機
21、有效體積越大,勵磁安匝數(shù)越大,定轉子間氣隙越小,電機力矩越大,反之亦然。3.1.2感應子式步進電機1、特點:感應子式步進電機與傳統(tǒng)的反應式步進電機相比,結構上轉子加有永磁體,以提供軟磁材料的工作點,而定子激磁只需提供變化的磁場而不必提供磁材料工作點的耗能,因此該電機效率高,電流小,發(fā)熱低。因永磁體的存在,該電機具有較強的反電勢,其自身阻尼作用比較好,使其在運轉過程中比較平穩(wěn)、噪音低、低頻振動小。感應子式步進電機某種程度上可以看作是低速同步電機。一個四相電機可以作四相運行,也可以作二相運行。(必須采用雙極電壓驅動),而反應式電機則不能如此。例如:四相,八相運行(A-AB-B-BC-C-CD-D-
22、DA-A)完全可以采用二相八拍運行方式.不難發(fā)現(xiàn)其條件為C=,D=。一個二相電機的內部繞組與四相電機完全一致,小功率電機一般直接接為二相,而功率大一點的電機,為了方便使用,靈活改變電機的動態(tài)特點,往往將其外部接線為八根引線(四相),這樣使用時,既可以作四相電機使用,可以作二相電機繞組串聯(lián)或并聯(lián)使用。2、分類感應子式步進電機以相數(shù)可分為:二相電機、三相電機、四相電機、五相電機等。以機座號(電機外徑)可分為:42BYG(BYG為感應子式步進電機代號)、57BYG、86BYG、110BYG、(國際標準),而像70BYG、90BYG、130BYG等均為國內標準。3.2步進電機驅動器系統(tǒng)硬件電路設計步進
23、電機控制器硬件模塊主要包括:電源模塊、最小系統(tǒng)、多口輸入模塊、OC及繼電器輸出模塊、串口通信模塊以及步進電機控制器接口等。下面分別描述介紹如下所示:1、電源小模塊 圖3采用開關電源、隔離電源,比普通電源發(fā)熱更小,更安全。完成24V電源到5V電源的轉換;同時采用LM117-3.3V,輸出STM32F103VCT6系統(tǒng)所需要的3.3V電壓。2、最小系統(tǒng)小模塊,如圖4所示。最小系統(tǒng)只要包括主芯片STM32F103VCT6的簡單運行條件保障,電源輸入、晶振、下載接口、復位電路等。圖43、光耦隔離的串行通信接口小模塊圖 5采用常規(guī)的交叉串口線,并外加高速光耦隔離,確保系統(tǒng)的穩(wěn)定、安全。4、FLASH存儲
24、模塊系統(tǒng)采用了8M BITS的FLASH 芯片,此芯片是SPI的通信接口,我們STM32F103VCT6主MCU芯片中有多路SPI接口,所以完成本系統(tǒng)的數(shù)據(jù)存儲問題直接采用了內部SPI控制器,實現(xiàn)比較簡單。圖 65、13路光耦隔離輸入小模塊圖 7從圖7可以看出,本系統(tǒng)的外部信號獲取接口比較多,共有13個接口,平時外部信號可以是懸空,或接到電源24V,當開關按下時接到電源地。從我們系統(tǒng)設計可以看出,從電源到通信、到外部信號的獲取,全部進行了隔離,確保電氣的安全,符合工業(yè)現(xiàn)場的需求。一般來說,工業(yè)現(xiàn)場用光耦隔離獲取的信號有:光電開關的反饋信號、接觸或行程開關的反饋信號、 外接按鈕的反饋信號等。6、
25、七路光耦隔離OC輸出小模塊(如圖1.7) 圖 8采用高耐壓、大電流達林頓管ICULN2003芯片,主芯片與2003芯片之間加入光耦隔離。OC方式輸出24V電壓,最大電流可達500mA,可控制外部繼電器、SSR等。7、五路繼電器輸出小模塊(如圖1.8)板上集成了5個繼電器,常開觸點引出,可作為開關來控制設備上的電磁閥,汽缸,直流、交流電機等。圖 93.3 步進電機驅動器系統(tǒng)軟件設計步進電機控制器的軟件部分采用了與硬件電路設計所對應的模塊化設計方式,主要包括的軟件模塊有:基于DMA方式的串口通信模塊(實現(xiàn)了MODBUS RTU協(xié)議)、定時器模塊(完成了4路步進電機控制功能)、IO口輸入功能、繼電器
26、輸出功能、FLASH數(shù)據(jù)存儲功能。1、串口通信模塊串口通信模塊是通過一條數(shù)據(jù)發(fā)送口和一條數(shù)據(jù)接收口,來實現(xiàn)控制器和外部器件的通信工作;我們的文本和控制器之間就是通過該模塊實現(xiàn)通信的。串口2驅動:采用PA2口做T2X發(fā)送;PA3口做R2X接收;采用9600波特率;采用8位數(shù)據(jù)發(fā)送接收模式;void USART_Configuration(void) GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure;USART_ClockInitTypeDef USART_ClockInitStructure;/使
27、能串口1,PA,AFIO總線RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO,ENABLE);/使能串口2時鐘RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_Init(GP
28、IOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3; GPIO_InitStructure.GPIO_Mode =GPIO_Mode_IPU; GPIO_Init(GPIOA, &GPIO_InitStructure);USART_InitStructure.USART_BaudRate = 9600;USART_InitStructure.USART_WordLength = USART_WordLength_8b;USART_InitStructure.USART_StopBits = USART_Stop
29、Bits_1;USART_InitStructure.USART_Parity = USART_Parity_No;USART_InitStructure.USART_HardwareFlowControl= USART_HardwareFlowControl_None;USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;USART_ClockInitStructure.USART_Clock = USART_Clock_Disable;USART_ClockInitStructure.USART_CPOL = USAR
30、T_CPOL_Low;USART_ClockInitStructure.USART_CPHA = USART_CPHA_2Edge;USART_ClockInitStructure.USART_LastBit = USART_LastBit_Disable; USART_ClockInit(USART2, &USART_ClockInitStructure); USART_Init(USART2, &USART_InitStructure); USART_Cmd(USART2, ENABLE);2、定時器模塊定時器模塊是通定時器計數(shù)達到某一個設定的值后,進入中斷函數(shù),執(zhí)行相應的函數(shù),與此同時,
31、其中某些IO口輸出高或低電平,從而產(chǎn)生脈沖信號,以便驅動步進電機。步進電機實際運行時會采用類似下面的梯形圖工作,會采用S型工作。 定時器中斷打開函數(shù)void NVIC_Configuration(void)NVIC_InitTypeDef NVIC_InitStructure;NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);NVIC_InitStructure.NVIC_IRQChannel = TIM1_CC_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;NVIC_In
32、itStructure.NVIC_IRQChannelSubPriority = 0;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure);NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;NVIC_InitStructure.NVIC_I
33、RQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure);NVIC_InitStructure.NVIC_IRQChannel = TIM4_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure);NVIC_InitStruct
34、ure.NVIC_IRQChannel = TIM3_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure); 初始化定時器一:采用PA8口的CH1通道做定時器輸出;設置頻率為1M;設置模式為向上計數(shù)模式;void Tim1_Configuration(void)TIM_Ti
35、meBaseInitTypeDef TIM_TimeBaseStructure;TIM_OCInitTypeDef TIM_OCInitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE);TIM_DeInit(TIM1);/*TIM1時鐘配置*/TIM_TimeBaseStructure.TIM_Prescaler = 71; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseStructure.TIM_Period = 0xfff
36、f;TIM_TimeBaseStructure.TIM_ClockDivision = 0;TIM_TimeBaseInit(TIM1,&TIM_TimeBaseStructure);TIM_OCStructInit(&TIM_OCInitStructure);TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Toggle; TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStructure.TIM_Pulse =S_50HZ; TIM_OCInitStruct
37、ure.TIM_OCPolarity = TIM_OCPolarity_High; TIM_OC1Init(TIM1,&TIM_OCInitStructure); TIM_ClearFlag(TIM1, TIM_FLAG_CC1|TIM_FLAG_CC2|TIM_FLAG_CC3|TIM_FLAG_CC4);TIM_ITConfig(TIM1, TIM_IT_CC1, DISABLE);TIM_OC1PreloadConfig(TIM1,DISABLE);TIM_ARRPreloadConfig(TIM1, DISABLE);TIM_Cmd(TIM1,DISABLE);TIM_CtrlPWMO
38、utputs(TIM1,ENABLE);同上還有:定時器2初始化 void Tim2_Configuration(void)定時器3初始化 void Tim3_Configuration(void)定時器4初始化 void Tim4_Configuration(void)這四路中斷可以控制4路步進電機同時或各自工作,而且互不影響。3、FLASH 模塊Flash模塊:即存儲模塊,采用的是SPI通信方式來實現(xiàn)數(shù)據(jù)存儲;其中采用PB13口做SCK時鐘口, PB14口做MISO,PB15口做MOSI;設置8位字節(jié)發(fā)送接收模式,72M兩分頻即36M頻率工作; SPI初始化函數(shù)void FLASH_SPI
39、_Config(void) SPI_InitTypeDef SPI_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOB , ENABLE);RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2,ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15; GPIO_InitStruc
40、ture.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_Init(GPIOB, &GPIO_InitStructure); /* PC.13 作片選*/GPIO_SetBits(GPIOC, GPIO_Pin_13);/預置為高 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode =
41、GPIO_Mode_Out_PP; GPIO_Init(GPIOC, &GPIO_InitStructure); SPI_Cmd(SPI2, DISABLE); SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex; SPI_InitStructure.SPI_Mode = SPI_Mode_Master; SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low; SPI_InitStruc
42、ture.SPI_CPHA = SPI_CPHA_1Edge;SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2; SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; SPI_InitStructure.SPI_CRCPolynomial = 7; SPI_Init(SPI2, &SPI_InitStructure); SPI_Cmd(SPI2, ENABLE); SPI發(fā)送接收一個
43、字節(jié)函數(shù)static u8 SPIByte(u8 byte)while(SPI2-SR & SPI_I2S_FLAG_TXE)=RESET);SPI2-DR = byte;while(SPI2-SR & SPI_I2S_FLAG_RXNE)=RESET);return(SPI2-DR);4、IO與繼電器控制模塊/13路輸入信號宏定義#define YL1 (GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_0)#define YL2 (GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_1)#define YL3 (GPIO_ReadInputDa
44、taBit(GPIOE,GPIO_Pin_2) #define YL4 (GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_3) #define YL5 (GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_4) #define YL6 (GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_5) #define YL7 (GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_6) #define YL8 (GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_7) #define YL9
45、 (GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_12)#define YL10(GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_13)#define YL11 (GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_14) #define YL12 (GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_15) #define YL13 (GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_14) /繼電器輸出宏定義#define JA_OFF GPIO_ResetBits(G
46、PIOD, GPIO_Pin_7)#define JA_ON GPIO_SetBits(GPIOD, GPIO_Pin_7)#define JB_OFF GPIO_ResetBits(GPIOD, GPIO_Pin_11)#define JB_ON GPIO_SetBits(GPIOD, GPIO_Pin_11)#define JC_OFF GPIO_ResetBits(GPIOD, GPIO_Pin_10)#define JC_ON GPIO_SetBits(GPIOD, GPIO_Pin_10)#define JD_OFF GPIO_ResetBits(GPIOD, GPIO_Pin_9)
47、#define JD_ON GPIO_SetBits(GPIOD, GPIO_Pin_9)#define JE_OFF GPIO_ResetBits(GPIOD, GPIO_Pin_8)#define JE_ON GPIO_SetBits(GPIOD, GPIO_Pin_8)/7路光耦輸出#define OUT1_DOWGPIO_ResetBits(GPIOD, GPIO_Pin_0)#define OUT1_UPGPIO_SetBits(GPIOD, GPIO_Pin_0)#define OUT2_DOWGPIO_ResetBits(GPIOD, GPIO_Pin_1)#define OUT
48、2_UPGPIO_SetBits(GPIOD, GPIO_Pin_1)#define OUT3_DOWGPIO_ResetBits(GPIOD, GPIO_Pin_2)#define OUT3_UPGPIO_SetBits(GPIOD, GPIO_Pin_2)#define OUT4_DOWGPIO_ResetBits(GPIOD, GPIO_Pin_3)#define OUT4_UPGPIO_SetBits(GPIOD, GPIO_Pin_3)#define OUT5_DOWGPIO_ResetBits(GPIOD, GPIO_Pin_4)#define OUT5_UPGPIO_SetBit
49、s(GPIOD, GPIO_Pin_4)#define OUT6_DOWGPIO_ResetBits(GPIOD, GPIO_Pin_5)#define OUT6_UPGPIO_SetBits(GPIOD, GPIO_Pin_5)#define OUT7_DOWGPIO_ResetBits(GPIOD, GPIO_Pin_6)#define OUT7_UPGPIO_SetBits(GPIOD, GPIO_Pin_6)/電機方向輸出宏定義#define STEP1_UP GPIO_ResetBits(GPIOE, GPIO_Pin_8)#define STEP1_DW GPIO_SetBits(
50、GPIOE, GPIO_Pin_8)#define STEP2_UP GPIO_ResetBits(GPIOE, GPIO_Pin_9)#define STEP2_DW GPIO_SetBits(GPIOE, GPIO_Pin_9)#define STEP3_UP GPIO_ResetBits(GPIOE, GPIO_Pin_10)#define STEP3_DW GPIO_SetBits(GPIOE, GPIO_Pin_10)#define STEP4_UP GPIO_ResetBits(GPIOE, GPIO_Pin_11)#define STEP4_DW GPIO_SetBits(GPI
51、OE, GPIO_Pin_11)第四章 人機交互界面的設計4.1 文本顯示器介紹文本顯示器,又名終端顯示器,是一種單純以文字呈現(xiàn)的人機互動系統(tǒng)。通過文本顯示器,將所需要控制的內容,編寫成相應的程序,最終在文本顯示器的界面上顯示出來。這樣,不但大大提高了操作的方便性,而且能夠顯著提高工作效率。4.2 文本顯示器特點1、優(yōu)點 1、操作簡單、方便; 2、支持多種通訊協(xié)議; 3、輕巧、經(jīng)濟與實用; 4、操作者能快速控制系統(tǒng),從而提高工作效率。2、缺點 1、界面顯示內容沒有觸摸屏那樣豐富生動; 2、文本顯示器只能顯示文字,不能顯示圖形化的操作界面。4.3 文本顯示器設計1、 文本部分的界面(采用的畫圖編
52、程)開發(fā)環(huán)境:TP200畫面設置工具(圖10)該平臺可實現(xiàn)文本界面設計,界面設計好后通過串口與控制器連接,可達到文本控制整個系統(tǒng)的目的。圖106、VB運行界面本控制器除了與文本進行通信以外,還可以通過串口與PC機 上位機軟件進行通信,通信協(xié)議我們進行了編制,采用和校驗的形式。部分協(xié)議如下,VB界面如下:測試界面和為進出料控制做的一個系統(tǒng)如圖(圖11)該界面中可以測試控制6路電機正反轉和停止圖11部分實現(xiàn)源代碼如下:Public Function cdu_set(a1 As Integer, a2 As Double) 設定運行距離 Dim temp4 As Double Dim temp5 A
53、s Double Dim temp0 As Byte Dim temp1 As Byte Dim temp2 As Byte temp0 = 0 temp1 = 0 temp2 = 0 temp4 = 0# temp2 = Int(a2 / 65536) temp4 = a2 - temp2 * 65536 temp1 = Int(temp4 / 256) temp5 = temp1 temp0 = temp4 - temp5 * 256 配置電機的運行長度 outdata(0) = &HFF outdata(1) = &HAA outdata(2) = a1 outdata(3) = &H3 ou
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年02月廣西梧州人社公開招聘事業(yè)單位實名編制人員3人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 新高考化學一輪復習講練測第05講 離子共存 離子的檢驗和推斷(精練)(原卷版)
- 課題開題報告:大學英語教學“講好中國故事”的多模態(tài)敘事研究
- 課題開題報告:大學生國家安全教育研究
- 課題開題報告:大科學時代高校高層次人才集聚模式創(chuàng)新研究
- 塑身內衣企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- 健康保險機器人企業(yè)制定與實施新質生產(chǎn)力戰(zhàn)略研究報告
- 圍巾類企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- 去油用品企業(yè)數(shù)字化轉型與智慧升級戰(zhàn)略研究報告
- 文胸企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略研究報告
- 消防設施定期檢查、檢測、維修保養(yǎng)記錄
- 論十大關系全文
- 涂裝工技能鑒定考試題庫匯總-下(多選、判斷題部分)
- 2021年山東能源集團西北礦業(yè)有限公司招聘筆試試題及答案解析
- 售后服務流程圖
- 建筑地基處理技術規(guī)范JGJ79-2012
- 印象主義、后印象主義課件
- 日常監(jiān)督檢查表
- 隊列訓練教程ppt課件(PPT 86頁)
- 第三章-農村公共管理組織課件
- 注塑員工培訓
評論
0/150
提交評論