




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 本科畢業設計單片機PID控制直流電機轉速 學生姓名: 學生學號: 院(系): 電氣信息工程學院 年級專業: 電子信息工程 指導教師: 助理指導教師: 二一五年五月摘 要在運動控制系統中,對電機轉速的控制有著十分重要的作用,其控制的手段,方式與算法很多。模擬PID控制是起源比較早的控制策略之一,經過長期的發展,形成了典型的結構,參數整定相對方便,并且能滿足一般的控制場景;但不足的是在模擬PID控制系統中,參數一旦整定,在整個控制過程中都是不能改變的,而在實際中,由于現場的系統參數、速度、溫度等環境時刻改變,使系統難以到最佳的控制效果,故采用模擬PID控制較難獲得令人滿意的控制效果。隨著計算機技
2、術與智能控制理論的發展,數字PID技術漸漸發展起來,它不僅能夠實現模擬PID所完成的控制任務,而且具備控制算法靈活、可靠性高等優點,應用面越來越廣。本設計以上面提到的數字PID為基本控制算法,以STM32F103C8單片機為控制核心,產生占空比受數字PID算法控制的PWM脈沖實現對直流電機轉速的控制。同時利用光電傳感器將電機速度轉換成脈沖頻率反饋到單片機中,實現轉速閉環控制,達到轉速無靜差調節的目的。在系統中采用OLED顯示屏作為顯示部件,通過4×4矩陣鍵盤設定轉速,啟動,啟動后可以通過顯示部件了解電機當前的轉速,當前誤差。該系統控制精度高,具有很強的抗干擾能力。關鍵詞 PID,PW
3、M脈沖,占空比,無靜差調節ABSTRACTIn the motion control system, the motor speed control has a very important role in many of its control means, methods and algorithms. Analog PID control is the origin of one of the control strategies earlier, after a long-term development, the formation of a typical configuratio
4、n, parameter setting is relatively easy, and can meet the general control of the scene; but the downside is that the analog PID control systems, parameter once tuning, the entire control process is not changed, but in practice, due to system parameters scene, speed, temperature and other environment
5、al changes in time, the system is difficult to control the best results, it is difficult to obtain using analog PID control satisfactory control effect. With the computer technology and intelligent control theory, digital PID technology gradually developed, it can not only realize the analog PID con
6、trol tasks completed, and includes a control algorithm flexible, high reliability, application surface and wider.The design of digital PID control the above-mentioned basic algorithm to STM32F103C8 microcontroller core, the duty cycle by a digital PID algorithm generates the PWM pulse control to ach
7、ieve DC motor speed control. At the same time the use of photoelectric sensors to convert the motor speed to pulse frequency back to the SCM, closed-loop speed control, to speed static error adjustment purposes. OLED display using a display unit in the system, by 4 × 4 matrix keyboard set the s
8、peed, start by displaying part of the current understanding of the motor speed, the current error after starting. The system control and high precision, has a strong anti-jamming capability.Key words PID, PWM impulse, dutyfactor, astatic modulation 目 錄摘 要IABSTRACTII1 緒論11.1課題背景11.2國內外研究現狀和水平11.3 PID
9、控制器的發展趨勢22 設計方案與論證32.1設計要求和技術指標32.1.1基本功能32.1.2技術指標32.2 系統設計方案32.3 控制器模塊設計方案42.4 電機驅動模塊設計方案42.5 速度采集模塊設計方案52.6 顯示模塊設計方案52.7 鍵盤模塊設計方案62.8 電源模塊設計方案62.9 確定方案73 硬件電路設計83.1 STM32F103C8最小系統83.1.1 STM32F103xx簡介83.1.2 STM32F103XX管腳圖與原理圖93.2 4x4矩陣鍵盤103.3 L298N電機驅動模塊103.4 光電編碼器113.5 OLED顯示屏123.5.1 OLED簡介123.5
10、.2 四線串行信號線選擇及時序圖123.5.3 OLED驅動芯片SSD1306134 軟件設計144.1 PID簡介及算法實現144.1.1 PID簡介144.1.2 PID算法實現144.2 主函數流程圖154.3 定時中斷速度采集164.3.1 STM32F103xx通用定時器簡介164.3.2 速度采集原理及定時器流程圖174.4 外部中斷及中斷處理流程圖174.4.1 外部中斷/事件控制器(EXTI)174.4.2 鍵盤中斷處理流程圖185 系統測試結果195.1 系統調試數據195.2 系統效果圖20結論21參考文獻22附錄A23附錄B42致 謝461 緒論1.1課題背景21世紀,科
11、學技術日新月異,顯然,伴隨著科技的飛速發展,控制技術也得到了快速的發展,現代控制設備的性能和結構都發生了翻天覆地的變化。我們已進入高速發展的信息時代,控制技術成為當今科技的主流之一,廣泛深入到研究和應用工程等各個領域。目前,工業的自動化水平已成為度量各個行業現代化水平的一個十分重要的標志。然而,自PID控制器問世以來已有70多年歷史,控制理論的發展也經歷了古典、現代和智能控制理論三個階段。卻沒有一種控制算法比PID調節規律更有效、更方便的了。現在大多數的調節器基本都源自PID。為什么PID應用如此廣泛、又長久不衰? 原因之一是PID解決了自動控制理論所需要解決的最基本問題,既系統的快速性、準確
12、性和穩定性。通過調節參數,在系統穩定的前提下,滿足系統的抗擾和負載能力,同時,在PID中加入了積分項,使之成為一階或多階的系統,而這樣的系統階躍響應穩態誤差為零。另一個原因則是其結構簡單、工作可靠、調整方便。因此,PID控制技術也成為了工業控制的主要技術之一。隨著我國國力日益強盛和全球經濟的快速發展,PID控制技術已經滲透到了鐵道運輸、鋼鐵生產、汽車制造、航天航空、物流配送、醫療、飲料生產等各個領域。一大批機器設備制造商正處于蓬勃發展階段,除滿足本土市場龐大的機器設備需求外,走向國際市場,參與國際競爭也成為現實需求。但是由于中國科技相對落后,為此,我們需要更進一步的學習、掌握與應用先進的控制技
13、術與解決方案,以提升設備性能、檔次與市場競爭力。1.2國內外研究現狀和水平比例 - 積分 - 微分(PID)控制器被廣泛應用于化工,冶金,機械,輕工等熱工和工業過程控制系統中,是最常見的一種控制調節器。PID有幾個重要的功能:提供反饋控制,通過積分作用能消除穩態誤差,通過衍生訴訟預測未來。因此,PID控制器是特別適合的動力性能和控制性能過程中是良性的要求不高的場合。PID控制是一種分布式控制系統,該系統還包括在一些特殊用途的控制系統的一個重要組成部分。在工業過程控制,95以上的控制回路是PID結構的,而且大多數是實際PI控制回路。PID控制器許多有用的功能由于商業秘密并沒有被廣泛傳播,比如模式
14、切換和防止卷起裝置等技術便是典型例子。現場總線的出現則是另一個重要的發展,這將對分布式系統的控制結構產生深遠的影響。PID控制器的現場總線概念的一個重要組成部分,也可能與現場總線的發展被標準化。國際上有一些研究文章陳述了當前工業控制的狀況,如1989年,日本電子測量儀器協會對過程控制系統制造在國際上做的調查報告。該報告顯示,90以上的控制環路的是PID結構。在加拿大造紙廠額外的統計報告顯示,一個典型的造紙廠一般有2000多控制回路,其中PI控制在97以上,而只有20的控制回路是相當令人滿意的。究其原因一般情況差控制回路性能參數設定不當的30,30是閥門的問題。控制器的性能差的另外20有多種原因
15、,如傳感器的問題,不正確的采樣頻率濾波器和其他選項和問題。Ender也得到類似的統計:該過程已被安裝在控制器處于手動模式30;循環的20調整使用廠家的參數值預置控制器制造商的參數;控制回路閥門和傳感器的30,由于導致控制性能較差的問題。目前,自整定PID控制器可分為兩大類:基于規則的方法和基于模型的方法。在國際上已經出現了一些商業產品,如Foxboro EXACT (760/761),它使用加上啟發式規則調整參數的階躍響應分析和模式識別技術;Alfa Laval Automation ECA400控制器,它采用繼電器反饋和調整基于模型的方法;HoneywellUDC6000控制器,它采用階躍響
16、應分析和規則庫對參數進行調整;Yokogawa SLPC-181/281,它使用基于模型的階躍響應分析和調優方法。還有一些自我調整的軟件包,如智能調諧器,這是Fisher-Rosemount公司用在一個封裝分布式控制系統; Looptune,這是Honeywell公司的DCS系統TDC3000的改裝套件, DCS調諧器,它是ABB主系統控制器調整一個包。1.3 PID控制器的發展趨勢 伴隨著社會的發展,人們追求生活的舒適性將越來越高,對其性能提出了越來越高的要求。PID控制技術作為一項具有發展前景和影響力的新技術,正越來越受到國內外各行業的高度重視。然而,隨著科技的進步,借助于數字和網絡技術的
17、智能控制已經深入到了運動控制系統的方方面面,各種各樣的新技術的應用也顯著提高了運動控制系統的性能,因此,交流化、高頻化、網絡化、自適應化和最優化成為PID控制技術今后的發展方向。2 設計方案與論證2.1設計要求和技術指標 2.1.1基本功能按鍵設定轉速,重設。實時顯示實際轉速,設定轉速,誤差值。PWM轉速閉環控制。 2.1.2技術指標超調量8。調節時間4s。轉速誤差1。2.2 系統設計方案根據系統設計的任務和要求,設計系統框圖如圖2.1系統方案圖所示。圖中控制器模塊為系統的核心部件,鍵盤和顯示器用來實現人機交互功能,其中通過鍵盤將需要的數據輸入到單片機中,并且通過控制器顯示到顯示器上。在運行過
18、程中控制器產生受PID調節的PWM脈沖并送到電機驅動電路中,經過驅動模塊控制改變輸出電壓來控制直流電機轉速,同時利用測速模塊將當前轉速反饋到控制器中,控制器經過PID運算后改變PWM脈沖的占空比,實現電機轉速實時控制的目的。圖2.1 系統方案圖2.3 控制器模塊設計方案根據設計任務,控制器主要用于產生占空比受數字PID算法控制的PWM脈沖,并對電機當前速度進行采集處理,根據算法得出當前所需輸出的占空比脈沖。對于控制器的選擇有以下三種方案。方案一:采用FPGA(現場可編輯門列陣)作為系統的核心控制器,FPGA可以實現各種復雜的邏輯功能,模塊大,密度高,它可以將所有器件都集成在一塊芯片里,這樣既減
19、小了體積,又提高了系統穩定性,并且還可以用EDA軟件進行仿真、調試,便于對功能測試與控制。由于FPGA輸入輸出采用并行的方式,系統的處理速度得到很到的提高,對于大規模實時系統的控制核心是一個非常適合的選擇。FPGA通過輸入模塊把參數輸入,然后通過程序控制PWM脈沖的占空比,但是由于本次設計對數據處理實時性要求并不是很高,使得FPGA高速實時處理的優勢不能得到充分發揮,并且由于其集成度高,使其成本偏高,而且芯片的引腳很多,導致硬件電路板的布線相對復雜,從而加大了電路設計與制作的工作量。方案二:采用AT89C52作為系統控制的方案。AT89C52單片機軟件編程靈活、自由度大。相對于FPGA來說,它
20、的芯片引腳少,在硬件很容易實現。并且它還具有功耗低、體積小、技術成熟和成本低等優點,在各個領域中應用廣泛。雖然AT89C52單片機有這么多優點,可是對于此系統,不能硬件產生PWM波,而軟件產生需要借助定時器中斷,太消耗性能,并且還不能產生較高的頻率,如若采用此處理器,必定達不到理想的效果。方案三:采用STM32F103C8作為此系統控制核心,STM32F1系列屬于32位ARM微控制器,該系列芯片是意法半導體(ST)公司出品,其內核是Cortex-M3。最高72MHz工作頻率,運行速度快,硬件資源豐富。綜合上述三種方案比較,采用STM32F103C8作為控制器處理輸入的數據并控制電機運動及時精確
21、,完全滿足設計要求。因此在本次設計選用方案三。2.4 電機驅動模塊設計方案本次設計的主要目的是控制電機的轉速,因此電機驅動模塊是必不可少,其方案有一下兩種。方案一:采用MOS管組合電路構成驅動電路,由于在驅動電路中采用了大量的晶體管相互連接,使得電路復雜、抗干擾能力差、可靠性下降,采用此方案,不能改變電機轉動方向。方案二:采用專用的電機驅動芯片,如L298N電機驅動芯片,由于它內部已經考慮到了電路的抗干擾能力,安全以及可靠行,設計者不需要對硬件電路設計考慮很多,只需考慮到芯片的硬件連接、驅動能力等問題,可將重點放在算法實現和軟件設計中,大大的提高了工作效率。并且還能使設計電路簡單、抗干擾能力強
22、、可靠性好。基于上述理論分析和實際情況,電機驅動模塊選用方案二。2.5 速度采集模塊設計方案本系統是一閉環控制系統,在調節過程中需要將設定與當前實際轉速進行比較,速度采集模塊就是為完成這樣功能而設計的,其設計方案以下三種:方案一:使用霍爾傳感器。該器件內部組成使用的是三片霍爾金屬板。當磁鐵與金屬板正對時,會產生霍爾效應,促使金屬板橫向導通,故可以把磁片安裝在電機上和在固定軸上安裝霍爾集成片,通過脈沖計數的方式來獲取電機的轉速,從而實現對電機速度的檢測。方案二:采用光電傳感器。其檢測原理為:相互對射安裝接受器和發射器,使得發射器的光能直接對準接受器,當被測物遮擋光束時,傳感器的輸出就會產生變化,
23、從而表示被測物體被檢測到,通過脈沖計數的方式來獲取電機的轉速,從而實現對電機速度的檢測。方案三:使用測速發電機對電機轉速進行檢測。該方案的實現原理是將測速發電機固定在直流電機的軸上,當直流電機轉動時,帶動測速電機的軸一起轉動,因此測速發電機會產生大小隨直流電機轉速大小變化的感應電動勢,因此精度比較高,但由于該方案的安裝比較復雜、成本也比較高,在本次設計沒有采用此方案。以上三種方案中,第三種方案不宜采用,第一種和第二種方案的測速原理基本相同都是將電機轉速轉換為電脈沖的頻率進行測量,但考慮到市場中的霍爾元件比較難買,而且成本也比較高,所以綜合考慮在設計中選用第二種方案進行設計。2.6 顯示模塊設計
24、方案在電機轉速控制系統中,系統需要對參數、工作方式以及電機當前運行狀態的顯示,因此在整個系統中必須設計一個顯示模塊,考慮有三種方案: 方案一:使用七段數碼管(LED)顯示。雖然數碼管具有亮度高、工作電壓低、易于集成、驅動簡單、耐沖擊且性能穩定等特點,并且它可采用BCD編碼顯示數字,編程容易,硬件電路調試簡單,但是用于顯示,太消耗系統性能,而且不能顯示文字等更多的提示信息,所以不宜選用。方案二:采用1602LCD液晶顯示器,該顯示器控制方法簡單,功率低、硬件電路簡單、可對字符進行顯示。但是由于并行傳輸數據,需要引腳較多,且顯示效果難看,也不支持漢字,人機交互體驗較差。方案三:采用OLED顯示屏,
25、該顯示屏具備自發光,不需背光源、對比度高、厚度薄、視角廣、反應速度快、可用于撓曲性面板、使用溫度范圍廣、構造及制程較簡單,驅動電壓低、能耗低等優異之特性,被認為是下一代的平面顯示器新興應用技術。最關鍵是還可以選擇并行或者串行模式,串行模式可節約I/O口資源。基于三種的方案的對比,毫無疑問,方案三是最適宜的選擇。2.7 鍵盤模塊設計方案 在此系統中,系統需要通過按鍵進行設定值的輸入、工作方式的設定,以及電機起停的控制,因此鍵盤在整個系統中是不可缺少的一部分,考慮有兩種方案可選擇: 方案一:獨立鍵盤,這種鍵盤硬件和軟件實現簡單,并且各按鍵之間互相獨立,每個按鍵都有一端接地或者接高電平,另一端接到輸
26、入線上。按鍵的工作狀態不會直接影響到其它按鍵的輸入狀態。但是由于獨立鍵盤的每一個按鍵都需要占用一條輸入線,因此在按鍵數量比較多的時候,會浪費較多GPIO口,故此鍵盤僅僅適用于按鍵較少的場合。 方案二:采用4x4矩陣鍵盤,這種鍵盤的特點是列線、行線分別接輸出線、輸入線。按鍵設置在行、列線的交叉點上,利用這種矩陣結構只需4根行線和4根列線,因此在需要按鍵數量較多的場合適合用此鍵盤。但此種鍵盤的軟件結構較為復雜。 根據上面兩種方案的論述,由于本次設計的系統硬件連接比較復雜,所以采用方案二矩陣式鍵盤進行設計。2.8 電源模塊設計方案 電源是任何系統能否運行的能量來源,無論那種電力系統電源模塊都是不可或
27、缺的,對于該模塊考慮一下三種方案。 方案一:通過降壓芯片(如7812、7805等)對整流后的電壓進行降壓、穩壓處理,此方案可靠性、安全性高,對能源的利用率高,電路簡單容易實現。 方案二:通過電阻分壓的形式將整流后的電壓分別降為控制芯片和電機運行所需的電壓,此種方案原理和硬件電路連接都比較簡單,但對能量的損耗大,在實際應用系統同一般不宜采用。 方案三:直接用USB連接電腦或者手機充電器。 根據系統的具體要求,采用方案三作為系統的供電模塊即可。并且方便可靠。 2.9 確定方案 經過上述的分析與論證,系統具體方案圖系統如圖2.2所示,各模塊采用的方案如下: (1)控制模塊: 采用STM32F103C
28、8T6單片機; (2)電機驅動模塊: 采用直流電機驅動芯片L298N實現; (3)速度采集模塊: 采用光電傳感器; (4)顯示模塊: 采用OLED; (5)鍵盤模塊: 采用標準的4×4矩陣式鍵盤; (6)電源模塊: 手機充電器。圖2.2系統具體方案圖3 硬件電路設計3.1 STM32F103C8最小系統3.1.1 STM32F103xx簡介STM32F103C8芯片是基于ARM Cortex-M3內核,專為要求高性能、低成本、低功耗的嵌入式應用專門設計的。時鐘頻率高達72MH
29、z,運行速度25DMips/MHz,同時還具備一流的外設,1s的雙12位ADC,4兆位/秒的UART,18兆位/秒的SPI,18MHz的I/O翻轉速度。STM32F103xx系統架構如圖3.1所示,主系統由以下部分構成: 四個驅動單元:Cortex-M3內核DCode總線(D-bus),和系統總線(S-bus) 通用DMA1和通用DMA2 四個被動單元 內部SRAM 內部閃存存儲器FSMC AHB到APB的橋(AHB2APBx),它連接所有的APB設備圖3.1 STM32F103xx系統架構3.1.2 STM32F103XX管腳圖與原理圖引腳接線說明:PA0: PWM波輸出PA1: 矩陣鍵盤行
30、線0PA2: OLED屏D0引腳PA4: OLED屏D1引腳PA6: OLED屏RES引腳PB0: OLED屏DC引腳PB12:OLED屏CS引腳PA3: 矩陣鍵盤行線1PA5: 矩陣鍵盤行線2PA7: 矩陣鍵盤行線3PB10:矩陣鍵盤列線0PB11:矩陣鍵盤列線1PB12:矩陣鍵盤列線2PB13:矩陣鍵盤列線3PB6: 編碼器輸出1PB7: 編碼器輸出2圖3.2 STM32F103XX管腳圖圖3.3 STM32F103XX原理圖3.2 4x4矩陣鍵盤矩陣鍵盤又稱為行列式鍵盤,它是用4條I/O線作為行線,4條I/O線作為列線組成的鍵盤。在行線和列線的每一個交叉點上,設置一個按鍵。這樣鍵盤中按鍵
31、的個數是4×4個。這種行列式鍵盤結構能夠有效地提高單片機系統中I/O口的利用率。矩陣鍵盤原理圖如圖 3.4所示。圖 3.4 矩陣鍵盤原理圖鍵值說明:S1 - S9 : 數字1到9S10 : 數字0 S11 : 設定S12 : 取消S13 : 啟動 引腳接線說明:行0:PA1行1:PA3行2:PA5行3:PA7列0:PB10列1:PB11列2:PB12列3:PB133.3 L298N電機驅動模塊L298N是一種二相和四相電機的專用驅動器,即內含二個H橋的高電壓大電流雙全橋式驅動器,接收標準TTL邏輯電平信號,可驅動46V、2A以下的電機。 L298可驅動2個電機,OUTl、OUT2和O
32、UT3、OUT4之間分別接2個電動機。5、7、10、12腳接輸入控制電平,控制電機的正反轉,ENA,ENB接控制使能端,控制電機的停轉。其原理圖如圖3.5所示。引腳接線說明:ENA: PA0(PWM輸入口)IN1: 接高電平IN2:接低電平VS: 12V電源GND:接地OUT1: 電機線1OUT2: 電機線2圖 3.5 L298N驅動模塊原理圖3.4 光電編碼器在本系統中由于要將電機本次采樣的速度與上次采樣的速度進行比較,通過偏差進行PID運算,因此速度采集電路是整個系統不可缺少的部分。本課題中采用的是光電測速來實現的,首先在電機軸上固定一個編碼盤,根據系統要求來選擇編碼盤的線數,要求越精確,
33、則應選擇線數越多的編碼盤,編碼盤形狀如圖3.6(a)所示,在圓盤的一側有一個發光二極管,要求位置必須對準凹槽,在另一側和發光二極光平行的位置上固定一光敏三極管,如圖3.6(b)所示。如果電動機轉動時,發光二極管發射出的光線透過編碼盤上的縫隙照射到光敏三極管上,這樣三極管就導通了,反之三極管截止,從而產生電平的變化,輸出脈沖。電路原理如圖3.6(b)所示,因此電機每轉一圈在GPIOA0的輸出端就會產生N個脈沖。這樣就可根據脈沖的數量來計算電機此時轉速了。例如當電機以一定的轉速運行時,GPIOA0將輸出如圖3.7所示的矩形脈沖,若知道一段時間t內傳感器輸出的脈沖數為n,則電機轉速v= n/(t*N
34、) r/s。 (a) (b)圖3.6 電機速度采集方案圖3.7 傳感器輸出脈沖波形3.5 OLED顯示屏3.5.1 OLED簡介OLED,即有機發光二極管(Organic Light-Emitting Diode),又稱為有機電激光顯示(Organic Electroluminesence Display, OELD)。OLED 由于具備自發光,不需要背光源、厚度薄、對比度高、反應速度快、視角廣、使用溫度范圍廣、構造及制程較簡單、可用于撓曲性面板等優異之特性。作為下一代的平面顯示器新興應用技術,與LCD 相比,由于OLED是自發光的,不需要背光,而LCD都需要背光,所以在同樣的顯示,OLED
35、效果好很多。但是以現在的技術,OLED 的尺寸還很難大型化,不過分辨率是可以做到很高的哦。在本設計中,我們使用OLED 作為顯示模塊,該模塊實物圖如圖33.8,具有以下特點:1)模塊有純藍色和黃藍雙色兩種可選。2)驅動芯片:SSD1306。電壓,3.3V 就可以工作了,5v有可能燒模塊。3)高分辨率,小小尺寸就能達到128*64的高分辨率。4)多種接口模式,提供了多種接口模式包括:6800、8080 兩種并行接口方式、3線或 4 線的穿行 SPI 接口方式,、IIC 接口方式(只需要 2 根線就可以控制 OLED 了!)。6)超低功耗,支持眾多控制芯片:兼容51系列、MSP430系列、STM3
36、2/、CSR芯片等。圖 3.8 OLED顯示屏3.5.2 四線串行信號線選擇及時序圖CS:OLED 片選信號。RST(RES):硬復位 OLED。DC:命令/數據標志(0,讀寫命令;1,讀寫數據)。SCLK:串行時鐘線。在 4 線串行模式下,D0 信號線作為串行時鐘線 SCLK。SDIN:串行數據線。在 4 線串行模式下,D1 信號線作為串行數據線 SDIN。圖3.9 SPI模式寫時序圖3.5.3 OLED驅動芯片SSD1306SSD1306 的顯存總共為 128*64bit 大小,分成了 8 頁。每頁包含了 128 個字節,其對應關系如表3.1所示,這樣剛好是 128*64 的點陣大小。因為
37、每次都是按字節寫入的,然而這就存在一個問題,如果我們使用只寫方式操作模塊,那么,每次要寫 8 個點,這樣,我們在畫點的時候,就必須把要設置的點所在的字節的每個位都搞清楚當前的狀態(0/1?),否則寫入的數據就會覆蓋掉之前的狀態,結果就是該顯示的沒有顯示了,或者有些不需要顯示的點顯示出來了。這個問題在能讀的模式下,我們可以先讀出來要寫入的那個字節,得到當前狀況,在修改了需要更新的位之后再寫進 GRAM,這樣就不會影響到之前的狀況了。因此我們在 STM32 的內部建立一個 OLED 的 GRAM (共 128*8 個字節),在每次更新時候,只是更新 STM32 上的 GRAM (實際上就是 SRA
38、M),在修改完了之后,一次性把 STM32 上的 GRAM 寫入到 OLED 的 GRAM。當然這個方法也有壞處,就是對于那些 SRAM很小的單片機(比如 51 系列)就比較麻煩了。表3.1 SSD1306顯存與屏幕關系行(COL O-127)列(COM 0-63)SEG0SEG1SEG2···SEG125SEG126SEG127PAGE0PAGE1PAGE2PAGE3PAGE4PAGE5PAGE6PAGE74 軟件設計4.1 PID簡介及算法實現控制算法是微機化控制系統的一個重要組成部分,整個系統的控制功能主要由控制算法來實現。目前提出的控制算法有很多。根據偏差
39、的比例(P)、積分(I)、微分(D)進行的控制,稱之為PID控制。實際經驗和理論分析都表明,PID控制,能夠滿足相當多工業對象的控制要求,至今仍是一種應用最為廣泛的控制算法之一。4.1.1 PID簡介在模擬控制系統中,調節器最常用的控制規律是PID控制,常規PID控制系統原理框圖如圖4.1所示,系統由PID調節器、執行機構及控制對象組成。圖4.1 PID控制系統原理框圖PID調節器是一種線性調節器,它根據給定值與實際輸出值構成的控制偏差: 將偏差的比例、積分、微分通過線性組合構成控制量,對控制對象進行控制,故稱為PID調節器。在實際應用中,常根據對象的特征和控制要求,將P、I、D基本控制規律進
40、行適當組合,以達到對被控對象進行有效控制的目的。例如,P調節器,PI調節器,PID調節器等。4.1.2 PID算法實現PID算法是本系統的核心算法,它根據采樣的數據與設定值進行比較得出偏差,對偏差進行P、I、D運算得到增量,從而改變PWM脈沖的占空比來實現對電機兩端電壓的調節,進而控制電機轉速。其運算公式為: 因此要在單片機想實現PID控制就必須存在上述算法,其程序流程如圖4.2所示。 圖4.2 PID算法流程圖4.2 主函數流程圖系統上電顯示第一界面,顯示內容包含設計者院系信息及指導老師,當按下NEXT按鍵,進入第二界面,顯示內容為畢業設計題目,當按下NEXT按鍵,系統依次初始化相關硬件設置
41、,等待輸入設定值,當設定好后,按下啟動鍵,電機即可轉動,同時系統進入PID控制調節,可通過屏幕顯示的值來觀察到實時速度。具體流程圖如下圖4.3。圖4.3 主函數流程圖4.3 定時中斷速度采集4.3.1 STM32F103xx通用定時器簡介 通用定時器是一個通過可編程預分頻器驅動的16位自動裝載計數器構成。它適用于多種場合,包括測量輸入信號的脈沖長度(輸入捕獲)或者產生輸出波形(輸出比較和PWM)。使用定時器預分頻器和RCC時鐘控制器預分頻器,脈沖長度和波形周期可以在幾個微秒到幾個毫秒間調整。每個定時器都是完全獨立的,沒有互相共享任何資源。它們可以一起同步操作。其框圖如圖4.4。通用TIMx (
42、TIM2、TIM3、TIM4和TIM5)定時器功能包括: 16位向上、向下、向上/向下自動裝載計數器 16位可編程(可以實時修改)預分頻器,計數器時鐘頻率的分頻系數為165536之間的任意數值 4個獨立通道: 輸入捕獲 輸出比較 使用外部信號控制定時器和定時器互連的同步電路 如下事件發生時產生中斷/DMA: 更新:計數器向上溢出/向下溢出,計數器初始化(通過軟件或者內部/外部觸發) 輸入捕獲 輸出比較 支持針對定位的增量(正交)編碼器和霍爾傳感器電路圖4.4 通用定時器框圖4.3.2 速度采集原理及定時器流程圖本系統中速度采集是一個十分重要的模塊,它的精確度會直接影響到整個控制系統的精度。在設
43、計中采用了光電傳感器做為測速裝置,其計算公式為: v= r/min從公式可知速度v的誤差主要是由編碼盤上的編碼線的多少決定的,為了減少系統誤差應盡量提高編碼盤線數的數量,在本次設計中得的編碼線數N為448,采樣周期t為20ms,則速度計算具體程序流程如圖4.5所示。圖4.5 定時器中斷處理流程圖4.4 外部中斷及中斷處理流程圖4.4.1 外部中斷/事件控制器(EXTI)STM32F103xx有19個能產生事件/中斷請求的邊沿檢測器。每個輸入線可以獨立地配置輸入類型(脈沖或掛起)和對應的觸發事件(上升沿或下降沿或者雙邊沿都觸發)。每個輸入線都可以獨立地被屏蔽。掛起寄存器保持著狀態線的中斷請求。其
44、框圖如圖4.6所示。EXTI控制器的主要特性如下: 每個中斷/事件都有獨立的觸發和屏蔽 每個中斷線都有專用的狀態位 支持多達20個軟件的中斷/事件請求 檢測脈沖寬度低于APB2時鐘寬度的外部信號。參見數據手冊中電氣特性部分的相關參數。圖4.6 外部中斷控制器框圖4.4.2 鍵盤中斷處理流程圖外部中斷都是有矩陣鍵盤產生的,每當有按鍵按下,就會響應響應的中斷,其流程圖4.7如下:圖4.7 鍵盤中斷處理流程圖5 系統測試結果5.1 系統調試數據通過對系統現場調試得出數據如表5.1所示,通過觀察得出該系統比較合適的P、I、D三者的參數值為: =1.0, =0.3, =0.05。并且可以反映出PID調節
45、器各校正環節的作用是:(1)比例環節:值的選取決定于系統的響應速度。增大能提高響應速度,減小穩態誤差;但是,值過大會產生較大的超調,甚至使系統不穩定減小可以減小超調,提高穩定性,但過小會減慢響應速度,延長調節時間;(2)積分環節:主要用于消除靜差,提高系統的無差度。積分作用的強弱取決于積分時間常數,越大,積分作用越弱,反之則越強;(3)微分環節:能反映偏差信號的變化趨勢(變化速率),并能在偏差信號的值變得太大之前,在系統中引入一個有效的早期修正信號,從而加快系統的動作速度,減少調節時間。通過數據分析可知,該系統完成了設計的任務及要求,證實了設計方案的可行性和設計方法的正確性。表5.1 系統調試
46、數據次數設定設定設定設定(rpm)超調量調節時間(s)誤差(%)11.00.10.06300084321.00.20.07300093231.00.30.06300053241.00.40.03300052151.00.30.05300041161.00.50.02300062371.00.30.0230006%230008433000943100.80.4020.5030006%5430007%5430006%645.2 系統效果圖結 論本設計的目的在于利用單片機實現PID算法產生
47、PWM脈沖來控制電機轉速。到目前為止通過對控制器模塊、電機驅動模塊、OLED顯示模塊、鍵盤輸入模塊、數字PID算法等進行深入的研究。完成了硬件電路的系統設計,軟件設計,并且進行系統硬件的組裝與軟件集成調試。軟件方面利用C語言進行編程,增強了程序的可移植性和靈活性。歸納起來主要做了如下幾方面的工作:1、PID算法與PWM控制技術有機的結合;2、設計了速度檢測電路,鍵盤輸入電路,電機驅動電路;3、利用C語言進行程序設計;4、系統模塊調試,集成調試。 根據上面論述結合測試數據可以看出本次設計基本完成了設計任務和要求。通過此次設計,掌握了數字PID算法的使用及編程方法,學習了如何進行系統設計及相關技巧
48、,為今后的工作和學習奠定了堅實的基礎。參考文獻1 康華光,陳大欽,張林.電機技術基礎(模擬部分)M.北京:高等教育藏版社,2005.2 康華光,陳大欽,張林.電機技術基礎(數字部分)M.北京:高等教育藏版社,2005.3 丁元杰. 單片機微機原理及應用.北京:機械工業出版社,2005. 4 于時亮,張友德.單片微機控制技術M.上海:復旦大學出版社,1994.5 劉金錕.先進PID控制及其MATLAB仿真M. 北京:電子工業出版社.2003.16 陳杰. 傳感器與檢測技術M. 北京:高等教育出版社,2002:201. 7 方彥軍,孫健. 智能儀器技術及其應用M. 北京:化學工業出版社,2005:
49、42,43. 8 萬佑紅,李新華. 用遺傳算法實現PID參數整定J.自動化技術與應用,2004,23 (7):7-8.9 沙占友. 單片機外圍電路設計M. 北京:電子工業出版社, 2003:21.10 泰繼榮. 現代直流控制技術及其系統設計M. 北京:機械工業出版社,1993:141-145.11 韓京清. 非線性PID控制器J.自動化學報,1994,(4):487-490.12 張俊謨. 單片機中級教程M. 北京:北京航空航天大學出版社,2006:96.13 王偉,張晶濤,柴天佑. PID參數先進整定方法綜述J.自動化學報,2000,(3):347-35.14 Behzad Razavi.D
50、esign of Analog CMOS and Integrated CircuitsM.McGraw-Hill Companies,2001:28-36.15 Tao Wu,Ykang Yang,Yongxuan Huang,etal. H-PID Controller Parameters Tuning via Genetic AlgorithmsC .Intelligent Controland Automation.Proceedings of the 3rd World Congress on,2000,1:586-589.16 Cominos P,Munro N.PID cont
51、rollers:Recent Tuning Methods and Designto Specifi- cationM.Control Theory and Applications,IEE Proceedings,January,2002,149:46.17 Stephen Prata.C Primer PlusM.北京:人名郵電出版社,2005。18 STM32中文參考手冊。19 CM3參考手冊。20 Contex-M3權威指南。附錄 A/* main.c */#include "pid.h"#include "chinesefont.h"u16 S
52、etval = 0;u16 Curval = 0;u8 Next = 0;u8 SetMode = 0;int main(void)u8 i; Stm32_Clock_Init(9);/系統時鐘設置 ,外部時鐘8Mhz,9倍頻,系統時鐘為72Mhzdelay_init(72); /延時初始化,系統時鐘為72Mhz OLED_Init();/初始化液晶 EXTIX_Keyboard_init(); /鍵盤初始化/void OLED_Show_row_Chinese(u8 x, u8 y, u8 count, const u8 *p)/顯示學校專業信息OLED_Show_row_Chinese(1
53、6, 0, sizeof(School)/sizeof(School0)/2, &School00); OLED_Show_row_Chinese(16, 16, sizeof(Academe)/sizeof(Academe0)/2, &Academe00);OLED_Show_row_Chinese(16, 32, sizeof(Techer)/sizeof(Techer0)/2, &Techer00);OLED_Show_row_Chinese(16, 48, sizeof(Myname)/sizeof(Myname0)/2, &Myname00);OLED_Refresh_Gram();while(!Next);/按下NEXT鍵(S16),跳轉下一界面Next = 0;OLED_Clear();for (i = 0; i < 8; i+)/顯示題目if (i < 5)OLED_ShowChinese(16 * (i+2), 0, &Theme2*i0);elseOLED_ShowChinese(16 * (i-2), 16, &Theme2*i0);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 熱流道訂購合同范本
- 項目管理績效提升的新維度試題及答案
- 項目管理專家認證考試重要試題及答案
- 2024年福建事業單位考試全局復習策略與試題及答案
- 項目管理資格考試知識推理試題及答案
- 2025年會計政策分析試題及答案
- 精準備戰特許金融分析師考試試題及答案
- 武威電梯裝修施工方案
- 項目管理資格復習關鍵點試題及答案
- 信豐避雷塔安裝施工方案
- 2025商業綜合體委托經營管理合同書
- 人工智能導論課件 第十三章 類腦智能
- 河北單招時政試題及答案
- 2024-2025班主任的培訓心得體會(29篇)
- 實驗14 探究液體內部壓強的特點-中考物理必考實驗專項復習
- 7 請到我的家鄉來(第一課時)(教學設計)統編版道德與法治三年級下冊
- 護理不良事件案例分析及警示
- B超健康知識講座課件
- 煤炭倉儲協議合同
- 政 治薪火相傳的傳統美德 教案-2024-2025學年統編版道德與法治七年級下冊
- 2025-2030中國腦芯片模型行業市場發展趨勢與前景展望戰略研究報告
評論
0/150
提交評論