freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)畢業(yè)論文-資料下載頁(yè)

2024-10-07 22:53本頁(yè)面

【導(dǎo)讀】理論知識(shí)和基本技能,對(duì)實(shí)際問(wèn)題進(jìn)行研究與解決的一次綜合訓(xùn)練。過(guò)程,培養(yǎng)了利用所學(xué)的知識(shí)解決實(shí)際問(wèn)題的能力和創(chuàng)新精神。本設(shè)計(jì)對(duì)步進(jìn)電機(jī)的工作原理和步進(jìn)方式作了深刻的研究。將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。當(dāng)接收到一個(gè)脈沖信號(hào),就驅(qū)動(dòng)步進(jìn)電機(jī)按。設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度;同時(shí)其轉(zhuǎn)速也將與脈沖頻率成正比率改變。的正轉(zhuǎn)、反轉(zhuǎn)、加速、減速、制動(dòng)等。任何復(fù)雜的步進(jìn)電機(jī)的工作都是基于這些。功能設(shè)計(jì)而成,這使得步進(jìn)電機(jī)設(shè)計(jì)應(yīng)用非常簡(jiǎn)便,也非常廣泛。硬件設(shè)計(jì)是系統(tǒng)重要組成部分,是系。軟件設(shè)計(jì)更具靈活,其設(shè)計(jì)將根據(jù)具體功能要求來(lái)實(shí)現(xiàn)。指示顯示,并且使得每個(gè)模塊完成各自功能又相互影響、合作。

  

