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

單片機控制繼電器驅動電路圖

評論