摘要
在運動控制系統中,電機轉速控制占有至關重要的作用,其控制算法和手段有很多,模擬PID控制是最早發展起來的控制策略之一,長期以來形成了典型的結構,并且參數整定方便,能夠滿足一般控制的要求,但由于在模擬PID控制系統中,參數一旦整定好后,在整個控制過程中都是固定不變的,而在實際中,由于現場的系統參數、溫度等條件發生變化,使系統很難達到最佳的控制效果,因此采用模擬PID控制器難以獲得滿意的控制效果。隨著計算機技術與智能控制理論的發展,數字PID技術漸漸發展起來,它不僅能夠實現模擬PID所完成的控制任務,而且具備控制算法靈活、可靠性高等優點,應用面越來越廣。
本設計以上面提到的數字PID為基本控制算法,以AT89S51單片機為控制核心,產生占空比受數字PID算法控制的PWM脈沖實現對直流電機轉速的控制。同時利用光電傳感器將電機速度轉換成脈沖頻率反饋到單片機中,實現轉速閉環控制,達到轉速無靜差調節的目的。在系統中采數碼管顯示器作為顯示部件,通過2×2鍵盤設置P、I、D、V四個參數,啟動后可以通過顯示部件了解電機當前的轉速。該系統控制精度高,具有很強的抗干擾能力。
關鍵詞:數字PID;PWM脈沖;占空比;無靜差調節
Abstract
In the motion control system,the control of electromotor's rotate speed is of great importance,there are a lot of speed control arithmetics and methods ,the analog PID control is one of the earliest developed control policies which has formed typical structure ,its parametric setting is convenient and it's easy to meet normal control's demand,but as the whole control process is fixed once the parameter has been set while practically the changes of those conditions like the system parameters and temperature of the environment prohibit the system from reaching its best control effect,so the analog PID controller barely has satisfied effect.With the development of computer technology and intelligent control theory ,the digital PID technology is thriving which can achieve the analog PID's control tasks and consists of many advantages like flexible control arithmetics and high reliability,it is widely used now.
This design is based on the digital PID mentioned above as basic control arithmetic and AT89S51 SCM as control core,the system produces PWM impulse whose duty ratio is controlled by digital PID arithmetic to make sure the running of direct current machine's rotate speed.Meanwhile,the design uses photoelectric sensor to transduce the electromotor speed into impulse frequency and feed it back to SCM,this process implements rotate speed's closed loop control to attain the purpose of rotate speed's astatic modulation.In this system, the 128×64LCD is used as display unit , the 4×4 keyboard sets those four parameters P、I、D、V and obverse and reverse control,after starting up,the display unit shows the electromotor's current rotate speed and runtime.The system has great control precision and anti-jamming capability.
Keywords: digital PID;PWM impulse;dutyfactor;astatic modulation
前言
21世紀,科學技術日新月異,科技的進步帶動了控制技術的發展,現代控制設備的性能和結構發生了翻天覆地的變化。我們已進入高速發展的信息時代,控制技術成為當今科技的主流之一,廣泛深入到研究和應用工程等各個領域。
控制理論的發展經歷了古典控制理論、現代控制理論和智能控制理論三個階段。其控制系統包括控制器﹑傳感器﹑變送器﹑執行機構﹑輸入輸出接口?刂破鞯妮敵鼋涍^輸出接口﹑執行機構、加到被控系統上;控制系統的被控量、經過傳感器、變送器、通過輸入接口送到控制器。不同的控制系統、傳感器﹑變送器﹑執行機構是不一樣的。比如壓力控制系統要采用壓力傳感器。電加熱控制系統的傳感器是溫度傳感器。目前,PID控制及其控制器或智能PID控制器已經很多,產品已在工程實際中得到了廣泛的應用。
受益于數十年來全球經濟高速成長所獲得的PID控制成果,在中國市場,一大批機器設備制造商正處于蓬勃發展階段,除滿足本土市場龐大的機器設備需求外,走向國際市場,參與國際競爭也成為現實需求。在應用方面,這種控制技術已經滲透到了醫療、汽車制造、鐵道運輸、航天航空、鋼鐵生產、物流配送、飲料生產等多個方面。但是由于中國科技落后,為此,我們需要更進一步的學習、掌握與應用先進的控制技術與解決方案,以提升設備性能、檔次與市場競爭力。在國外,尤其在運動控制及過程控制方面PID控制技術的應用更是越來越廣泛和深入。隨著科技的進步,人們對生活舒適性的追求將越來越高,PID控制技術作為一項具有發展前景和影響力的新技術,正越來越受到國內外各行業的高度重視。
PID控制器問世至今已有近70年歷史,它以其結構簡單、穩定性好、工作可靠、調整方便而成為工業控制的主要技術之一當被控對象的結構和參數不能完全掌握,或得不到精確的數學模型時,控制理論的其它技術難以采用時,系統控制器的結構和參數必須依靠經驗和現場調試來確定,這時應用PID控制技術最為方便。即當我們不完全了解一個系統和被控對象,或不能通過有效的測量手段來獲得系統參數時,最適合用PID控制技術。實際中也有PI和PD控制。PID控制器就是根據偏差的比例、積分、微分進行控制的。比例控制是一種最簡單的控制方式。其控制器的輸出與輸入誤差信號成比例關系。當僅有比例控制時系統輸出存在穩態誤差(Steady-state error)。在積分控制中,控制器的輸出與輸入偏差信號的積分成正比關系。對一個自動控制系統,如果在進入穩態后存在穩態誤差,則稱這個控制系統是有穩態誤差的或簡稱有差系統(System with Steady-state Error)。為了消除穩態誤差,在控制器中必須引入“積分項”。積分項對誤差取決于時間的積分,隨著時間的增加,積分項會增大。這樣,即便誤差很小,積分項也會隨著時間的增加而加大,它推動控制器的輸出增大使穩態誤差進一步減小,直到等于零。因此,比例+積分(PI)控制器,可以使系統在進入穩態后無穩態誤差。在微分控制中,控制器的輸出與輸入誤差信號的微分(即誤差的變化率)成正比關系。能反映偏差信號的變化趨勢(變化速率),并能在偏差信號的值變得太大之前,在系統中引入一個有效的早期修正信號,從而加快系統的動作速度,減少調節時間。因此在運動控制系統中PID控制技術應用更為廣泛,是機器人等高技術領域的技術基礎,它可以對運動部件的位置、速度等進行實時控制管理,使其符合相應的控制要求。被廣泛應用于汽車制造、醫療、鐵道運輸、航天航空、鋼鐵生產等領域,并受到各行各業地重視。其中電機速度的控制在運動控制理論中占有至關重要的作用,本設計主要應用數字PID算法,利用PWM調制技術實現電機轉速的控制。隨著社會的發展用戶對其性能提出了越來越高的要求,借助于數字和網絡技術的智能控制已經深入到運動控制系統的各個方面,各種新技術的應用也大大提高了運動控制系統的性能,高頻化、交流化和網絡化成為今后的發展方向。
本次設計主要研究的是PID控制技術在運動控制領域中的應用,縱所周知運動控制系統最主要的控制對象是電機,在不同的生產過程中,電機的運行狀態要滿足生產要求,其中電機速度的控制在占有至關重要的作用,因此本次設計主要是利用PID控制技術對直流電機轉速的控制。其設計思路為:以AT89S51單片機為控制核心,產生占空比受PID算法控制的PWM脈沖實現對直流電機轉速的控制。同時利用光電傳感器將電機速度轉換成脈沖頻率反饋到單片機中,構成轉速閉環控制系統,達到轉速無靜差調節的目的。在系統中采128×64LCD顯示器作為顯示部件,通過4×4鍵盤設置P、I、D、V四個參數和正反轉控制,啟動后通過顯示部件了解電機當前的轉速和運行時間。因此該系統在硬件方面包括:電源模塊、電機驅動模塊、控制模塊、速度檢測模塊、人機交互模塊。軟件部分采用C語言進行程序設計,其優點為:可移植性強、算法容易實現、修改及調試方便、易讀等。
本次設計系統的主要特點:
(1)優化的軟件算法,智能化的自動控制,誤差補償;
(2)使用光電傳感器將電機轉速轉換為脈沖頻率,比較精確的反映出電機的轉速,從而與設定值進行比較產生偏差,實現比例、積分、微分的控制,達到轉速無靜差調節的目的;
(3)使用光電耦合器將主電路和控制電路利用光隔開,使系統更加安全可靠;
(4)128×64LCD顯示模塊提供一個人機對話界面,并實時顯示電機運行速度和運行時間;
(5)利用Proteus軟件進行系統整體仿真,從而進一步驗證電路和程序的正確性,避免不必要的損失;
(6)采用數字PID算法,利用軟件實現控制,具有更改靈活,節約硬件等優點;
(7)系統性能指標:超調量 8%;
調節時間 4s;
轉速誤差 1r/min。
1 PID算法及PWM控制技術簡介
1.1 PID算法
控制算法是微機化控制系統的一個重要組成部分,整個系統的控制功能主要由控制算法來實現。目前提出的控制算法有很多。根據偏差的比例(P)、積分(I)、微分(D)進行的控制,稱為PID控制。實際經驗和理論分析都表明,PID控制能夠滿足相當多工業對象的控制要求,至今仍是一種應用最為廣泛的控制算法之一。下面分別介紹模擬PID、數字PID及其參數整定方法。
1.1.1 模擬PID
在模擬控制系統中,調節器最常用的控制規律是PID控制,常規PID控制系統原理框圖如圖1.1所示,系統由模擬PID調節器、執行機構及控制對象組成。
圖1.1 模擬PID控制系統原理框圖
PID調節器是一種線性調節器,它根據給定值 與實際輸出值 構成的控制偏差: = - (1.1)
將偏差的比例、積分、微分通過線性組合構成控制量,對控制對象進行控制,故稱為PID調節器。在實際應用中,常根據對象的特征和控制要求,將P、I、D基本控制規律進行適當組合,以達到對被控對象進行有效控制的目的。例如,P調節器,PI調節器,PID調節器等。
模擬PID調節器的控制規律為
(1.2)
式中, 為比例系數, 為積分時間常數, 為微分時間常數。
簡單的說,PID調節器各校正環節的作用是:
(1)比例環節:即時成比例地反應控制系統的偏差信號 ,偏差一旦產生,調節器立即產生控制作用以減少偏差;
(2)積分環節:主要用于消除靜差,提高系統的無差度。積分作用的強弱取決于積分時間常數 , 越大,積分作用越弱,反之則越強;
(3)微分環節:能反映偏差信號的變化趨勢(變化速率),并能在偏差信號的值變得太大之前,在系統中引入一個有效的早期修正信號,從而加快系統的動作速度,減少調節時間。
由式1.2可得,模擬PID調節器的傳遞函數為
(1.3)
由于本設計主要采用數字PID算法,所以對于模擬PID只做此簡要介紹。
1.1.2 數字PID
在DDC系統中,用計算機取代了模擬器件,控制規律的實現是由計算機軟件來完成的。因此,系統中數字控制的設計,實際上是計算機算法的設計。
由于計算機只能識別數字量,不能對連續的控制算式直接進行運算,故在計算機控制系統中,首先必須對控制規律進行離散化的算法設計。
為將模擬PID控制規律按式(1.2)離散化,我們把圖1.1中 、 、 、 在第n次采樣的數據分別用 、 、 、 表示,于是式(1.1)變為 :
= - (1.4)
當采樣周期T很小時 可以用T近似代替, 可用 近似代替,“積分”用“求和”近似代替,即可作如下近似
(1.5)
(1.6)
這樣,式(1.2)便可離散化以下差分方程
(1.7)
上式中 是偏差為零時的初值,上式中的第一項起比例控制作用,稱為比例(P)項 ,即
(1.8)
第二項起積分控制作用,稱為積分(I)項 即
(1.9)
第三項起微分控制作用,稱為微分(D)項 即
(1.10)
這三種作用可單獨使用(微分作用一般不單獨使用)或合并使用,常用的組合有:
P控制: (1.11)
PI控制: (1.12)
PD控制: (1.13)
PID控制: (1.14)
式(1.7)的輸出量 為全量輸出,它對于被控對象的執行機構每次采樣時刻應達到的位置。因此,式(1.7)又稱為位置型PID算式。
由(1.7)可看出,位置型控制算式不夠方便,這是因為要累加偏差 ,不僅要占用較多的存儲單元,而且不便于編寫程序,為此對式(1.7)進行改進。
根據式(1.7)不難看出u(n-1)的表達式,即
(1.15)
將式(1.7)和式(1.15)相減,即得數字PID增量型控制算式為
(1.16)
從上式可得數字PID位置型?控制算式為
(1.17)
式中: 稱為比例增益;
稱為積分系數;
稱為微分系數[1]。
數字PID位置型示意圖和數字PID增量型示意圖分別如圖1.2和1.3所示:
圖1.2 數字PID位置型控制示意圖
圖1.3 數字PID增量型控制示意圖
1.1.3 數字PID參數整定方法
如何選擇控制算法的參數,要根據具體過程的要求來考慮。一般來說,要求被控過程是穩定的,能迅速和準確地跟蹤給定值的變化,超調量小,在不同干擾下系統輸出應能保持在給定值,操作變量不宜過大,在系統和環境參數發生變化時控制應保持穩定。顯然,要同時滿足上述各項要求是很困難的,必須根據具體過程的要求,滿足主要方面,并兼顧其它方面。
PID調節器的參數整定方法有很多,但可歸結為理論計算法和工程整定法兩種。用理論計算法設計調節器的前提是能獲得被控對象準確的數學模型,這在工業過程中一般較難做到。因此,實際用得較多的還是工程整定法。這種方法最大優點就是整定參數時不依賴對象的數學模型,簡單易行。當然,這是一種近似的方法,有時可能略嫌粗糙,但相當適用,可解決一般實際問題。下面介紹兩種常用的簡易工程整定法。
(1)擴充臨界比例度法
這種方法適用于有自平衡特性的被控對象。使用這種方法整定數字調節器參數的步驟是:
①選擇一個足夠小的采樣周期,具體地說就是選擇采樣周期為被控對象純滯后時間的十分之一以下。
②用選定的采樣周期使系統工作:工作時,去掉積分作用和微分作用,使調節器成為純比例調節器,逐漸減小比例度 ( )直至系統對階躍輸入的響應達到臨界振蕩狀態,記下此時的臨界比例度 及系統的臨界振蕩周期 。
③選擇控制度:所謂控制度就是以模擬調節器為基準,將DDC的控制效果與模擬調節器的控制效果相比較。控制效果的評價函數通常用誤差平方面積 表示。
控制度= (1.18)
實際應用中并不需要計算出兩個誤差平方面積,控制度僅表示控制效果的物理
概念。通常,當控制度為1.05時,就可以認為DDC與模擬控制效果相當;當控制度為2.0時,DDC比模擬控制效果差。
④根據選定的控制度,查表1.1求得T、 、 、 的值[1]。
表1.1 擴充臨界比例度法整定參數
控制度 控制規律 T
1.05 PI 0.03
0.53
0.88
1.05 PID 0.014
0.63
0.49
0.14
1.20 PI 0.05
0.49
0.91
1.20 PID 0.043
0.047
0.47
0.16
1.50 PI 0.14
0.42
0.99
1.50 PID 0.09
0.34
0.43
0.20
2.00 PI 0.22
0.36
1.05
2.00 PID 0.16
0.27
0.40
0.22
(2)經驗法
經驗法是靠工作人員的經驗及對工藝的熟悉程度,參考測量值跟蹤與設定值曲
線,來調整P、I、D三者參數的大小的,具體操作可按以下口訣進行:
參數整定找最佳,從小到大順序查;
先是比例后積分,最后再把微分加;
曲線振蕩很頻繁,比例度盤要放大;
曲線漂浮繞大灣,比例度盤往小扳;
曲線偏離回復慢,積分時間往下降;
曲線波動周期長,積分時間再加長;
曲線振蕩頻率快,先把微分降下來;
動差大來波動慢,微分時間應加長。
下面以PID調節器為例,具體說明經驗法的整定步驟:
①讓調節器參數積分系數 =0,實際微分系數 =0,控制系統投入閉環運行,由小到大改變比例系數 ,讓擾動信號作階躍變化,觀察控制過程,直到獲得滿意的控制過程為止。
②取比例系數 為當前的值乘以0.83,由小到大增加積分系數 ,同樣讓擾動信號作階躍變化,直至求得滿意的控制過程。
③積分系數 保持不變,改變比例系數 ,觀察控制過程有無改善,如有改善則繼續調整,直到滿意為止。否則,將原比例系數 增大一些,再調整積分系數 ,力求改善控制過程。如此反復試湊,直到找到滿意的比例系數 和積分系數 為止。
④引入適當的實際微分系數 和實際微分時間 ,此時可適當增大比例系數 和積分系數 。和前述步驟相同,微分時間的整定也需反復調整,直到控制過程滿意為止。
PID參數是根據控制對象的慣量來確定的。大慣量如:大烘房的溫度控制,一般P可在10以上,I在(3、10)之間,D在1左右。小慣量如:一個小電機閉環控制,一般P在(1、10)之間,I在(0、5)之間,D在(0.1、1)之間,具體參數要在現場調試時進行修正。
1.2 PWM脈沖控制技術
PWM(Pulse Width Modulation)控制就是對脈沖的寬度進行調制的技術。即通過對一系列脈沖的寬度進行調制,來等效地獲得所需要波形(含形狀和幅值)。
1.2.1 PWM控制的基本原理
在采樣控制理論中有一個重要的結論:沖量相等而形狀不同的窄脈沖加在具有慣性的環節上時,其效果基本相同。沖量即指窄脈沖的面積。這里所說的效果基本相同,是指環節的輸出響應波形基本相同。如果把各輸出波形用傅立葉變換分析,則其低頻段非常接近,僅在高頻段略有差異。例如圖1.4中a、b、c所示的三個窄脈沖形狀不同,其中圖1.4的a為矩形脈沖,圖1.4的b為三角脈沖,圖1.4的c為正弦半波脈沖,但它們的面積(即沖量)都等于1,那么,當它們分別加在具有慣性的同一環節上時,其輸出響應基本相同。當窄脈沖變為如圖1.4的d所示的單位脈沖函數 時,環節的響應即為該環節的脈沖過渡函數。
圖1.4 形狀不同而沖量相同的各種窄脈沖
圖1.5a的電路是一個具體的例子。圖中 為窄脈沖,其形狀和面積分別如圖1.4的a、b、c、d所示,為電路的輸入。該輸入加在可以看成慣性環節的R-L電路上,設其電流 為電路的輸出。圖1.5b給出了不同窄波時 的響應波形。從波形可以看出,在 的上升段,脈沖形狀不同時 的形狀也略有不同,但其下降段幾乎完全相同。脈沖越窄,各 波形的差異也越小。如果周期性的施加上述脈沖,則響應 也是周期性的。用傅立葉級數分解后將可看出,各 在低頻段的特性非常接近,僅在高頻段有所不同[2]。
圖1.5 沖量相同的各種窄脈沖的響應波形
1.2.2 直流電機的PWM控制技術
直流電動機具有優良的調速特性,調速平滑、方便,調速范圍廣,過載能力大,能承受頻繁的沖擊負載,可實現頻繁的無級快速起動、制動和反轉;能滿足生產過程自動化系統各種不同的特殊運行要求,在許多需要調速或快速正反向的電力拖動系統領域中得到了廣泛的應用。
直流電動機的轉速調節主要有三種方法:調節電樞供電的電壓、減弱勵磁磁通和改變電樞回路電阻。針對三種調速方法,都有各自的特點,也存在一定的缺陷。例如改變電樞回路電阻調速只能實現有級調速,減弱磁通雖然能夠平滑調速,但這種方法的調速范圍不大,一般都是配合變壓調速使用。所以在直流調速系統中,都是以變壓調速為主。其中,在變壓調速系統中,大體上又可分為可控整流式調速系統和直流PWM調速系統兩種。直流PWM調速系統與可控整流式調速系統相比有下列優點:由于PWM調速系統的開關頻率較高,僅靠電樞電感的濾波作用就可獲得平穩的直流電流,低速特性好、穩速精度高、調速范圍寬。同樣,由于開關頻率高,快速響應特性好,動態抗干擾能力強,可以獲得很寬的頻帶;開關器件只工作在開關狀態,因此主電路損耗小、裝置效率高;直流電源采用不可控整流時,電網功率因數比相控整流器高。正因為直流PWM調速系統有以上優點,并且隨著電力電子器件開關性能的不斷提高,直流脈寬調制( PWM) 技術得到了飛速的發展。
隨著科學技術的迅猛發展傳統的模擬和數字電路已被大規模集成電路所取代,這就使得數字調制技術成為可能。目前,在該領域中大部分應用的是數字脈寬調制技術。電動機調速系統采用微機實現數字化控制,是電氣傳動發展的主要方向之一。采用微機控制后,整個調速系統實現全數字化,并且結構簡單、可靠性高、操作維護方便,電動機穩態運轉時轉速精度可達到較高水平,靜動態各項指標均能較好地滿足工業生產中高性能電氣傳動的要求。下面主要介紹直流電機PWM調速系統的算法實現。
根據PWM控制的基本原理可知,一段時間內加在慣性負載兩端的PWM脈沖與相等時間內沖量相等的直流電加在負載上的電壓等效,那么如果在短時間T內脈沖寬度為 ,幅值為U,由圖1.6可求得此時間內脈沖的等效直流電壓為:
圖1.6 PWM脈沖
,若令 , 即為占空比,則上式可化為:
(U為脈沖幅值) (1.19)
若PWM脈沖為如圖1.7所示周期性矩形脈沖,那么與此脈沖等效的直流電壓的計算方法與上述相同,即
( 為矩形脈沖占空比) (1.20)
圖1.7 周期性PWM矩形脈沖
由式1.20可知,要改變等效直流電壓的大小,可以通過改變脈沖幅值U和占空比 來實現,因為在實際系統設計中脈沖幅值一般是恒定的,所以通常通過控制占空比 的大小實現等效直流電壓在0~U之間任意調節,從而達到利用PWM控制技術實現對直流電機轉速進行調節的目的。
2 設計方案與論證
2.1 系統設計方案
根據系統設計的任務和要求,設計系統方框圖如圖2.1所示。圖中控制器模塊為系統的核心部件,鍵盤和顯示器用來實現人機交互功能,其中通過鍵盤將需要設置的參數和狀態輸入到單片機中,并且通過控制器顯示到顯示器上。在運行過程中控制器產生PWM脈沖送到電機驅動電路中,經過放大后控制直流電機轉速,同時利用速度檢測模塊將當前轉速反饋到控制器中,控制器經過數字PID運算后改變PWM脈沖的占空比,實現電機轉速實時控制的目的。
圖2.1 系統方案框圖
2.2 控制器模塊設計方案
根據設計任務,控制器主要用于產生占空比受數字PID算法控制的PWM脈沖,并對電機當前速度進行采集處理,根據算法得出當前所需輸出的占空比脈沖。對于控制器的選擇有以下三種方案。
方案一:采用FPGA(現場可編輯門列陣)作為系統的控制器,FPGA可以實現各種復雜的邏輯功能[3],模塊大,密度高,它將所有器件集成在一塊芯片上,減少了體積,提高了穩定性,并且可應用EDA軟件仿真、調試,易于進行功能控制。FPGA采用并行的輸入輸出方式,提高了系統的處理速度,適合作為大規模實時系統的控制核心。通過輸入模塊將參數輸入給FPGA,FPGA通過程序設計控制PWM脈沖的占空比,但是由于本次設計對數據處理的時間要求不高,FPGA的高速處理的優勢得不到充分體現,并且由于其集成度高,使其成本偏高,同時由于芯片的引腳較多,實物硬件電路板布線復雜,加重了電路設計和實際焊接的工作。
方案二:采用AT89S51作為系統控制的方案。AT89S51單片機算術運算功能強,軟件編程靈活、自由度大,可用軟件編程實現各種算法和邏輯控制[4]。相對于FPGA來說,它的芯片引腳少,在硬件很容易實現。并且它還具有功耗低、體積小、技術成熟和成本低等優點,在各個領域中應用廣泛。
方案三:采用傳統的AT89C51單片機作為運動物體的控制中心。它和AT89S51一樣都具有軟件編程靈活、體積小、成本低,使用簡單等特點,但是它的頻率較低、運算速度慢, RAM、ROM空間小等缺點。本題目在確定圓周坐標值時?,需要進行大量的運算。若采用89C51需要做RAM,ROM來擴展其內存空間,其硬件工作量必然大大增多。
綜合上述三種方案比較,采用AT89S51作為控制器處理輸入的數據并控制電機運動較為簡單,可以滿足設計要求。因此在本次設計選用方案二。
2.3 電機驅動模塊設計方案
本次設計的主要目的是控制電機的轉速,因此電機驅動模塊是必不可少,其方案有一下兩種。
方案一:采用大功率晶體管組合電路構成驅動電路,這種方法結構簡單,成本低、易實現,但由于在驅動電路中采用了大量的晶體管相互連接,使得電路復雜、抗干擾能力差、可靠性下降,我們知道在實際的生產實踐過程中可靠性是一個非常重要的方面。因此此中方案不宜采用。
方案二:采用專用的電機驅動芯片,例如L298N、L297N等電機驅動芯片,由于它內部已經考慮到了電路的抗干擾能力,安全、可靠行,所以我們在應用時只需考慮到芯片的硬件連接、驅動能力等問題就可以了,所以此種方案的電路設計簡單、抗干擾能力強、可靠性好。設計者不需要對硬件電路設計考慮很多,可將重點放在算法實現和軟件設計中,大大的提高了工作效率。
基于上述理論分析和實際情況,電機驅動模塊選用方案二。
2.4 速度采集模塊設計方案
本系統是一閉環控制系統,在調節過程中需要將設定與當前實際轉速進行比較,速度采集模塊就是為完成這樣功能而設計的,其設計方案以下三種:
方案一:采用霍爾集成片。該器件內部由三片霍爾金屬板組成。當磁鐵正對金屬板時,由于霍爾效應,金屬板發生橫向導通[5],因此可以在電機上安裝磁片,而將霍爾集成片安裝在固定軸上,通過對脈沖的計數進行電機速度的檢測。
方案二:采用對射式光電傳感器。其檢測方式為:發射器和接受器相互對射安裝,發射器的光直接對準接受器,當測物擋住光束時,傳感器輸出產生變化以指示被測物被檢測到。通過脈沖計數,對速度進行測量。
方案三:采用測速發電機對直流電機轉速進行測量。該方案的實現原理是將測速發電機固定在直流電機的軸上,當直流電機轉動時,帶動測速電機的軸一起轉動,因此測速發電機會產生大小隨直流電機轉速大小變化的感應電動勢,因此精度比較高,但由于該方案的安裝比較復雜、成本也比較高,在本次設計沒有采用此方案。
以上三種方案中,第三種方案不宜采用,第一種和第二種方案的測速原理基本相同都是將電機轉速轉換為電脈沖的頻率進行測量,但考慮到市場中的霍爾元件比較難買,而且成本也比較高,所以綜合考慮在設計中選用第二種方案進行設計。
2.5 顯示模塊設計方案
在電機轉速控制系統中,系統需要對參數、工作方式以及電機當前運行狀態的顯示,因此在整個系統中必須設計一個顯示模塊,考慮有三種方案:
方案一:使用七段數碼管(LED)顯示。數碼管具有亮度高、工作電壓低、功耗小、易于集成、驅動簡單、耐沖擊且性能穩定等特點,并且它可采用BCD編碼顯示數字,編程容易,硬件電路調試簡單。但由于在此次設計中需要設定的參數種類多,而且有些需要進行漢字和字符的顯示,所以使用LED顯示器不能完成設計任務,不宜采用。
方案二:采用1602LCD液晶顯示器,該顯示器控制方法簡單,功率低、硬件電路簡單、可對字符進行顯示,但考慮到1602LCD液晶顯示器的屏幕小,不能顯示漢字,因此對于需要顯示大量參數的系統來說不宜采用。
方案三:采用128×64LCD液晶顯示器,該顯示器功率低,驅動方法和硬件連接電路較上面兩種方案復雜,顯示屏幕大、可對漢字和字符進行顯示。
根據本次設計的設計要求,顯示模塊選用方案三。
2.6 鍵盤模塊設計方案
在電機轉速控制系統中,系統需要按鍵進行參數的輸入、工作方式的設定以及電機起停的控制,因此鍵盤在整個系統中是不可缺少的一部分,考慮有二種方案:
方案一:采用獨立式鍵盤,這種鍵盤硬件連接和軟件實現簡單,并且各按鍵相互獨立,每個按鍵均有一端接地,另一端接到輸入線上。按鍵的工作狀態不會影響其它按鍵上的輸入狀態。但是由于獨立式鍵盤每個按鍵需要占用一根輸入口線,所以在按鍵數量較多時,I/O口浪費大,故此鍵盤只適用于按鍵較少或操作速度較高的場合。
方案二:采用行列式鍵盤,這種鍵盤的特點是行線、列線分別接輸入線、輸出線。按鍵設置在行、列線的交叉點上,利用這種矩陣結構只需m根行線和n根列線就可組成 個按鍵的鍵盤,因此矩陣式鍵盤適用于按鍵數量較多的場合。但此種鍵盤的軟件結構較為復雜[6]。
根據上面兩種方案的論述,由于本次設計的系統硬件連接比較復雜,對軟件的運行速度要求不高,所以采用方案二矩陣式鍵盤進行設計。
2.7 電源模塊設計方案
電源是任何系統能否運行的能量來源,無論那種電力系統電源模塊都是不可或缺的,對于該模塊考慮一下兩種方案。
方案一:通過電阻分壓的形式將整流后的電壓分別降為控制芯片和電機運行所需的電壓,此種方案原理和硬件電路連接都比較簡單,但對能量的損耗大,在實際應用系統同一般不宜采用。
方案二:通過固定芯片對整流后的電壓進行降壓、穩壓處理(如7812、7805等),此種方案可靠性、安全性高,對能源的利用率高,并且電路簡單容易實現。
根據系統的具體要求,采用方案二作為系統的供電模塊。
經過上述的分析與論證,系統各模塊采用的方案如下:
(1)控制模塊: 采用AT89S51單片機;
(2)電機驅動模塊:采用直流電機驅動芯片L298N實現;
(3)速度采集模塊:采用光電傳感器;
(4)顯示模塊: 采用128×64LCD液晶顯示模塊;
(5)鍵盤模塊: 采用標準的4×4矩陣式鍵盤;
(6)電源模塊: 采用7805、7812芯片實現。
3 單元電路設計
3.1 硬件資源分配
本系統電路連接及硬件資源分配見圖3.1所示。采用AT89S51單片機作為核心器件,轉速檢測模塊作為電機轉速測量裝置,通過AT89S51的P3.3口將電脈沖信號送入單片機處理,L298作為直流電機的驅動模塊,利用128×64LCD顯示器和4×4鍵盤作為人機接口。
圖3.1 系統電路連接及硬件資源分配圖
3.2 電源電路設計
電源是整個系統的能量來源,它直接關系到系統能否運行。在本系統中直流電機需要12V電源,而單片機、顯示模塊等其它電路需要5V的電源,因此電路中選用7805和7812兩種穩壓芯片,其最大輸出電流為1.5A,能夠滿足系統的要求,其電路如圖3.2所示。
圖3.2 電源電路
3.3 電機驅動電路設計
驅動模塊是控制器與執行器之間的橋梁,在本系統中單片機的I/O口不能直接驅動電機,只有引入電機驅動模塊才能保證電機按照控制要求運行,在這里選用L298N電機驅動芯片驅動電機,該芯片是由四個大功率晶體管組成的H橋電路構成,四個晶體管分為兩組,交替導通和截止,用單片機控制達林頓管使之工作在開關狀態,通過調整輸入脈沖的占空比,調整電動機轉速。其中輸出腳(SENSEA和SENSEB?)用來連接電流檢測電阻,Vss接邏輯控制的電源。Vs為電機驅動電源。IN1-IN4輸入引腳為標準TTL 邏輯電平信號,用來控制H橋的開與關即實現電機的正反轉,ENA、ENB引腳則為使能控制端,用來輸入PWM信號實現電機調速。其電路如圖3.3所示,利用兩個光電耦合器將單片機的I/O與驅動電路進行隔離,保證電路安全可靠。這樣單片機產生的PWM脈沖控制L298N的選通端[7],使電機在PWM脈沖的控制下正常運行,其中四個二極管對芯片起保護作用。
圖3.3 電機驅動電路
3.4 電機速度采集電路設計
在本系統中由于要將電機本次采樣的速度與上次采樣的速度進行比較,通過偏差進行PID運算,因此速度采集電路是整個系統不可缺少的部分。本次設計中應用了比較常見的光電測速方法來實現,其具體做法是將電機軸上固定一圓盤,且其邊緣上有N個等分凹槽如圖3.5(a)所示,在圓盤的一側固定一個發光二極管,其位置對準凹槽處,在另一側和發光二極光平行的位置上固定一光敏三極管,如果電動機轉到凹槽處時,發光二極管通過縫隙將光照射到光敏三極管上,三極管導通,反之三極管截止,電路如圖3.4(b)所示,從圖中可以得出電機每轉一圈在P3.3的輸出端就會產生N個低電平。這樣就可根據低電平的數量來計算電機此時轉速了。例如當電機以一定的轉速運行時,P3.3將輸出如圖3.5所示的脈沖,若知道一段時間t內傳感器輸出的低脈沖數為n,則電機轉速v=r/s?。
(a) (b)
圖3.4 電機速度采集方案
圖3.5 傳感器輸出脈沖波形
3.5 顯示電路設計
根據設計要求要對系統各項參數和電機運行狀態進行顯示,因此在電路中加入顯示模塊是非常必要的。在系統運行過程中需要顯示的數據比較多,而且需要漢字顯示,在這里選用128×64液晶顯示器比較適合,它是一種圖形點陣液晶顯示器,主要由行驅動器/列驅動器及128×64全點陣液晶顯示器組成,可完成漢字(16×16)顯示和
圖形顯示共有20個引腳[8],其引腳名稱及引腳編號的對應關系如圖3.6,引腳功能如表3.1所示。
圖3.6 128×64LCD引腳分布
表3.1 12864液晶顯示模塊引腳功能
引腳 符 號 引 腳 功 能 引腳 符 號 引 腳 功 能
1 VSS 電源地 15 CS1 CS1=1芯片選擇左邊64*64點
2 VDD 電源正+5V 16 CS2 CS2=1芯片選擇右邊64*64點
3 VO 液晶顯示驅動電源 17 /RST 復位(低電平有效)
4 RS H:數據輸入;
L:指令碼輸入 18 VEE LCD驅動負電源
5 R/W H:數據讀。
L:數據寫入 19 A 背光電源(+)
6 E 使能信號。 20 K 背光電源(-)
7-14 DB0-DB7 數據線 有些型號的模塊19、20腳為空腳
128×64液晶顯示器與單片機的連接電路如圖3.7所示:
圖3.7 顯示模塊電路圖
3.6 鍵盤電路設計
根據設計需求,本系統中使用了4×4鍵盤用以實現對P、I、D三個參數和電機正反轉的設定,以及對電機啟動、停止、暫停、繼續的控制,其電路原理圖如圖4.8所示。圖中L0~L3為4×4鍵盤的列信號,H0~H3為4×4鍵盤的行信號。在本系統中,用P1.0~P1.3連接鍵盤的列信號L0~L3;用P0.4~P0.7連接鍵盤的行信號H0~H3[9]。按照要求設計操作面板如圖3.8所示:
圖3.8 鍵盤模塊
鍵盤操作說明:在系統開始運行時,128×64LCD將顯示開機界面,若按下設置鍵顯示屏進入參數設置界面,此時按1、2、3、4進入相應參數的設置的狀態,輸入相應的數字即可完成該參數的設置,待所有量設置完成后按正/反控制鍵設置正反轉,最后按啟動鍵啟動系統,在運行過程中可按下相應鍵對電機進行暫停、繼續、停止運行的控制。
4 軟件設計
4.1 算法實現
4.1.1 PID算法
本系統設計的核心算法為PID算法,它根據本次采樣的數據與設定值進行比較得出偏差 ,對偏差進行P、I、D運算最終利用運算結果控制PWM脈沖的占空比來實現對加在電機兩端電壓的調節[10],進而控制電機轉速。其運算公式為:
因此要想實現PID控制在單片機就必須存在上述算法,
其程序流程如圖4.1所示。
4.1.2 電機速度采集算法
本系統中電機速度采集是一個非常重要的部分,它的精度直接影響到整個控制的精度。在設計中采用了光電傳感器做為測速裝置,其計算公式為:
v= r/min
從這里可以看出速度v的誤差主要是由圓盤邊緣上的凹槽數的多少決定的,為了減少系統誤差應盡量提高凹槽的數量,在本次設計中取凹槽數N為120,采樣時間t為0.5s,則速度計算具體程序流程如圖4.2所示。
圖4.2 測速程序流程
4.2 程序流程
4.2.1 主流程圖
在一個完整的系統中,只有硬件部分是不能完成相應設計任務的,所以在該系統中軟件部分是非常重要的,按照要求和系統運行過程設計出主程序流程如圖4.3所示。
圖4.3 主程序流程
4.2.2 鍵盤程序程序流程
鍵盤中斷程序是用來設在系統相應參數和控制系統進入相應的運行狀態,其程序流程圖如圖4.4所示。
圖4.4 鍵盤程序流程
4.2.3 定時程序流程
在本系統中定時器T0中斷子程序是用來控制電機運行時間和進行速度計算和PID 運算,其程序流程如圖4.5所示。
圖4.5 定時程序流程
4.2.4 顯示程序流程
顯示模塊是實現人機對話的重要部分,在這里選用128×64LCD顯示器可實現對漢字和字符的顯示,該顯示器的引腳功能在上面已經做了說明,下面介紹128×64LCD的相關指令。
(1)讀取狀態字
D/I R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 1 BUSY 0 ON/OFF RST 0 0 0 0
當R/W=1,D/I=0時,在E信號為高的作用下,狀態分別輸出到數據總線上。狀態字是了解模塊當前工作狀態的唯一的信息渠道,在每次對模塊操作之前,都要讀出狀態字判斷BUSY是否為“0”。若不為“0”,則計算機需要等待,直至BUSY =0為止。
(2)顯示開關設置
D/I R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 0 1 1 1 1 1 D
D=1:開顯示;D=0關顯示。
(3)顯示起始行設置
D/I R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 1 1 顯示起始行(0~63)
指令表中DB5~DB0為顯示起始行的地址,取值在0~3FH(1~64行)范圍內,它規定了顯示屏上最頂一行所對應的顯示存儲器的行地址。
(4)頁面地址設置
D/I R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 1 0 1 1 1 Page(0~7)
頁面地址是DDRAM的行地址。8行為一頁,DDRAM共64行即8頁,DB2-DB0表示0-7頁。
(5)列地址設置
D/I R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0 0 1 Yaddress(0~63)
列地址是DDRAM的列地址。共64列,DB5-DB0取不同值得到0-3FH(1-64),代表某一頁面上的某一單元地址,列地址計數器在每一次讀/寫數據后它將自動加一。
(6)寫顯示數據
D/I R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
1 0 顯 示 數 據
該操作將8位數據寫入先前已確定的顯示存儲器的單元內。操作完成后列地址計數器自動加一。
(7)讀顯示數據
D/I R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
1 1 顯 示 數 據
該操作將12864模塊中的DDRAM存儲器對應單位中的內容讀出,然后列地址計數器自動加一。
根據上面指令結合系統要實行的功能,其顯示子程序流程如圖4.6所示。
圖4.6 顯示程序流程
4.3 系統Proteus仿真
4.3.1 Proteus軟件簡介
Proteus是英國Labcenter electronics公司研發的EDA設計軟件, 是一個基于ProSPICE混合模型仿真器的,完整的嵌入式系統軟、硬件設計仿真平臺。 Proteus不僅可以做數字電路、模擬電路、數;旌想娐返姆抡,還可進行多種CPU的仿真,涵蓋了51、PIC、AVR、HC11、ARM等處理器,真正實現了在計算機從原理設計、電路分析、系統仿真、測試到PCB板完整的電子設計,實現了從 概念到產品的全過程。以下為本系統在Protues中的仿真流程:
(1)新建文件:打開Protues點File,在彈出的下拉菜單中選擇New Design,在彈出的圖幅選擇對話框中選Default。
(2)設置編輯環境:按上述的方法對Protues的設計環境進行設置。
(3)元器件選取:按設計要求,在對象選擇窗口中點P,彈出Pickdevices對
話框,在Keywords中填寫要選擇的元器件,然后在右邊對話框中選中要選的元器件,則元器件列在對象選擇的窗口中如圖4.7所示。
本設計所需選用的元器件如下:
①AT89C51:單片機
②RES、RX8、RESPACK-8:電阻、排阻、上拉電阻 圖4.7 Proteus元器件選取界面
③CRYSTAL:晶振
④CAP、CAP-ELEC:電容、電解電容
⑤7805、7812:5V、12V三端穩壓塊
⑥IN4007:二極管
⑦AMPIRE128 64:液晶顯示器
⑧OPTOCUPLER-NPN:光電耦合器
⑨BOUTTON:按鍵
⑩MOTOR-ENCODER:直流電機
放置元器件、放置電源和地、連線,得到附錄Ⅱ所示的系統整體電路,最后進行電氣檢測。
(4)程序編譯
點菜單Source→Add/Remove sou rce Files”在出現的對話框如圖4.8中,選擇ASEM51編輯器,將上面的匯編源程序SEKED.ASM添加。再點菜單Source→Build ALL編譯匯編源程序,生成目標代碼文件SWLED.HEX。
(5)程序加載 圖4.8 程序添加界面
在編輯環境左擊單片機然后右擊,在彈出的對話框中將編譯生成的HEX文件加載到芯片中,設單片機的時鐘工作頻率為12MHZ。
(6)電路仿真
點仿真按鍵,按照前面介紹的系統使用方法進行仿真。
5 系統測試與分析
為了確定系統與設計要求的符合程度,需要進行系統測試與分析,但是由于試驗調節的制約和時間的限制,不能完成此次制作,只能通過軟件仿真進行驗證,在這里使用的是英國的Proteus軟件進行測試,有關改軟件的使用在前面的章節已經介紹,在這里不再重復。
根據第1章PID參數整定方法的介紹與分析,對于本系統采用經驗法進行參數整定,該方法調試的原則為:
先是比例后積分,最后再把微分加;
曲線振蕩很頻繁,比例度盤要放大;
曲線漂浮繞大灣,比例度盤往小扳;
曲線偏離回復慢,積分時間往下降;
曲線波動周期長,積分時間再加長;
曲線振蕩頻率快,先把微分降下來;
動差大來波動慢,微分時間應加長。
下面以PID調節器為例,具體說明經驗法的整定步驟:
①讓調節器參數積分系數 =0,實際微分系數 =0,控制系統投入閉環運行,由小到大改變比例系數 ,讓擾動信號作階躍變化,觀察控制過程,直到獲得滿意的控制過程為止。
②取比例系數 為當前的值乘以0.83,由小到大增加積分系數 ,同樣讓擾動信號作階躍變化,直至求得滿意的控制過程。
③積分系數 保持不變,改變比例系數 ,觀察控制過程有無改善,如有改善則繼續調整,直到滿意為止。否則,將原比例系數 增大一些,再調整積分系數 ,力求改善控制過程。如此反復試湊,直到找到滿意的比例系數 和積分系數 為止。
④引入適當的實際微分系數 和實際微分時間 ,此時可適當增大比例系數 和積分系數 。和前述步驟相同,微分時間的整定也需反復調整,直到控制過程滿意為止。
PID參數是根據控制對象的慣量來確定的。大慣量如:大烘房的溫度控制,一般P可在10以上,I在(3、10)之間,D在1左右。小慣量如:一個小電機閉環控制,一般P在(1、10)之間,I在(0、5)之間,D在(0.1、1)之間,具體參數要在現場調試時進行修正。
根據上訴方法,通過軟件仿真系統得出數據如表5.1所示,通過觀察得出該系統比較合適的P、I、D三者的參數值為: =2, =2.2, =0.2。并且可以反映
表5.1 測試數據表
次數 設定
設定
設定
設定(r/min) 超調量 調節時間(s) 誤差
1 2 2.2 0.2 100 8% 4
2 3 2.2 0.2 100 15% 5
3 4 2.2 0.2 100 22% 11
4 1 2.2 0.2 100 5% 6
5 0 2.2 0.2 100 1% 12
6 2 1.1 0.2 100 6% 8
7 2 0 0.2 100 2% 15
8 2 3.3 0.2 100 8% 5
9 2 4.4 0.2 100 9% 7
10 2 2.2 0.1 100 8% 6
11 2 2.2 0 100 6% 5
12 2 2.2 0.3 100 7% 5
13 2 2.2 0.4 100 6% 7
出PID調節器各校正環節的作用是:
(1)比例環節: 值的選取決定于系統的響應速度。增大 能提高響應速度,減小穩態誤差;但是, 值過大會產生較大的超調,甚至使系統不穩定減小 可以減小超調,提高穩定性,但 過小會減慢響應速度,延長調節時間;
(2)積分環節:主要用于消除靜差,提高系統的無差度。積分作用的強弱取決于積分時間常數 , 越大,積分作用越弱,反之則越強;
(3)微分環節:能反映偏差信號的變化趨勢(變化速率),并能在偏差信號的值變得太大之前,在系統中引入一個有效的早期修正信號,從而加快系統的動作速度,減少調節時間。
通過上訴的數據分析可知,該系統完成了設計的任務及要求,證實了設計方案的可行性和設計方法的正確性。
結論
本課題的目的在于利用單片機實現PID算法產生PWM脈沖來控制電機轉速。到目前為止通過對控制器模塊、電機驅動模塊、LCD顯示模塊、鍵盤模塊、數字PID算法等進行深入的研究。完成了硬件電路的系統設計,并且利用Protel99se軟件繪制出PCB圖紙(見附錄Ⅳ),但由于實驗條件不足沒能做出PCB板。軟件方面利用C語言進行編程,增強了程序的可移植性和靈活性,并且利用Proteus軟件進行仿真更加保證了程序的準確性。
歸納起來主要做了如下幾方面的工作:1、PID算法與PWM控制技術有機的結合;2、設計了速度檢測電路;3、利用C語言進行程序設計,并通過仿真(部分源程序見附錄Ⅱ);4、利用Protel99se對PCB板進行繪制。根據上面論述結合測試數據可以看出本次設計基本完成了設計任務和要求。
通過此次設計,掌握了數字PID算法的使用及編程方法,學習了如何進行系統設計及相關技巧,為今后的工作和學習奠定了堅實的基礎。
完整的Word格式文檔51黑下載地址(附帶完整圖片):
[畢業設計]基于單片機和PID算法的直流電機調速設計(原創).doc
(1.98 MB, 下載次數: 60)
2018-4-2 20:18 上傳
點擊文件名下載附件
電路圖,程序代碼 下載積分: 黑幣 -5
|