【正文】 Hz,這樣在軟件仿真的時(shí)候就會(huì)更加接近硬件上的效果,尤其是延時(shí)等。 將 Output 和 listing 項(xiàng)生成的文件放在預(yù)先建立的 Obj 文件夾中,方便以后工程文件管理。 基于 C/C++編程,在這里定義需要的宏還有設(shè)置頭文件的包含路徑, 在 C/C++頁(yè)中進(jìn)行設(shè)置 ? 圖中 1定義宏: STM32FX0X_MD是 STM32F103C8芯片啟動(dòng)文件的規(guī)格,表示芯片文中等密度的; USE_STDPERIPH_DRIVER 是基于庫(kù)編程而需項(xiàng)目管理窗口 編輯窗口 輸出窗口 江西理工大學(xué) 2020 屆本科生畢業(yè)設(shè)計(jì)(論文) 30 要的宏定義,如果但是使用寄存器編程不需要設(shè)置,本文是基于庫(kù)編程,發(fā)揮本芯片的功能; ? 圖中 2 設(shè)置頭文件的包含路徑,使編譯的時(shí)候工程能夠找到編譯的頭文件。 圖 54 工程設(shè)置對(duì)話框 此外 如果 需要調(diào)試則需要對(duì) Debug 頁(yè)進(jìn)行設(shè)置, uVision4 IDE 支持在線 仿真 調(diào)試和 ULINK 在線調(diào)試 。 系統(tǒng)初始化 配置 系統(tǒng)時(shí)鐘初始化 配置 在處理器正常工作前,肯定要做一些初始化工作,其中最主要的一個(gè)就是初始化各種時(shí)鐘。 通過(guò)對(duì) STM32F103 的復(fù)位及時(shí)鐘控制 (RCC)模塊分析之后 ,結(jié)合各種寄存器的設(shè)置,以及 庫(kù) 函數(shù)的使用 可以完成系統(tǒng)時(shí)鐘的各項(xiàng)配置 。 1 2 江西理工大學(xué) 2020 屆本科生畢業(yè)設(shè)計(jì)(論文) 31 表 51 RCC 寄存器 寄存器 描述 CR 時(shí)鐘控制寄存器 CFGR 時(shí)鐘配置寄存器 CIR 時(shí)鐘中斷寄存器 APB2RSTR APB2 外設(shè)復(fù)位寄存器 APB1RSTR APB1 外設(shè)復(fù)位寄存器 AHBENR AHB 外設(shè)時(shí)鐘使能寄存器 APB2ENR APB2 外設(shè)時(shí)鐘使能寄存器 APB1ENR APB1 外設(shè)時(shí)鐘使能寄存器 BDCR 備份域控制寄存器 CSR 控制 /狀態(tài)寄存器 上 表 51 RCC 寄存器 羅列出配置 系統(tǒng)時(shí)鐘的各種寄存器 , 結(jié)合 每個(gè)寄存器的具體配置將完成系統(tǒng)時(shí)鐘的初始化。本課題將使用 使用苦函數(shù)來(lái)完成系統(tǒng)時(shí)鐘的初始化。 此外還需要使用到期模塊的函數(shù) FLASH_PrefetchBufferCmd、FLASH_SetLatency 配置 FLASH 緩沖 功能。 表 52 RCC 庫(kù)函數(shù) 函數(shù)名 描述 RCC_DeInit 將外設(shè) RCC 寄存器重設(shè)為缺省值 RCC_HSEConfig 設(shè)置外部高速晶振( HSE) RCC_WaitForHSEStartUp 等待 HSE 起振 RCC_HCLKConfig 設(shè)置 AHB 時(shí)鐘( HCLK) RCC_PCLK2Config 設(shè)置高速 AHB 時(shí)鐘( PCLK2) RCC_PCLK1Config 設(shè)置低速 AHB 時(shí)鐘( PCLK1) RCC_PLLConfig 設(shè)置 PLL 時(shí)鐘源及倍頻系數(shù) RCC_PLLCmd 使能或者失能 PLL 江西理工大學(xué) 2020 屆本科生畢業(yè)設(shè)計(jì)(論文) 32 RCC_GetFlagStatus 檢查指定的 RCC 標(biāo)志 位設(shè)置與否 RCC_SYSCLKConfig 設(shè)置系統(tǒng)時(shí)鐘( SYSCLK) RCC_GetSYSCLKSource 返回用作系統(tǒng)時(shí)鐘的時(shí)鐘源 系統(tǒng)時(shí)鐘的初始化,需要對(duì) RCC 的 進(jìn)行 配置 , 在使能 PLL 之前,一定要先配好外部時(shí)鐘、 FLASH 預(yù)取指緩存的模式、 FLASH 等待周期數(shù)、 APB1/2 時(shí)名鐘、 PLL 倍頻數(shù)。 配置順序 如下: 1) 設(shè)置 RCC_CR 啟動(dòng) HSE,并確認(rèn) HSE 正常, 2) 設(shè)置 FLASH_ACR 設(shè)置 FLASH 緩沖 3) 設(shè)置 RCC_CFGR 確定 PLL 倍率, PLL 輸入源, HSE 分頻, APB 時(shí)鐘分頻。 4) 設(shè)置 RCC_CR 啟動(dòng) PLL,并確認(rèn) PLL 工作正常。 5) 設(shè)置 RCC_CFGR 使用 PLL 作為系統(tǒng)時(shí)鐘。 6) 在 RCC_AHBENR、 RCC_APB1ENR 和 RCC_APB2ENR 中開(kāi)啟需要使用的模塊 源 代碼 詳見(jiàn)附錄 嵌套向量中斷控制器 配置 NVIC 驅(qū)動(dòng)有多種用途:例如使能或者失能 IRQ 中斷,使能或者失能單獨(dú)的IRQ 通道,改變 IRQ 通道的優(yōu)先級(jí)等等。 CortexM3 處理器和 嵌套向量中斷控制器 NVIC 對(duì)所有優(yōu)先級(jí)進(jìn)行劃分和處理。所有的異常處理均在 Handle 模式下進(jìn)行。當(dāng)出現(xiàn)異常時(shí),處理器的狀態(tài)被自動(dòng)保存到棧中;在中斷服務(wù)子程序結(jié)束之后,又會(huì)自動(dòng)從棧中恢復(fù)處理器的狀態(tài)。獲取中斷向量和狀態(tài)保存是同時(shí)進(jìn)行的,這提高了進(jìn)入中斷處理的效率。CortexM3 處理器支持尾鏈技術(shù),即當(dāng)發(fā)生背靠背中斷時(shí),無(wú)需保存和恢復(fù)狀態(tài),而是繼續(xù)執(zhí)行。 CortexM3 處理器的一下特性,提高了處理異常的效率并降低了時(shí)間的延遲 1) 異常的種類(lèi) CortexM3 處理器將復(fù)位、不可屏蔽中斷、外部中斷、故障都統(tǒng)一為異常,異常有多種類(lèi)型。故障是指指令執(zhí)行時(shí)由于錯(cuò)誤的條件所導(dǎo)致的異常。故障可分為同 步故障和一般故障,同步故障是指當(dāng)指令產(chǎn)生錯(cuò)誤時(shí)就同時(shí)報(bào)告錯(cuò)誤,而異江西理工大學(xué) 2020 屆本科生畢業(yè)設(shè)計(jì)(論文) 33 步故障則是指當(dāng)指令產(chǎn)生錯(cuò)誤時(shí)無(wú)法保證同時(shí)報(bào)告錯(cuò)誤。下表列出了異常的類(lèi)型、位置和優(yōu)先級(jí)。位置是指中斷向量在中斷向量表中的位置,是相對(duì)于中斷限量表開(kāi)始處字的偏移。優(yōu)先級(jí)的值越小,優(yōu)先級(jí)越高。 2) 異常的優(yōu)先級(jí) 在處理器處理異常時(shí),優(yōu)先級(jí)決定了處理器何時(shí)以及如何進(jìn)行異常處理。可以給中斷設(shè)置軟件優(yōu)先級(jí)以及對(duì)其進(jìn)行分組。 優(yōu)先級(jí) NVIC 支持通過(guò)軟件設(shè)置的優(yōu)先級(jí)。通過(guò)寫(xiě)中斷優(yōu)先級(jí)寄存器的 PRI_N 字段可以設(shè)置優(yōu)先級(jí),范圍為0~255。硬件優(yōu)先級(jí)隨著中斷號(hào)的 增加而減小,優(yōu)先級(jí) 0 為最高優(yōu)先級(jí), 255 為最低優(yōu)先級(jí)。 通過(guò)軟件設(shè)置的優(yōu)先級(jí)權(quán)限高于硬件優(yōu)先級(jí)。 3) 其他 SysTick 管理 詳見(jiàn) 外部中斷 /時(shí)間控制器( EXTI)管理詳見(jiàn) 延時(shí)模塊 延時(shí)模塊的功能 延時(shí)模塊 作用是使得 處理器經(jīng)過(guò)指定的延時(shí)后在運(yùn)行 相應(yīng)的 指令, 延時(shí)模板一般用于器件時(shí)序的響應(yīng) ( 一些器件由于工作頻率遠(yuǎn)比 CPU 的頻率低 ,短時(shí)間的電平狀態(tài)不能使得器件響應(yīng) ,故而 使用延時(shí)保持電平的狀態(tài) ) ;還可以 產(chǎn)生一定頻率的脈沖 序列 。 在 STM32F10X 處理器中 內(nèi)置了一個(gè)系統(tǒng)定時(shí)器 , 它擁有獨(dú)立的時(shí)鐘源 , 詳見(jiàn) 圖 24 時(shí)鐘樹(shù) 。 SysTick 主要的作用就是用來(lái)計(jì)時(shí),采用 Systick 計(jì)時(shí)可以獲得準(zhǔn)確的時(shí)鐘間隔,從而獲得精準(zhǔn)頻率的脈沖序列。采用 Systick 定時(shí)器獲得時(shí)間間隔是采用硬件延時(shí)的手段,比較軟件延時(shí)可以知道有一下幾個(gè)特點(diǎn): 1) 硬件延時(shí)占用了硬件資源,但是不占用 CPU 的運(yùn)算資源。硬件延時(shí)有著自己的計(jì)時(shí)系統(tǒng),不會(huì)占用 CPU,只有到達(dá)了設(shè)定的時(shí)間間隔 CPU 才會(huì)響應(yīng)中斷,處理中斷過(guò)程序。而軟件延時(shí)是循環(huán)消耗 CPU 的運(yùn)算時(shí)間,在此間 CPU 不會(huì)處理其他任務(wù)。這對(duì)于多任務(wù)的控制系統(tǒng)是相當(dāng)浪費(fèi)資源的。 2) 硬件延時(shí)準(zhǔn)確, 不用考慮內(nèi)部程序的處理情況,就可以反應(yīng)準(zhǔn)確的時(shí)間間隔響應(yīng);而這一點(diǎn)軟件延時(shí)由于內(nèi)部處理的程序不同,指令周期不同,江西理工大學(xué) 2020 屆本科生畢業(yè)設(shè)計(jì)(論文) 34 產(chǎn)生的時(shí)間間隔也不同。 SysTick 定時(shí)器 SysTick 定時(shí)器被捆綁在 NVIC 中,用于產(chǎn)生 SYSTICK 異常(異常號(hào): 15)。在以前,大多操作系統(tǒng)需要一個(gè)硬件定時(shí)器來(lái)產(chǎn)生操作系統(tǒng)需要的滴答中斷,作為整個(gè)系統(tǒng)的時(shí)基。例如,為多個(gè)任務(wù)許以不同數(shù)目的時(shí)間片,確保沒(méi)有一個(gè)任務(wù)能霸占系統(tǒng);或者把每個(gè)定時(shí)器周期的某個(gè)時(shí)間范圍賜予特定的任務(wù)等,還有操作系統(tǒng)提供的各種定時(shí)功能,都與這個(gè)滴答定時(shí)器有 關(guān)。因此,需要一個(gè)定時(shí)器來(lái)產(chǎn)生周期性的中斷,而且最好還讓用戶程序不能隨意訪問(wèn)它的寄存器,以維持操作系統(tǒng)“心跳”的節(jié)律。 ARM CortexM3 的內(nèi)核中包含一個(gè) SysTick 時(shí)鐘。 SysTick 為一個(gè) 24 位遞減計(jì)數(shù)器, SysTick 設(shè)定初值并使能后,每經(jīng)過(guò) 1 個(gè)系統(tǒng)時(shí)鐘周期,計(jì)數(shù)值就減 1。計(jì)數(shù)到 0 時(shí), SysTick 計(jì)數(shù)器自動(dòng)重裝初值并繼續(xù)計(jì)數(shù),同時(shí)內(nèi)部的 COUNTFLAG 標(biāo)志會(huì)置位,觸發(fā)中斷 (如果中斷使能情況下 )。在 STM32F10X系列處理器 的應(yīng)用中,使用 ARM CortexM3 內(nèi)核的 SysTick 作為定時(shí)時(shí)鐘,設(shè)定每一毫秒產(chǎn)生一次中斷,在中斷處理函數(shù)里對(duì) N 減一,在 Delay(N) 函數(shù)中循環(huán)檢測(cè) N 是否為 0,不為 0 則進(jìn)行循環(huán)等待;若為 0 則關(guān)閉 SysTick 時(shí)鐘,退出函數(shù)。 SysTick 寄存器 STM32F10X 中的 Systick, Systick 部分內(nèi)容屬于 NVIC 控制部分,一共有 4個(gè)寄存器 ,如下表 所示: 表 53 SysTick 寄存器 寄存器 描述 CTRL SysTick 控制和狀態(tài)寄存器 LOAD SysTick 重裝載值寄存器 VAL SysTick 當(dāng)前值寄存器 CALIB SysTick 校準(zhǔn)值寄存器 SysTick 庫(kù)函數(shù) 本課題將采 用 庫(kù)函數(shù)完成 SysTick 定時(shí)模塊, SysTick 配置、中斷子函數(shù)等部分所使用的庫(kù)函數(shù)將如下表所示: 表 54 SysTick 庫(kù)函數(shù) 江西理工大學(xué) 2020 屆本科生畢業(yè)設(shè)計(jì)(論文) 35 函數(shù)名 描述 SysTick_CLKSourceConfig 設(shè)置 SysTick 時(shí)鐘源 SysTick_SetReload 設(shè)置 SysTick 重裝載值 SysTick_CounterCmd 使能或者失能 SysTick 計(jì)數(shù)器 SysTick_ITConfig 使能或者失能 SysTick 中斷 SysTick_GetCounter 獲取 SysTick 計(jì)數(shù)器的值 SysTick_GetFlagStatus 檢查指定的 SysTick 標(biāo)志位設(shè)置與否 配置 SysTick 接著開(kāi)始配置 SysTick,實(shí)際上配置 SysTick 的嚴(yán)格過(guò)程如下: 1) 調(diào)用 SysTick_CounterCmd() 失能 SysTick 計(jì)數(shù)器 2) 調(diào)用 SysTick_ITConfig() 失能 SysTick 中斷 3) 調(diào)用 SysTick_CLKSourceConfig() 設(shè)置 SysTick 時(shí)鐘源。 4) 調(diào)用 SysTick_SetReload() 設(shè)置 SysTick 重裝載值。 5) 調(diào)用 SysTick_ITConfig() 使能 SysTick 中斷 6) 調(diào)用 SysTick_CounterCmd() 開(kāi)啟 SysTick 計(jì)數(shù)器 這里一定要注意,必須使得當(dāng)前寄存器的值 VAL等于 0!即 SysTickVAL = (0x00)。只有當(dāng) VAL 值為 0 時(shí),計(jì)數(shù)器自動(dòng)重載 RELOAD。 源 代碼詳見(jiàn)附錄 步進(jìn)電機(jī) 工作模塊 步進(jìn)電機(jī) 步進(jìn) 相序 表 根據(jù)輸入步進(jìn)電機(jī)繞組的電脈沖的相序不同, 單極性步進(jìn)電機(jī)可以來(lái)用三種步進(jìn)方式:?jiǎn)闻?、雙拍、半拍方式。 本課題 采用半拍方式。其工作方式通電換相的相序 為 A – AB – B – BC – C – CD – D – DA,共 8 個(gè)狀態(tài)。 具體工作原理詳見(jiàn) 節(jié) 。 如下為步進(jìn)電機(jī)正轉(zhuǎn)和反轉(zhuǎn)的相序表 : //步進(jìn)電機(jī)正轉(zhuǎn)相序表 static u8 RUN_zh[8] = {0x0e,0x0c,0x0d,0x09,0x0b,0x03,0x07,0x06}。 江西理工大學(xué) 2020 屆本科生畢業(yè)設(shè)計(jì)(論文) 36 //步進(jìn)電機(jī)反轉(zhuǎn)相序表 static u8 RUN_fa[8] = {0x0e,0x06,0x07,0x03,0x0b,0x09,0x0d,0x0c}。 如果 需要 使用單拍或雙拍的方式驅(qū)動(dòng) 步進(jìn)電機(jī)工作, 只需根據(jù)相序狀態(tài)轉(zhuǎn)換表示出相序表即可 。 步進(jìn)電機(jī) 控制 步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè) 脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度(即步進(jìn)角)??梢酝ㄟ^(guò)控制脈沖個(gè)數(shù)來(lái)控制角位移量,從而達(dá)到準(zhǔn)確定位的 目的 ;同時(shí)可以通過(guò)控制脈沖頻率來(lái)控制電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,從而達(dá)到調(diào)速的目的。 結(jié)合步進(jìn)電機(jī)的特性, 本課題對(duì) 步進(jìn)電機(jī)的控制包括 : 正轉(zhuǎn)、反轉(zhuǎn)、加速、減速和制動(dòng) 。 以下為步進(jìn)電機(jī)各種控制函數(shù): void turn_zh(void)。 void turn_fa(void)。 void turn_faster(void)。 void turn_lower(void)。 void turn_stop(void)。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1