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

正文內(nèi)容

步進電機控制系統(tǒng)設(shè)計畢業(yè)論文-閱讀頁

2024-10-27 22:53本頁面
  

【正文】 系統(tǒng)設(shè)計的主要 設(shè)計 內(nèi)容,在圖中同時也簡要說明了各個模塊的 關(guān)聯(lián) 關(guān)系 。 圖 41 硬件系統(tǒng)設(shè)計框圖 本課題 采用 為 處理器 的是 意法半導(dǎo)體 (STMicroelectronics)公司 設(shè)計 并 生產(chǎn)的STM32F103C8 處理器 專門 為 要求高性能、低成本、低功耗 、基于控制類 的嵌入式應(yīng)用 系統(tǒng) 而 設(shè)計 。 詳細參考 第二章 微控制器 。 本微處理器模塊 脈沖發(fā)生模塊 電流驅(qū)動模塊 LED 顯示模塊 步進電機 按鍵模塊 江西理工大學(xué) 2020 屆本科生畢業(yè)設(shè)計(論文) 19 課題 將 采用 GPIOA 的 四個端口 GPIOA_Pin_0, GPIOA_Pin_1, GPIOA_Pin_2,GPIOA_Pin_3 分別對步進電機的 A, B, C, D 四個相序 輸入脈沖 序列 。 圖 42 脈沖發(fā)生模塊接口圖 電流驅(qū)動模塊 步進電動機 雖然是一種數(shù)控元器件 , 易于與數(shù)字處理器結(jié)合開發(fā),但是由于低電壓和較小的電流不能 驅(qū)動其正常工作,而且 步進電機也 不能直接 接到工頻交流或直流電源上工作,而必須使用專用的步進電動機驅(qū)動器。 本 課題 采用的驅(qū)動芯片是 ULN2020 達林頓芯片。 ULN2020 達林頓芯片詳細參考 節(jié) ULN2020 達林頓陣列驅(qū)動芯片 。本課題使用其中四個輸入端口 ,用來驅(qū)動步進電機工作。 輸入信號通過 ULN2020 達林頓芯片 后信號的電流、電壓將遠高遠直接從處理器端口輸出的信號,這樣才能 用于驅(qū)動步進電機的正常工作。 江西理工大學(xué) 2020 屆本科生畢業(yè)設(shè)計(論文) 20 圖 43 電流驅(qū)動模塊 電路連接圖 步進電機 步進電機是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機構(gòu)??梢酝ㄟ^控制脈沖個數(shù)來控制角位移量,從而達到準確定位的 目的 ;同時可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速的目的。兩個線圈的極性相反,卷繞在同一鐵芯上,具有同一個中間抽頭。單極性步進電機的引線有 5 或 6 根。如果步進電機的引線是 6 根,那么它是多段式單極性步進電機有兩個繞組,每個繞組分別有一個中間抽頭引線。 本課題 采用半拍方式。 這 8 個脈沖序列 將直接由 具有 高壓大電流 的 電流驅(qū)動模塊 ULN2020達林頓芯片 輸入 。 如果GPIOA 端 口輸出的控制信號中,用“ 0”和“ l”分別代表繞組通電和斷電,則可用 8個控制字來對應(yīng)這 8個狀態(tài)。程序可根據(jù)這個原理來設(shè)計。 江西理工大學(xué) 2020 屆本科生畢業(yè)設(shè)計(論文) 21 圖 44 步進電機電路圖 LED 顯示模 塊 發(fā)光二極管 LED 是半導(dǎo)體二極管的一種,可以把電能轉(zhuǎn)化成光能, 為發(fā)光二極管與普通二極管一樣是由一個 PN 結(jié)組成,也具有單向?qū)щ娦?。 LED 驅(qū)動電路除了要滿足安全要求外,另外的基本功能應(yīng)有兩個方面,一是盡可能保持恒流特性,尤其在電源電壓發(fā)生177。 10%的范圍內(nèi)變動。 如下圖 45 LED 電路圖 中有 8 路發(fā)光二極管, 每一個發(fā)光二極管接在獨立的端口上, 可以獨立的工作。 江西理工大學(xué) 2020 屆本科生畢業(yè)設(shè)計(論文) 22 圖 45 LED 電路圖 本課題將使用 LED 燈指示步進電機的工作 狀態(tài), 步進電機正轉(zhuǎn)與反轉(zhuǎn)將使用不同的 LED 指示;同時 LED 閃爍的速率將表示步進電機的轉(zhuǎn)速, LED 閃爍的速率越快表明步進電機的轉(zhuǎn)速也越快 ,這樣非常直接說明 步進電機工作狀態(tài),給用戶方便的交互平臺。 按鍵 模塊 中每一個按鍵都是一個常開的開關(guān)電路,當(dāng)所設(shè)置的功能鍵或數(shù)字鍵按下時,則處于閉合狀態(tài),對于一組鍵或一個鍵盤,需要通過接口電路與單片機相連,以便把鍵的開關(guān)狀態(tài)通知單片機。一般有獨立按鍵和矩陣鍵盤兩種接口方式。每個獨立式按鍵單獨占有一根 GPIO 口線,每根 GPIO 口線的工作狀態(tài)不會影響其他 GPIO 口線的工作狀態(tài),這是一個最簡單易懂的按鍵結(jié)構(gòu) 。 按鍵 為 共陰 極接入電路,如果 檢測到 相應(yīng)的端口 為低電平, 就表明按鍵被按下, 也即在 檢測 按鍵 是否按下 只需 掃描 相應(yīng)接入處理器接口的電平輸 入 即可。 將步進電機的工作狀態(tài)控制賦予按鍵功能上, 極大的提高了人機的交互平臺。 下面將簡介系統(tǒng) 功能模塊的動作說明 。 指示正轉(zhuǎn)的 LED 根據(jù) 相應(yīng)的轉(zhuǎn)速閃爍,指示反轉(zhuǎn)的 LED 熄滅。 江西理工大學(xué) 2020 屆本科生畢業(yè)設(shè)計(論文) 24 3) 加速按鍵按下時,處理器接收到 加速 信號,運行 加速 程序, 步進電機轉(zhuǎn)動 方向不改變 加速轉(zhuǎn)動直至極限頻率, 指示 LED 不改變 閃爍 頻率加快 。 4) 制動按鍵按下時,處理器接收到制動信號, 運行制動程序 , 步進電機 在任何狀態(tài)下都立刻禁止。 理解功能模塊的動作,還需要結(jié)合軟件系統(tǒng)的設(shè)計 ,接下來第五章將介紹軟件系統(tǒng)設(shè)計。主程序主要完成硬件初始化、子程序調(diào)用等功能。為了節(jié)省 處理器 資源,輸出精準的脈沖,合理利用處理器 SYSTICK定時器控制脈沖的頻率,改變轉(zhuǎn)速。 開始 初始化時鐘 NVIC 管理 LED 顯示 按鍵 是否 按下 判斷是哪個按鍵按電機正轉(zhuǎn) 鍵 1 電機反轉(zhuǎn) 鍵 1 電機加速 鍵 3 鍵 4 是 否 江西理工大學(xué) 2020 屆本科生畢業(yè)設(shè)計(論文) 26 圖 51 程序流程圖 本課題軟件系統(tǒng)設(shè)計 將 采用的是 32 位基于 ARM 微控制器 STM32F101xx與STM32F103xx 的固件函數(shù)庫 。該函數(shù)庫還包括每一個外設(shè)的驅(qū)動描述和應(yīng)用實例。因此,使用本固態(tài)函數(shù)庫可以大大減少用戶的程序編寫時間,進而降低開發(fā)成本。每個器件的開發(fā)都由一個通用 API (application programming interface 應(yīng)用編程界面 )驅(qū)動, API 對該驅(qū)動程序的結(jié)構(gòu),函數(shù)和參數(shù)名稱都進行了標準化。對大多數(shù)應(yīng)用程序來說,用戶可以直接使用之,對于那些在代碼大小和執(zhí)行速度方面有嚴格要求的應(yīng)用程序,該固件庫驅(qū)動程序可以作為如何設(shè)置外設(shè)的一份參考資料,根據(jù)實際需求對其進行調(diào)整。 ? 固態(tài)函數(shù)庫概 述(包的內(nèi)容,庫的架構(gòu)),安裝指南,庫使用實例。 STM32F101xx 和 STM32F103xx 在整個文檔中被寫作 STM32F101x。開發(fā)工具都可用于 STM32 開發(fā)。本章將先對 STM32 常用的開發(fā)工具 Keil MDK 進行簡單介紹,并構(gòu)建工程模板。 Keil提供了包括 C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境( uVision)將這些功能組合在一起。因此很多開發(fā) ARM應(yīng)用的工程師,都對它十分喜歡。 2. 編寫 C 或者匯編源文件。 4. 修改源程序中的錯誤。 如下圖 52 Keil 軟件開發(fā)周期圖 所示 , 這種結(jié)構(gòu)圖完整描述了 Keil 開發(fā)軟件的整個過程。 uVision4 集成了 C 語言編輯器,宏編譯,鏈接 /定位,以及 HEX 文件產(chǎn)生器。首先用鼠標右鍵 (注意用右鍵 )點擊左邊工程窗口的“ Target 1”,會出現(xiàn)一個菜單,選擇“ Options for Target 39。”(也可以通過點擊工程窗口的 Target 1”,然后使用菜單“ Project” “ Options for Target 39?!保闯霈F(xiàn)工程配置的對話框,如下圖所示: 在 Device 中選擇型號為 STM32F103C8 的芯片,這樣 KEIL 就會在編譯時采用正確的啟動文件; 在 Target 中設(shè)置晶振時鐘為 8MHz,這樣在軟件仿真的時候就會更加接近硬件上的效果,尤其是延時等。 基于 C/C++編程,在這里定義需要的宏還有設(shè)置頭文件的包含路徑, 在 C/C++頁中進行設(shè)置 ? 圖中 1定義宏: STM32FX0X_MD是 STM32F103C8芯片啟動文件的規(guī)格,表示芯片文中等密度的; USE_STDPERIPH_DRIVER 是基于庫編程而需項目管理窗口 編輯窗口 輸出窗口 江西理工大學(xué) 2020 屆本科生畢業(yè)設(shè)計(論文) 30 要的宏定義,如果但是使用寄存器編程不需要設(shè)置,本文是基于庫編程,發(fā)揮本芯片的功能; ? 圖中 2 設(shè)置頭文件的包含路徑,使編譯的時候工程能夠找到編譯的頭文件。 系統(tǒng)初始化 配置 系統(tǒng)時鐘初始化 配置 在處理器正常工作前,肯定要做一些初始化工作,其中最主要的一個就是初始化各種時鐘。 1 2 江西理工大學(xué) 2020 屆本科生畢業(yè)設(shè)計(論文) 31 表 51 RCC 寄存器 寄存器 描述 CR 時鐘控制寄存器 CFGR 時鐘配置寄存器 CIR 時鐘中斷寄存器 APB2RSTR APB2 外設(shè)復(fù)位寄存器 APB1RSTR APB1 外設(shè)復(fù)位寄存器 AHBENR AHB 外設(shè)時鐘使能寄存器 APB2ENR APB2 外設(shè)時鐘使能寄存器 APB1ENR APB1 外設(shè)時鐘使能寄存器 BDCR 備份域控制寄存器 CSR 控制 /狀態(tài)寄存器 上 表 51 RCC 寄存器 羅列出配置 系統(tǒng)時鐘的各種寄存器 , 結(jié)合 每個寄存器的具體配置將完成系統(tǒng)時鐘的初始化。 此外還需要使用到期模塊的函數(shù) FLASH_PrefetchBufferCmd、FLASH_SetLatency 配置 FLASH 緩沖 功能。 配置順序 如下: 1) 設(shè)置 RCC_CR 啟動 HSE,并確認 HSE 正常, 2) 設(shè)置 FLASH_ACR 設(shè)置 FLASH 緩沖 3) 設(shè)置 RCC_CFGR 確定 PLL 倍率, PLL 輸入源, HSE 分頻, APB 時鐘分頻。 5) 設(shè)置 RCC_CFGR 使用 PLL 作為系統(tǒng)時鐘。 CortexM3 處理器和 嵌套向量中斷控制器 NVIC 對所有優(yōu)先級進行劃分和處理。當(dāng)出現(xiàn)異常時,處理器的狀態(tài)被自動保存到棧中;在中斷服務(wù)子程序結(jié)束之后,又會自動從棧中恢復(fù)處理器的狀態(tài)。CortexM3 處理器支持尾鏈技術(shù),即當(dāng)發(fā)生背靠背中斷時,無需保存和恢復(fù)狀態(tài),而是繼續(xù)執(zhí)行。故障是指指令執(zhí)行時由于錯誤的條件所導(dǎo)致的異常。下表列出了異常的類型、位置和優(yōu)先級。優(yōu)先級的值越小,優(yōu)先級越高??梢越o中斷設(shè)置軟件優(yōu)先級以及對其進行分組。通過寫中斷優(yōu)先級寄存器的 PRI_N 字段可以設(shè)置優(yōu)先級,范圍為0~255。 通過軟件設(shè)置的優(yōu)先級權(quán)限高于硬件優(yōu)先級。 在 STM32F10X 處理器中 內(nèi)置了一個系統(tǒng)定時器 , 它擁有獨立的時鐘源 , 詳見 圖 24 時鐘樹 。采用 Systick 定時器獲得時間間隔是采用硬件延時的手段,比較軟件延時可以知道有一下幾個特點: 1) 硬件延時占用了硬件資源,但是不占用 CPU 的運算資源。而軟件延時是循環(huán)消耗 CPU 的運算時間,在此間 CPU 不會處理其他任務(wù)。 2) 硬件延時準確, 不用考慮內(nèi)部程序的處理情況,就可以反應(yīng)準確的時間間隔響應(yīng);而這一點軟件延時由于內(nèi)部處理的程序不同,指令周期不同,江西理工大學(xué) 2020 屆本科生畢業(yè)設(shè)計(論文) 34 產(chǎn)生的時間間隔也不同。在以前,大多操作系統(tǒng)需要一個硬件定時器來產(chǎn)生操作系統(tǒng)需要的滴答中斷,作為整個系統(tǒng)的時基。因此,需要一個定時器來產(chǎn)生周期性的中斷,而且最好還讓用戶程序不能隨意訪問它的寄存器,以維持操作系統(tǒng)“心跳”的節(jié)律。 SysTick 為一個 24 位遞減計數(shù)器, SysTick 設(shè)定初值并使能后,每經(jīng)過 1 個系統(tǒng)時鐘周期,計數(shù)值就減 1。在 STM32F10X系列處理器 的應(yīng)用中,使用 ARM CortexM3 內(nèi)核的 SysTick 作為定時時鐘,設(shè)定每一毫秒產(chǎn)生一次中斷,在中斷處理函數(shù)里對 N 減一,在 Delay(N) 函數(shù)中循環(huán)檢測 N 是否為 0,不為 0 則進行循環(huán)等待;若為 0 則關(guān)閉 SysTick 時鐘,退出函數(shù)。 4) 調(diào)用 SysTick_SetReload() 設(shè)置 SysTick 重裝載值。只有當(dāng) VAL 值為 0 時,計數(shù)器自動重載 RELOAD。 本課題 采用半拍方式。 具體工作原理詳見 節(jié) 。 江西理工大學(xué) 2020 屆本科生畢業(yè)設(shè)計(論文) 36 //步進電機反轉(zhuǎn)相序表 static u8 RUN_fa[8] = {0x0e,0x06,0x07,0x03,0x0b,0x09,0x0d,0x0c}。 步進電機 控制 步進電機是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機構(gòu)??梢酝ㄟ^控制脈沖個數(shù)來控制角位移量,從而達到準確定位的 目的 ;同時可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速的目的。 以下為步進電機各種控制函數(shù): void turn_zh(void)。 void turn_faster(void)。 void turn_stop(voi
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1