《基于單片機的直流電機轉(zhuǎn)速控制系統(tǒng)設計.doc》由會員分享,可在線閱讀,更多相關《基于單片機的直流電機轉(zhuǎn)速控制系統(tǒng)設計.doc(17頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、一、 設計目標和性能指標設計任務完成一個基于單片機的直流電機轉(zhuǎn)速控制系統(tǒng)設計,要求設計的轉(zhuǎn)速控制系統(tǒng)完成以下功能:1)按鍵設定并顯示轉(zhuǎn)速,實時顯示實際轉(zhuǎn)速;2)按鍵控制電機起停、正反轉(zhuǎn);3)PWM轉(zhuǎn)速閉環(huán)控制;4)PID算法控制。性能指標1.轉(zhuǎn)速調(diào)節(jié)范圍:1500轉(zhuǎn)/分-3000轉(zhuǎn)/分2.測速誤差10%二、 設計方案本設計以STC12C5A16S2單片機為核心,完成轉(zhuǎn)速控制的設計。硬件系統(tǒng)包括單片機控制模塊、按鍵模塊、傳感器模塊、驅(qū)動模塊、顯示模塊;軟件部分由主函數(shù)控制模塊、定時中斷和外部中斷模塊、鍵盤部分、PID控制轉(zhuǎn)速模塊、LCD初始化模塊、LED指示模塊等組成,軟件編寫由Keil C51
2、完成。設計原理是根據(jù)LCD顯示原理、按鍵描顯示原理、單片機的定時中斷原理、外部中斷將霍爾傳感器所檢測的脈沖進行計數(shù)原理。設計了一個可以控制電機的啟動和停止,顯示當前轉(zhuǎn)速顯示,設定轉(zhuǎn)速,通過PID算法計算控制得道相應的PWM,然后改變PWM的值實現(xiàn)對電機的控制。三個獨立按鍵中Mode鍵進行模式切換,UP、DN鍵可以對速度、PID參數(shù)進行修改。此外,為方便顯示還加了數(shù)碼管和LED燈做指示。在“實時速度顯示”模塊中,利用外部中斷0對霍爾元件脈沖記數(shù),輸出送到單片機,在定時器0下對信號進行周期刷新,調(diào)用計算公式算出轉(zhuǎn)速,在LCD上顯示實時速度;在轉(zhuǎn)速控制中通過PID算法計算控制得道相應的PWM,然后改
3、變PWM的值實現(xiàn)對電機的控制。其系統(tǒng)組成結構圖如1.1所示:三、 系統(tǒng)硬件設計單片機的最小系統(tǒng)單片機是一個復雜的同步時序電路。主要包含兩部分:時鐘電路和復位電路。時鐘電路用于產(chǎn)生單片機工作所需要的時鐘信號。復位電路是使CPU和系統(tǒng)中的其他功能部件都恢復到一個確定的初始狀態(tài)。單片機最小系統(tǒng)為轉(zhuǎn)速控制的控制中心,包括一塊STC12C5A16S2芯片、復位部分、晶振時間頻率控制部分和電源部分。復位部分采用外部復位電路,接在單片機的REST引腳,晶振采用頻率為11.0592MHZ和15pF電容,接18、19引腳。電路如圖2.1所示:按鍵電路設計本系統(tǒng)采用獨立鍵盤,實現(xiàn)模塊切換和一些參數(shù)設置。其中MOD
4、E鍵進行模式選擇,UP和DN鍵對參數(shù)進行加或者減,它們分別接P20P22。電路如圖2.2所示:LED指示燈電路設計設計中利用了四個發(fā)光二極管分別接接P34、P35、P36、P37。當有低電平0來時,相應的發(fā)光二極管亮,指示相應的模式。當D1指示燈亮時,表示電機正轉(zhuǎn);當指示燈熄滅時,表示電機反轉(zhuǎn)。D2、D3、D4指示燈對應于LCD的使用。電路如圖2.3所示:LCD顯示屏電路設計JM12864M-2漢字圖形點陣液晶顯示模塊,可顯示漢字及圖形,內(nèi)置8192個中文漢字(16X16點陣)、128個字符(8X16點陣)及64X256點陣顯示RAM(GDRAM)。在設計中,采用的是串行數(shù)據(jù)傳送。串行連接時序
5、圖如圖2.4所示。串行數(shù)據(jù)傳送共分三個字節(jié)完成:第一字節(jié):串口控制格式 11111ABC。A為數(shù)據(jù)傳送方向控制:H表示數(shù)據(jù)從LCD到MCU,L表示數(shù)據(jù)從MCU到LCD;B為數(shù)據(jù)類型選擇:H表示數(shù)據(jù)是顯示數(shù)據(jù),L表示數(shù)據(jù)是控制指令;C固定為0第二字節(jié):(并行)8位數(shù)據(jù)的高4位格式 DDDD0000第三字節(jié):(并行)8位數(shù)據(jù)的低4位格式 0000DDDD數(shù)碼管顯示電路設計數(shù)碼管主要是用于數(shù)字的顯示。數(shù)碼管有共陰和共陽的區(qū)分。四位數(shù)碼管循環(huán)電路是由1K的電阻、IN4148二極管和數(shù)碼管組成,電源+5V通過560的電阻直接給數(shù)碼管的7個段位供電,P0.0-P0.7對應了兩個接數(shù)碼管的A,B,C,D,E
6、,F,G和小數(shù)點位,P2.4,P2.5,P2.6,P2.7接位選碼。數(shù)碼管電路圖見圖3.2。電機驅(qū)動模塊設計電機驅(qū)動采用三極管構成的“橋式電機驅(qū)動”,將單片機端口輸出的信號放大,用于驅(qū)動電機轉(zhuǎn)動。當控制端1、2同為高電平或低電平時,電機兩段電平一致,電機停止轉(zhuǎn)動。當控制端1為高,2為低時,電機正轉(zhuǎn),反之電機反轉(zhuǎn)。電機驅(qū)動電路圖如圖所示。轉(zhuǎn)速檢測及控制模塊設計轉(zhuǎn)速檢測通過檢測在電機轉(zhuǎn)盤上的磁鋼對霍爾傳感器產(chǎn)生得脈沖計數(shù),從而算出電機的轉(zhuǎn)速。霍爾傳感器的原理是當磁鋼靠近霍爾傳感器時引起磁場變換,利用磁場對垂直加載的電流產(chǎn)生的偏向作用(電磁感應),使正交方向的極板產(chǎn)生電勢差,通過放大等處理得到開關量
7、的信號變化?;魻杺鞲衅鳒y轉(zhuǎn)速的電路圖如圖所示。四、 系統(tǒng)軟件設計為了增強程序的可讀性,設計時選用得分模塊編程。根據(jù)系統(tǒng)功能的描述,主要分為以下幾個模塊:主函數(shù)模塊,系統(tǒng)參數(shù)初始化模塊,LCD初始化、顯示模塊,按鍵識鍵和數(shù)據(jù)處理模塊,中斷模塊和PWM控制模塊。主程序設計主程序的設計主要是完成各種模塊初始化以及函數(shù)的調(diào)用。如系統(tǒng)的初始化、LCD初始化和定時器的初始化,然后根據(jù)按鍵判斷,沒有按鍵按下的時候,LCD顯示初始設置值,當有按鍵按下的時候,則執(zhí)行按鍵所對應的功能,然后進一步在LCD上顯示出來,通過LED指示燈和數(shù)碼管指示相應的模式。LCD顯示模塊設計為了節(jié)省I/O口的使用,選用串行數(shù)據(jù)傳送的
8、方式。在LCD顯示字程序中,要先對其初始化,進行命令、數(shù)據(jù)發(fā)送和漢字、字母顯示的設置,然后根據(jù)按鍵的輸入,在LCD上輸出相應內(nèi)容。LCD顯示流程圖如圖所示。返回根據(jù)按鍵顯示漢字或字母漢字、字母顯示設置發(fā)送命令、數(shù)據(jù)LCD初始化入口口LED燈和數(shù)碼管指示程序中用了一個Led燈的亮滅指示電機的正轉(zhuǎn)/反轉(zhuǎn)。利用一位數(shù)碼管的顯示指示模式的切換,這樣可以直觀的觀察工作狀態(tài)。由于該程序簡單,因此直接將該段程序嵌入按鍵程序中。按鍵程序模塊接通電源,判斷是否有按鍵,在Mode鍵下進行模式選擇,模式1為“電機正反轉(zhuǎn)設置”、模式2為“轉(zhuǎn)速的設置”、模式3、4、5為“手動控制轉(zhuǎn)速”、模式4為“PID自動控制轉(zhuǎn)速”;
9、UP和DN進行參數(shù)修改。按鍵掃描的流程圖如3.6所示:PID計算程序微機化控制系統(tǒng)當中控制算法的占有十分重要部分,整個控制系統(tǒng)的主要功能是由控制算法來實現(xiàn)的。目前世界上所應用控制算法有很多種。根據(jù)偏差的比例、微積分進行的系統(tǒng)控制,被稱作PID控制。經(jīng)過無數(shù)實踐證明和理論分析都表明,PID控制能夠滿足絕大多數(shù)的工業(yè)對象的控制要求,目前PID控制仍是應用最廣泛的控制算法之一。如下圖4.3所示,該圖是PID系統(tǒng)經(jīng)典原理圖,是一種典型的閉環(huán)控制。在需要對系統(tǒng)進行調(diào)節(jié)控制時,PID控制是調(diào)節(jié)器最常用的控制方式,PID控制系統(tǒng)原理圖如下圖所示,圖中可看出該控制為典型的閉環(huán)控制,系統(tǒng)由PID調(diào)節(jié)器、執(zhí)行器和
10、控制對象組成,通過調(diào)節(jié)器的PID控制可以使被控對象達到相應控制要求。圖4.3 PID控制系統(tǒng)原理框圖外部中斷外部中斷主要是對霍爾傳感器檢測到的脈沖輸入進行計數(shù),然后送到定時器中斷中進行進一步處理。它與定時器中斷的工作原理都為當中斷發(fā)出請求的時候,正在執(zhí)行主程序的單片機CPU響應中斷,中斷完成后重新返回主程序中。外部中斷流程圖如3.5所示:返回count0計數(shù)加1入口圖3.5外部中斷0流程圖定時器中斷定時器T0為每隔一秒對采集到的脈沖處理,最后計算成每分鐘的速度;同時定時器0還對PWM控制進行計算,實現(xiàn)PWM占空比的調(diào)節(jié)。通過定時器計算實時速度的流程圖如3.3所示,通過定時器完成PWM控制調(diào)節(jié)流
11、程圖如3.4所示:YN返回計數(shù)值清0,采集脈沖清0采集脈沖,計算速度是否到1s?計數(shù)值加1定時器賦初值入口入口N返回YNPWM=1計數(shù)值清0計數(shù)值100?PWM=0計數(shù)值PWM設置值?計數(shù)值加1定時器賦初值 Y圖3.3定時器T0程序流程圖 圖3.4 PWM控制流程圖五、 調(diào)試及性能分析調(diào)試步驟根據(jù)所設計的硬件電路圖,焊接好電路。軟件調(diào)試時采用keil51編程軟件,程序的調(diào)試是分模塊調(diào)試,一個一個模塊調(diào)試無誤后組合起來,按照以下五個步驟進行調(diào)試:(1)編譯程序,并進行設置令其生成HEX文件(2)啟動STC-ISP,打開程序編譯生成的HEX文件(3)程序下載到單片機(4)下載成功(5)按照要求對所
12、有功能一一演示如果發(fā)現(xiàn)有與程序設計預想不一樣的,仔細的檢查程序。按照程序的流程在腦袋里模擬程序運行的情況。如果發(fā)現(xiàn)不了問題,就一個版塊一個版塊的運行,暫時屏蔽其他版塊。本次調(diào)節(jié)過程中PID控制轉(zhuǎn)速模塊花的時間比較多。主要是初次接觸PID算法,雖然在張老師指導下少走了不少彎路,但是把這個思想應用到程序卻花了我們不少時間。液晶顯示模塊,我們放棄了前幾次試驗中的代碼,對其進行了優(yōu)化,使得代碼更簡單,顯示也更為穩(wěn)定。性能分析設計結果的顯示界面有兩個:一個是啟動時的歡迎界面,顯示設計名稱及個人相關信息;另一個是工作界面,顯示內(nèi)容包括實時速度、設置速度、占空比、PID控制參量。這里可以通按鍵的選擇修改各個
13、參量。其主要功能如下:1) 通過MODE鍵修改模式,模式1為電機正反轉(zhuǎn)控制;模式2為轉(zhuǎn)速設定;模式3、4、5分別為PID的設定;模式的改變通過數(shù)碼管的顯示來指示模式的切換2) 模式1的時候,通過UP和DN鍵設置電機的正反轉(zhuǎn),并由Led燈的亮滅指示燈電機轉(zhuǎn)動情況3) 模式2的時候,通過UP和DN鍵設置電機的轉(zhuǎn)動速度,修改范圍為1500-30004) 模式3的時候,通過UP和DN鍵修改參數(shù)P,修改范圍為0-95) 模式4的時候,通過UP和DN鍵修改參數(shù)I,修改范圍為0-96) 模式5的時候,通過UP和DN鍵修改參數(shù)D,修改范圍為0-9六、 心得體會為期兩周的智能儀器儀表設計與調(diào)試實訓結束了,時間雖
14、然不長,我們卻受益匪淺。我們小組的任務是基于單片機的轉(zhuǎn)速控制系統(tǒng)設計主要涉及PID算法調(diào)節(jié)、PWM控制、實現(xiàn)按鍵兩種對電機轉(zhuǎn)動轉(zhuǎn)速的實時監(jiān)測和控制。通過對電機驅(qū)動模塊、鍵盤模塊、霍爾傳感器和數(shù)字PID算法等進行深入的研究,完成了硬件電路及軟件的系統(tǒng)設計,并且利用Protel99se軟件繪制出電路圖紙(見附錄1)。通過設定優(yōu)先級的方式避免在控制過程中的交錯使程序執(zhí)行出錯。充分利用主控芯片資源,縮減外圍電路,使系統(tǒng)集成度高,性能更加穩(wěn)定。本次設計我們從硬件原理圖的繪制到元器件的焊接,從軟件算法控制到程序代碼的編寫都是我們小組成員討論后完成的,大家在一起相互取長補短,集思廣益。對硬件的設計以及程序算法的優(yōu)化都改進了不少。在設計過程中,張小云老師為我們解答了許多疑惑,比如霍爾傳感器測速、PID控制算法思想等等。在前期準備過程中,為我們搜集了相關資料。假如沒有張老師的悉心指導,我們設計也不會完成得如此順利。參考文獻1 程德福智能義器機械工業(yè)出版社,200992 萬文略單片機原理及應用重慶:重慶大學出版社,20043 3 胡文金單片機系統(tǒng)實訓教程重慶:重慶大學出版社,20054 林金陽基于MC51單片機的直流電機PWM調(diào)速系統(tǒng)長春工程學院學報(自然科學版)2009年第10卷第3期5 張洪潤單片機應用技術教程北京:清華大學出版社,20043附錄 1 系統(tǒng)硬件電路圖附錄 2 程序清單17