




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 PWM控制直流電機 電動機調速系統(tǒng)采用微機實現(xiàn)數(shù)字化控制,是電氣傳動發(fā)展的主要方向之一。采用微機控制后,整個調速系統(tǒng)實現(xiàn)全數(shù)字化,結構簡單,可靠性高,操作維護方便,電動機穩(wěn)態(tài)運轉時轉速精度可達到較高水平,靜動態(tài)各項指標均能較好地滿足工業(yè)生產中高性能電氣傳動的要求。PWM 調速系統(tǒng)與可控整流式調速系統(tǒng)相比有下列優(yōu)點1 :由于PWM 調速系統(tǒng)的開關頻率較高,僅靠電樞電感的濾波作用就可獲得平穩(wěn)的直流電流,低速特性好;同樣,由于開關頻率高,快速響應特性好,動態(tài)抗干擾能力強,可以獲得很寬的頻帶;開關器件只工作在開關狀態(tài),主電路損耗小,裝置效率高。PWM 調速系統(tǒng)很早已出現(xiàn),但是因為缺乏高速開關元件而未
2、能在生產實際中推廣應用。在近年來,由于大功率開關器件的制造成功和成本的不斷下降, PWM調速系統(tǒng)又受到重視。1、鍵盤設置電機轉速原理 通過鍵盤按鍵在數(shù)碼管上顯示出來電機的給定轉速,鍵盤給定的數(shù)字量越大, PWM占空比越大,就驅動晶體管導通的時間越長,這樣輸出的計數(shù)脈沖在單位時間內也就越多,這樣就相當于電機的電壓越大,其轉速也就會越快,我們再用單片機對輸出脈沖計數(shù),PID調節(jié)器就把這個計數(shù)脈沖和預先設定的 值進行比較,比設定值小,這樣就會得到一個偏差,再把這個偏差給定電壓,這樣就相當于加大了PWM的占空比,要是比設定值大,這樣也會得到一個偏差,就把這個變差與給定的電壓向減,這樣就可以減少PWM的
3、占空比,通過改變占空比來改變晶體管的導通時間,就可以改變壓頻轉換器的輸入電壓,也就改變壓頻轉換器的單位計數(shù)脈沖,達到調電動機速度的目的。2、AD轉換設置電機轉速(1)、原理 基本的設計核心是運用PID調節(jié)器,運用A/D轉換芯片將滑動變阻器的模擬電壓轉換為數(shù)字量作為控制直流電機速度的給定值;我們現(xiàn)運用AD芯片,運用單片機來控制AD芯片來轉換模擬電壓到數(shù)字電壓,AD給定的電壓越大,則產生的數(shù)字量越大,單片機再控制這個數(shù)字量來產生一個PWM,PWM占空比越大,就驅動晶體管導通的時間越長,這樣加到壓頻轉換器的電壓也就越大,電壓越大,則壓頻轉換器輸出的計數(shù)脈沖再單位時間也就越多,這樣就相當于電機的電壓越
4、大,其轉速也就會越快,我們再用單片機對壓頻轉換器的輸出脈沖計數(shù),PID調節(jié)器就把這個計數(shù)脈沖和預先設定的 值進行比較,比設定值小,這樣就會得到一個偏差,再把這個偏差加到AD的給定電壓,這樣就相當于加大了PWM的占空比,要是比設定值大,這樣也會得到一個偏差,就把這個變差與給定的電壓向減,這樣就可以減少PWM的占空比,通過改變占空比來改變晶體管的導通時間,就可以改變壓頻轉換器的輸入電壓,也就改變壓頻轉換器的單位計數(shù)脈沖,達到調電動機速度的目的。(2)、模塊圖3、單片機雙機通訊4、調速原理PWM(即脈沖寬度調制)是通過控制固定電壓的直流電源開關頻率,改變負載兩端的電壓,從而達到控制要求的一種電壓調整
5、方法。PWM 可以應用在許多方面,比如:電機調速、溫度控制、壓力控制等等。采用由達林頓管組成的H型PWM電路。用單片機控制達林頓管使之工作在占空比可調的開關狀態(tài),精確調整電動機轉速。這種電路由于工作在管子的飽和截止模式下,效率非常高;H型電路保證了可以簡單地實現(xiàn)轉速和方向的控制;電子開關的速度很快,穩(wěn)定性也極佳,是一種廣泛采用的PWM調速技術。我們采用了定頻調寬方式,因為采用這種方式,電動機在運轉時比較穩(wěn)定;并且在采用單片機產生PWM脈沖的軟件實現(xiàn)上比較方便。且對于直流電機,采用軟件延時所產生的定時誤差在允許范圍。5 電源模塊設計5.1、原理通過變壓器將220V的交流電壓變?yōu)榧s為12V的交流電
6、壓,通過整流橋將交流電壓變?yōu)橹绷麟妷?,由于電壓有波動,需經電容濾波濾除雜波,而后在經過穩(wěn)壓管(三端穩(wěn)壓集成電路有正電壓輸出的78××系列和負電壓輸出的79××系列。故名思義,三端IC是指這種穩(wěn)壓用的集成電路只有三條引腳輸出,分別是輸入端、接地端和輸出端。)7805和7809將電壓變?yōu)榛痉€(wěn)定的5V和9V的直流電壓5.2、電路圖6 鍵盤模塊設計6.1原理鍵是一種常開型按鈕開關,平時鍵的二個觸點處于斷開狀態(tài),按下鍵時它們才閉合。鍵盤上閉合鍵的識別由專用的硬件譯碼器實現(xiàn)并產生鍵編號或鍵值的稱為編碼鍵盤,在按鍵數(shù)量較多的場合,矩陣鍵盤與獨立按鍵鍵盤相比,要節(jié)省很
7、多的I/O口。矩陣鍵盤的按鍵設置在行、列線的交點上,行、列線分別連接到按鍵開關的兩端。列線通過上拉電阻接到+5V。平時無按鍵動作時,列線處于高電平狀態(tài),而當由按鍵按下時,列線電平狀態(tài)將由與此列線相連的行線電平決定。行線電平如果為低,則列線電平為低;行線電平如果為高,則列線電平亦為高。當鍵盤中沒有鍵按下時,所有行線的輸出都應為低電平,以區(qū)別于列線狀態(tài),當矩陣鍵盤中任何一只鍵按下時,與門輸出由高電平變?yōu)榈碗娖?,向CPU申請中斷,由于矩陣鍵盤中行、列線為多鍵共用,各按鍵均影響該鍵所在行和列的電平。因此各按鍵彼此將相互發(fā)生影響,所以必須將行、列線信號配合起來并作適當?shù)奶幚?,才能確定閉合鍵的位置。6.2
8、電路圖7顯示模塊設計7.1原理數(shù)碼管顯示電路的鏈接比較簡單,當鍵盤輸入的鍵值(即轉速值)輸入完成后,數(shù)碼管開始進行顯示,從低到高依次顯示速度值的百位,十位和個位。依靠不斷掃描形成全部都顯示的目的7.2電路圖8電機驅動電路-H橋模塊設計8.1、原理H橋式電機驅動電路包括4個三極管和一個電機,電路得名于“H橋驅動電路”是因為它的形狀酷似字母H。要使電機運轉,必須導通對角線上的一對三極管。根據(jù)不同三極管對的導通情況,電流可能會從左至右或從右至左流過電機,從而控制電機的轉向。8.2、電路圖9 霍爾測速模塊設計9.1霍爾傳感器的工作原理霍爾開關集成電路中的信號放大器將霍爾元件產生的幅值隨磁場強度變化的霍
9、爾電壓UH放大后再經信號變換器、驅動器進行整形、放大后輸出幅值相等、頻率變化的方波信號。信號輸出端每輸出一個周期的方波,代表轉過了一個齒。單位時間內輸出的脈沖數(shù)N,因此可求出單位時間內的速度VNT,從而實現(xiàn)達到測電機轉速的功能。9.2電路圖10 ADC轉換模塊設計10.1、原理在這里ADC轉換我們通過IIC總線原理來實現(xiàn)的。IIC總線是由數(shù)據(jù)線SDA和時鐘SCL構成的串行總線,可發(fā)送和接收數(shù)據(jù)。各種被控制電路均并聯(lián)在這條總線上,所以每個電路和模塊都有唯一的地址,在信息的傳輸過程中,IIC總線上并接的每一模塊電路既是主控器,又是發(fā)送器,這取決于它所要完成的功能。CPU發(fā)出的控制信號分為地址碼和控
10、制量兩部分,地址碼用來選址,即接通需要控制的電路,確定控制的種類;控制量決定該調整的類別及需要調整的量。IIC總線在傳送數(shù)據(jù)過程中共有三種類型信號,它們分別是:開始信號、結束信號和應答信號。 開始信號:SCL為高電平時,SDA由高電平向低電平跳變,開始傳送數(shù)據(jù)。 結束信號:SCL為低電平時,SDA由低電平向高電平跳變,結束傳送數(shù)據(jù)。 應答信號:接收數(shù)據(jù)的IC在接收到8bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的IC發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。10.2、電路圖11 單片機雙機通訊模塊設計串口通訊對單片機而言意義重大,不但可以實現(xiàn)將單片機的數(shù)據(jù)傳輸?shù)接嬎銠C端,而且也
11、能實現(xiàn)計算機對單片機的控制。由于其所需電纜線少,接線簡單,所以在較遠距離傳輸中,得到了廣泛的運用。11.1、原理 波特率選擇:波特率就是在串口通信中每秒能夠發(fā)送的位數(shù)。MCS-51串行端口在四種工作模式下有不同的波特率計算方法。 通信協(xié)議的使用:通信協(xié)議是通信設備在通信前的約定。單片機、計算機有了協(xié)議這種約定,通信雙方才能明白對方的意圖,以進行下一步動作。假定我們需要在PC機與單片機之間進行通信,在雙方程式設計過程中,有如下約定: 0xA1:單片機讀取P0端口數(shù)據(jù),并將讀取數(shù)據(jù)返回PC機; 0xA2:單片機從PC機接收一段
12、控制數(shù)據(jù); 0xA3:單片機操作成功信息。11.2、電路圖軟件系統(tǒng)程序(1)單片機軟件系統(tǒng)程序/*包含頭文件*/#include<reg52.h>#include <intrins.h>/*數(shù)碼管表格*/unsigned char ledmap=0xC0, 0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x8c,0xf0,0xbf;/0x88,0x83,0xc6,0xa1,0x86,0x8eunsigned char ledbuf8;unsigned char flag;unsigned c
13、har num=0;unsigned char keybuf2;unsigned char m,n,k,l,s;unsigned char keydata;/鍵盤輸入值unsigned int count=0; /定時器的累加器unsigned int CYCLE; /定義定時器的周期unsigned int plus=0; /接收到外部脈沖的數(shù)unsigned char databuf; /轉速處理值unsigned int CYC; /定義周期 該數(shù)字X基準定時時間 如果是1000 則周期是1000 x 0.1msunsigned int PWM_ON ;/定義高電平時間unsigned
14、int cont; unsigned char tmp; /串口接收值unsigned char Flag1=0;unsigned char tt=0;unsigned char j;sbit led1=P35;sbit pwm= P36;/定義pwm輸出口sbit Bee=P37; /定義蜂鳴器端口/*- 定時器初始化子程序-*/void Init_Timer(void)TMOD |= 0x21; /使用模式1,16位定時器,使用"|"符號可以在使用多個定時器時不受影響 TH0=0xDC; TL0=0x00; /定時10mSTH1 = 0xA3; /晶振12M 定時0.1
15、ms TL1 = 0xA3; ET0=1; /定時器中斷打開 ET1=1; /* 延時子程序*/void delay(unsigned char t) unsigned char i; while(t-!=0) for(i=255;i!=0;i-);/*- 定時器初始化子程序-*/void Init_int0(void) IT0=1; /電平觸發(fā) EX0=1; /外部中斷0開/*- 外部中斷0中斷子程序-*/void int0(void) interrupt 0 plus+; led1=led1;/*- 定時器中斷子程序-*/void time0(void) interrupt 1 count
16、+; if(count=CYCLE) count=0; databuf=plus;plus=0;if(tt!=2) tt+; TH0=0xDC; TL0=0x00; /定時10mS /*- 轉速數(shù)據(jù)處理顯示子程序-*/void datamake(unsigned int th) unsigned char a1,a2;a1=th/10;a2=th%10;ledbuf0=ledmap10;ledbuf1=ledmap12;ledbuf2=ledmapa1;ledbuf3=ledmapa2;/* 定時器中斷函數(shù) */void time1(void) interrupt 3 /定時器1中斷 cont
17、+;if (cont=PWM_ON) pwm = 1; /燈滅 if(cont = CYC) cont=0; pwm = 0; /燈亮 /* 按鍵檢測子程序*/unsigned char testkey() P1=0x0f;return(P1&0x0f);/* 比較處理函數(shù) */void compare(unsigned int th1,unsigned int th2) if(th1!=th2) if(th1<th2) Flag1=1; else Flag1=2; if(Flag1=1) PWM_ON= PWM_ON+10; if(PWM_ON > 800) Bee=0;
18、 delay(100); Bee=1; if(Flag1=2) /亮度遞減 同上,是個相反的過程 PWM_ON= PWM_ON-5; if(PWM_ON < 45) Bee=0; delay(100); Bee=1; /*函數(shù)功能:LED顯示子程序*/void display() unsigned char i; unsigned char pos; unsigned char led; pos=0xfe; for(i=0;i<8;i+) P2=0xff; led=ledbufi; P0=led; P2=pos; delay(1); pos= _crol_(pos,1);/*函數(shù)功
19、能:鍵盤掃描子程序*/void keyscan(void) unsigned char n;/掃描第一行P1=0xfe;n=P1;n&=0xf0;if(n!=0xf0) P1=0xfe; n=P1; n&=0xf0; if(n!=0xf0) switch(n) case(0xe0):flag=7;break; case(0xd0):flag=4;break; case(0xb0):flag=1;break; case(0x70):flag=0x0a;break; /掃描第二行P1=0xfd;n=P1;n&=0xf0;if(n!=0xf0) P1=0xfd; n=P1;
20、n&=0xf0; if(n!=0xf0)switch(n)case(0xe0):flag=8;break; case(0xd0):flag=5;break; case(0xb0):flag=2;break; case(0x70):flag=0;break; /掃描第三行P1=0xfb;n=P1;n&=0xf0;if(n!=0xf0) P1=0xfb; n=P1; n&=0xf0; if(n!=0xf0)switch(n)case(0xe0):flag=9;break; case(0xd0):flag=6;break; case(0xb0):flag=3;break; c
21、ase(0x70):flag=0x0b;break; /掃描第四行P1=0xf7;n=P1;n&=0xf0;if(n!=0xf0)P1=0xf7;n=P1;n&=0xf0; if(n!=0xf0)switch(n)case(0xe0):flag=0x0f;break; case(0xd0):flag=0x0e;break; case(0xb0):flag=0x0d;break; case(0x70):flag=0x0c;break; /* A/D轉換子程序*/void uart_int() SCON = 0x50; /設定串行口工作方式PCON &= 0xef;/波特率
22、不倍增TH2=0xFF;TL2=0xDC;RCAP2H = 0xFF;/ 波特率9600RCAP2L = 0xDC;T2CON = 0x34;/ 定時器1工作于8位自動重載模式, 用于產生波特率TR2 = 1;/ 啟動定時器1 /*函數(shù)功能:主程序*/void main(void) unsigned char i; bit conv; num=0;pwm=1; CYCLE=100; CYC=1000; /時間周期可以調整 Init_int0(); Init_Timer(); uart_int(); IP=0x01; /設置T0中斷為高優(yōu)先級 EA=1; /總中斷打開 PWM_ON =100;w
23、hile(1) display();if(testkey() keyscan();dodelay(1); while(testkey(); num+;if(flag=0x0a) num=0; for(i=0;i<2;i+) keybufi=0;if(flag=0x0B) num=0; TR1=1; TR0=1; /定時器0開關打開 PWM_ON =100;flag=0;if(flag=0x0C) num=0; TR1=0; pwm=1; PWM_ON =100; flag=0; if(flag=0x0E) num=0; conv=0; if(flag=0x0D) num=0; conv=
24、1;if(conv=1) if(RI)/ 是否有數(shù)據(jù)到來 RI = 0; tmp = SBUF;/ 暫存接收到的數(shù)據(jù)keydata=tmp; m=keydata/10; n=keydata%10; if(conv=0) if(num=1) keybuf0=flag; if(num=2) keybuf1=flag;m=keybuf0;n=keybuf1;keydata=m*10+n; ledbuf4=ledmap11; ledbuf5=ledmap12; ledbuf6=ledmapm; ledbuf7=ledmapn; display(); datamake(databuf); if(tt=1
25、) compare(databuf,keydata); tt=0; display(); (2)、單片機軟件系統(tǒng)程序#include<reg52.h>/包含頭文件,#include <intrins.h> /包含NOP空指令函數(shù)_nop_();#define AddWr 0x90 ; /寫數(shù)據(jù)地址 #define AddRd 0x91 ; /讀數(shù)據(jù)地址sbit Sda=P12; /定義總線連接端口sbit Scl=P11;bit ADFlag; /定義AD采樣標志位unsigned char ADtemp;unsigned char code Datatab=0x3f,
26、0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/7段數(shù)共陰碼管段碼表unsigned char code table=0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7;data unsigned char Display8;/定義臨時存放數(shù)碼管數(shù)值/*- 初始化定時器1-*/void Init_Timer0(void) TMOD |= 0x01; TH0=0xff; /*Initvalue */ TL0=0x00; ET0=1; /* enable timer1 interrupt */ TR0=1; /*- 啟動IIC
27、總線-*/void Start(void) Sda=1; _nop_(); Scl=1; _nop_(); Sda=0; _nop_(); Scl=0;/*- 停止IIC總線-*/void Stop(void) Sda=0; _nop_(); Scl=1; _nop_(); Sda=1; _nop_(); Scl=0; /*- 應答IIC總線-*/void Ack(void) Sda=0;_nop_();Scl=1;_nop_();Scl=0;_nop_();/*- 非應答IIC總線-*/void NoAck(void) Sda=1; _nop_(); Scl=1; _nop_(); Scl=
28、0; _nop_(); /*- 發(fā)送一個字節(jié)-*/void Send(unsigned char Data) unsigned char BitCounter=8; unsigned char temp;do temp=Data; Scl=0;_nop_(); if(temp&0x80)=0x80)Sda=1; else Sda=0;Scl=1;temp=Data<<1;Data=temp;BitCounter-; while(BitCounter); Scl=0;/*- 讀入一個字節(jié)并返回-*/ unsigned char Read(void) unsigned char
29、 temp=0;unsigned char temp1=0;unsigned char BitCounter=8;Sda=1;do Scl=0; _nop_();Scl=1;_nop_();if(Sda) temp=temp|0x01;else temp=temp&0xfe;if(BitCounter-1) temp1=temp<<1; temp=temp1; BitCounter-;while(BitCounter);return(temp);/*- 讀取AD模數(shù)轉換的值,有返回值-*/unsigned char ReadADC(unsigned char Chl) unsigned char Data;Start(); /寫入芯片地址Send(AddWr);Ack();Send(0x40|Chl);/寫入選擇的通道,本程序只用單端輸入,差分部分需要自行添加 /Chl的值分別為0、1、2、3,分別代表1-4通道Ack();Start();Send(AddRd); /讀入地址Ack();Data=Read(); /讀數(shù)據(jù)Scl=0;N
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 供應材料解除合同范本
- 化妝合同范本
- 代理雨鞋采購合同范本
- 獸藥委托加工合同范本
- 公租房出售合同范本
- 代理工程合同范本
- 買新房認購合同范例
- 2024年洛陽市新安縣龍?zhí)洞髰{谷荊紫仙山景區(qū)招聘考試真題
- 農業(yè)技術人員服務合同范本
- 2024年菏澤市勞信就業(yè)服務有限公司招聘制醫(yī)院人員考試真題
- Android移動應用開發(fā)基礎教程-教案
- 腦梗合并心衰護理查房
- JGT472-2015 鋼纖維混凝土
- 第九屆鵬程杯五年級數(shù)學競賽初試真題
- 電梯結構與原理-第2版-全套課件
- 《現(xiàn)代漢語》語音教學上課用課件
- 采購流程各部門關系圖
- 《遙感導論》全套課件
- 力士樂工程機械液壓培訓資料(共7篇)課件
- 村光伏發(fā)電申請書
- 降低混凝土路面裂縫發(fā)生率QC小組資料
評論
0/150
提交評論