一、實驗目的和要求
掌握脈寬調(diào)制調(diào)速的原理與方法,學習頻率/周期測量的方法,了解閉環(huán)控制的原理。
二、實驗設備
單片機測控實驗系統(tǒng)
直流電機調(diào)速實驗模塊
Keil開發(fā)環(huán)境
STC-ISP程序下載工具
三、實驗內(nèi)容
1. 編寫程序,能夠在數(shù)碼管上顯示一個數(shù)值。
2. 固定向P1.1輸出0,然后測量每秒鐘電機轉動的轉數(shù),將其顯示在數(shù)碼管,每秒刷新一次即可。
3. 使用脈寬調(diào)制的方法,動態(tài)調(diào)整向P1.1輸出的內(nèi)容,使得電機轉速能夠穩(wěn)定在一個預定值附近,同時實時顯示當前轉速。
4. 根據(jù)輸入修改電機轉速目標值,設置兩個轉速目標值:低轉速和高轉速。
5. 每隔一秒鐘讀取兩個開關的狀態(tài),如果S1按下,動態(tài)調(diào)整輸出,使得電機轉速能夠穩(wěn)定到低轉速目標值附近,如果S2按下,動態(tài)調(diào)整輸出,使得電機轉速能夠穩(wěn)定到高轉速目標值附近。交替顯示目標值和當前轉速值。
四、實驗步驟
1. 建立工程,實現(xiàn)實驗內(nèi)容1
參考輔助材料,學習8031匯編語言使用和直流電機原理。
2. 編寫中斷程序,測量電機轉速
本程序需要使用定時器定時,并使用中斷來同步。中斷程序的典型例子如下:
ORG 0000H
LJMP START
ORG 000BH
LJMP T0IN ;中斷向量表
ORG 0040H
START: 。。.;初始化
。。.
T0IN: 。。.;中斷程序
。。.
RETI ;中斷返回
END
3. 完成控制轉速程序
按照脈寬調(diào)制的原理,再添加一個快速的定時中斷(0.1ms左右),在這個中斷里面動態(tài)改變P1.1的輸出,宏觀上輸出有效(0)的比例就是預定的控制變量。這個控制變量增大,電機轉速就應該提高,但由于各種內(nèi)部和外部因素,它們之間不存在簡單的函數(shù)關系,因此必須根據(jù)測量出來的實際轉速進行動態(tài)調(diào)整。
首先將電機轉速控制在一個預定數(shù)值附近,在每一個1秒鐘中斷測量出當前轉速之后,將其與目標值相對比,如果不夠則增加控制變量,否則減少之,這樣就能逐步達到穩(wěn)定轉速的目的。同時將速度顯示出來。
4. 完成整體實驗內(nèi)容
在上面程序的基礎上,再加上根據(jù)開關狀態(tài)改變預定轉速的代碼。同時,在主程序中交替顯示目標值和當前轉速值,顯示一個內(nèi)容之后等待一段時間(可以由延時代碼實現(xiàn)),然后再顯示另一個并延時。要顯示的內(nèi)容都是在中斷中被修改的。
五、實驗原理
本實驗示意電路原理圖(圖中的P1.3應改為P1.1):
對于直流電機來說,其轉速由輸入電壓決定,因此具有平滑調(diào)速的效果;相比而言,交流電機的轉速由交流電頻率和電機結構決定,難以改變速度。當然,交流電機構造簡單,沒有換向器,所以容易制造高轉速、高電壓、大電流、大容量的電機;而直流電機一般用在負荷小,但要求轉速連續(xù)可調(diào)的場合,如伺服電機。
脈寬調(diào)制(Pulse Width Modulation,PWM)是一種能夠通過開關量輸出達到模擬量輸出效果的方法。使用PWM可以實現(xiàn)頻率調(diào)制、電壓調(diào)制等效果,并且需要的外圍器件較少,特別適合于單片機控制領域。這里只關心通過PWM實現(xiàn)電壓調(diào)制,從而控制直流電機轉速的效果。也稱作脈寬調(diào)制調(diào)速。
PWM的基本原理是通過輸出一個很高頻率的0/1信號,其中1的比例為δ(也叫做占空比),在外圍積分元件的作用下,使得總的效果相當于輸出δ×A(A為高電平電壓)的電壓。通過改變占空比就可以調(diào)整輸出電壓,從而達到模擬輸出并控制電機轉速的效果。
使用單片機實現(xiàn)PWM,就是根據(jù)預定的占空比δ來輸出0和1,這里δ就是控制變量。最簡單的辦法就是以某個時間單位(如0.1ms,相當于10kHz)為基準,在前N段輸出1,后M-N段輸出0,總體的占空比就是N/M。這種方法由于0和1分布不均勻,所以要求基準頻率要足夠高,否則會出現(xiàn)顛簸現(xiàn)象。
要達到更穩(wěn)定的效果,可以采用累加進位法如果將總的周期內(nèi)的0和1均勻分散開。設置一個累加變量x,每次加N,若結果大于M,則輸出1,并減去M;否則輸出0。這樣整體的占空比也是N/M。在實驗中取M=256可以使程序更加簡單。
另外,由于本實驗板的設計,輸出0使電機工作。因此對于本實驗,上面所說的0和1要翻轉過來用。
在本實驗板中,電機每轉動一次,與之相連的偏心輪將遮擋光電對管一次,因此會產(chǎn)生一個脈沖,送到INT0。要測量轉速,既可以測量相鄰兩次中斷之間的時間;也可以測量一秒種之內(nèi)發(fā)生的中斷次數(shù)。顯然,后一種方法更加簡單。
進行轉速控制時,涉及到三個變量:預期轉速,實際轉速和控制變量。這里控制變量就是占空比。我們并不能夠預先精確知道某個控制變量的值會導致多少的實際轉速,因為這里有很多內(nèi)部和外部因素起作用(如摩擦力,慣性等),但可以確定就是隨著控制變量的增加,實際轉速會增加。
反饋控制的基本原理就是根據(jù)實際結果與預期結果之間的差值,來調(diào)節(jié)控制變量的值。當實際轉速高于預期轉速時,我們需要減少控制變量,以降低速度;反之則需要調(diào)高控制變量。
本實驗的轉速控制可以使用簡單的比例控制算法,也就是當轉速S大于預定值時,將輸出0的個數(shù)減少;當轉速小于預定值時,將輸出0的個數(shù)增加。改變值正比于測量出的差值。也可自行使用其他更加復雜的算法。
實驗中采用的電機最大轉速在200轉/s左右,轉速小于40轉/s左右將不穩(wěn)定,可能會停轉。
六、一點想法
在本次實驗中,PWM脈寬調(diào)制是通過改變低電平(0,存在61H中)和高電平(1,存在60H中)的輸入比例實現(xiàn)的。初始時,高低電平均為100次(可以隨便設置,高低電平次數(shù)也可以不同),比例為1:1。當當前轉速低于目標轉速時,增加低電平輸入次數(shù),減少高電平輸入次數(shù)(兩者總和不變,還是200次),增加了低電平的占空比,轉速提高。當當前轉速高于目標轉速時,減少低電平輸入次數(shù),增加高電平輸入次數(shù)(兩者總和不變,還是200次),降低了低電平的占空比,轉速降低。
60H+61H的和(高低電平輸入總和)影響轉速調(diào)整精度和速度,值越大,精度越高(擺動越?。?,轉速調(diào)整越慢;相反,值越小,轉速調(diào)整越快,但精度越低(擺動越大)。
轉速調(diào)整的速度和精度還可以通過每次轉速調(diào)整時,60H(高電平輸入次數(shù))和61H(低電平輸入次數(shù))調(diào)整的幅度來調(diào)控。幅度越大,轉速調(diào)整越快,但精度越低,幅度越小,精度越高,轉速調(diào)整越慢。
60H和61H中的數(shù)可以隨便(為正即可)取,但在整個過程中,61H+60H的值一定為一個定值,這樣才能確定改變的是占空比。
-
單片機
+關注
關注
6067文章
44973瀏覽量
650002 -
直流電機
+關注
關注
36文章
1733瀏覽量
71758 -
PWM
+關注
關注
116文章
5487瀏覽量
219212 -
定時器
+關注
關注
23文章
3298瀏覽量
118770
發(fā)布評論請先 登錄
單片機各種復位電路原理
基于51單片機的溫濕度檢測與調(diào)節(jié)系統(tǒng)電路圖
stm32單片機畢業(yè)設計——物聯(lián)網(wǎng)智能家居源代碼原理圖

單片機電路圖用什么軟件畫
基于C2000單片機的Boost電路峰值電流控制實現(xiàn)

評論