版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上 摘 要本論文要求使用單片機進行電路設計,同時單片機部分應帶有顯示功能。單片機對某個位置進行溫度監(jiān)控,當外部溫度45時,電動機加速正轉(zhuǎn),當溫度75時,電動機全速正轉(zhuǎn);當外部溫度10時,電動機加速反轉(zhuǎn),當溫度0時,電動機全速反轉(zhuǎn);當溫度回到1045之間時電動機逐漸停止轉(zhuǎn)動。溫度采集模塊可以采用一只溫度傳感器 DS18B20,此傳感器,可以很容易直接讀取被測溫度值, 利用單片機的一個I/O口的引腳,通過軟件對這個引腳不斷地輸出高低電平來實現(xiàn)PWM波的輸出,51系列單片機無PWM輸出功能,可以采用定時器配合軟件的方法輸出。對精度要求不高的場合,非常實用。所謂脈沖寬度調(diào)制是指
2、用改變電機電樞電壓接通與斷開的時間的占空比來控制電機轉(zhuǎn)速的方法,稱為脈沖寬度調(diào)制(PWM)。PWM驅(qū)動裝置是利用全控型功率器件的開關特性來調(diào)制固定電壓的直流電源,按一個固定的頻率來接通和斷開,并根據(jù)需要改變一個周期內(nèi)“接通”與“斷開”時間的長短,改變直流電動機電樞上電壓的“占空比”來改變平均電壓的大小,從而控制電動機的轉(zhuǎn)速。因此,這種裝置又稱為“開關驅(qū)動裝置”。對于直流電機調(diào)速系統(tǒng),其方法是通過改變電機電樞電壓導通時間與通電時間的比值(即占空比)來控制電機速度。本次設計可以作為簡單控制向復雜控制的過度,實現(xiàn)直流電機啟動、正反轉(zhuǎn)控制和順序控制外,還要進行轉(zhuǎn)速控制。為以后復雜控制設計做基礎。關鍵詞
3、: PWM;單片機;溫度控制專心-專注-專業(yè)1 設計總說明1.1 引言在電氣時代的今天,電動機一直在現(xiàn)代化的生產(chǎn)和生活中起著十分重要的作用,無論在工業(yè)農(nóng)業(yè)生產(chǎn)、交通運輸、國防航空航天、醫(yī)療衛(wèi)生、商務與辦公設備,還是在日常生活中的家用電器,都在大量地使用著各式各樣的電動機。據(jù)資料統(tǒng)計,現(xiàn)在有的90%以上的動力源來自于電動機,我國生產(chǎn)的電能大約有60%用于電動機。電動機與人們的生活息息相關,密不可分。隨著現(xiàn)代化步伐的邁進,人們對自動化的需求越來越高,使電動機控制向更復雜的控制發(fā)展。1.2 研究意義對電動機的控制可分為簡單控制和復雜控制兩種,簡單控制是對電動機進行啟動、制動、正反轉(zhuǎn)控制和順序控制,復
4、雜控制是對電動機的轉(zhuǎn)速轉(zhuǎn)速、轉(zhuǎn)角、轉(zhuǎn)矩、電壓、電流等物理量進行控制。本次設計可以作為簡單控制向復雜控制的過度,實現(xiàn)直流電機啟動、制動、正反轉(zhuǎn)控制和順序控制外,還要進行轉(zhuǎn)速控制。為以后復雜控制做為基礎學習。直流電動機具有良好的起動、制動性能,宜于在大范圍內(nèi)平滑調(diào)速,早期直流電動機的控制均以模擬電路為基礎,采用運算放大器、非線性集成電路以及少量的數(shù)字電路組成,控制系統(tǒng)的硬件部分非常復雜,功能單一,而且系統(tǒng)非常不靈活、調(diào)試困難,阻礙了直流電動機控制技術的發(fā)展和應用范圍的推廣。隨著單片機技術的日新月異,使得許多控制功能及算法可以采用軟件技術來完成,為直流電動機的控制提供了更大的靈活性,并使系統(tǒng)能達到更
5、高的性能。采用單片機構成控制系統(tǒng),可以節(jié)約人力資源和降低系統(tǒng)成本,從而有效的提高工作效率,可以實現(xiàn)復雜的控制,控制靈活性和適應性好,無零點漂移,控制精密高,可提供人機界面,多機聯(lián)網(wǎng)工作。采用智能功率電路驅(qū)動比傳統(tǒng)的分立功率器件組成的驅(qū)動體積小,功能強;減少了電路元器件數(shù)量,提高了系統(tǒng)的可靠性;監(jiān)控更容易實現(xiàn);集成化使電路的連線減少,減少了布線電容和電感以及信號傳輸?shù)难訒r,增加了系統(tǒng)抗干擾的能力;集成化使系統(tǒng)成本大大降低。1.3系統(tǒng)設計內(nèi)容本設計將介紹一種基于單片機的溫度控制直流電機轉(zhuǎn)速系統(tǒng)。該系統(tǒng)采用AT89C51單片機為核心,通過AT89C51 單片機驅(qū)動數(shù)字溫度傳感器DS18B20,進行溫
6、度數(shù)據(jù)采集通過溫度的比較和溫度范圍設定的程序控制產(chǎn)生PWM(脈寬調(diào)制)信號;通過L298驅(qū)動芯片來控制直流電機的啟動、速度、方向的變化;通過LM016L顯示溫度。論文包括對單片機的功能及各個管腳和晶振復位電路的介紹,整個電路設計包括溫度采集模塊,單片機控制模塊,溫度顯示模塊,和電機及電機驅(qū)動模塊。2系統(tǒng)方案設計2.1系統(tǒng)的設計要求及主要技術指標 本論文要求使用單片機進行電路設計,同時單片機部分應帶有顯示功能。單片機對某個位置進行溫度監(jiān)控,當外部溫度45時,電動機加速正轉(zhuǎn),當溫度75時,電動機全速正轉(zhuǎn);當外部溫度10時,電動機加速反轉(zhuǎn),當溫度0時,電動機全速反轉(zhuǎn);當溫度回到1045之間時電動機逐
7、漸停止轉(zhuǎn)動。2.2系統(tǒng)總體方案系統(tǒng)總體方案設計,如下圖1單片機溫度顯示溫度采集DS18B20PWM輸出電機驅(qū)動L298直流電動機系統(tǒng)供電圖1 系統(tǒng)總體方案圖2.3 總體方案論述 該系統(tǒng)采用AT89C51單片機為核心,通過DS18B20進行溫度采集,送入單片機,經(jīng)過軟件編程進行溫度的比較和范圍劃定,然后通過程序控制由單片機產(chǎn)生不同的PWM(脈沖寬度調(diào)制)信號,送給電機驅(qū)動芯片L298的使能端口,通過L298驅(qū)動芯片來控制直流電機的啟動、速度、方向的變化;單片機將溫度數(shù)據(jù)傳送給LM016L顯示溫度。整個電路設計包括溫度采集模塊,單片機控制模塊,溫度顯示模塊,和電機及電機驅(qū)動模塊。3 硬件電路設計3
8、.1 溫度采集模塊的電路連接DS18B20 有三個管腳:GND 為電源地,DQ 為數(shù)字信號輸入/輸出端,VCC 為外接供電電源接入端(用寄生電源方式時接地)。在硬件上,DS18B20與單片機的連接有兩種方法,一種是VCC接外部電源,GND接地,I/O與單片機的I/O線相連;另一種是用寄生電源供電,此時VCC、GND接地,I/O接單片機I/O。無論是內(nèi)部寄生電源還是外部供電,I/O口線要接5K左右的上拉電阻。本系統(tǒng)中DS18B20的DQ口與單片機的 P3.3口連接,GND 接地。Protues軟件仿真圖如圖2所示。圖 2 DS18B20的Protues仿真圖3.2轉(zhuǎn)速控制模塊設計A(IN1)、B
9、(IN2)分別與AT89C51單片機的P1.0、P1.1相連接,輸入控制電位來控制電機的正反轉(zhuǎn)。ENA與單片機的P1.2口相連接,P1.2口輸出控制電動機轉(zhuǎn)速的PWM信號,來控制電動機的加速、減速,啟動、停止。由于我們使用的電機是線圈式的,在從運行狀態(tài)突然轉(zhuǎn)換到停止狀態(tài)和從順時針狀態(tài)突然轉(zhuǎn)換到逆時針狀態(tài)時會形成很大的反向電流,在電路中加入二極管的作用就是在產(chǎn)生反向電流的時候進行泄流,保護芯片的安全。上面接電源那個是當VS斷電后,電機的產(chǎn)生的磁場產(chǎn)生很大的電動勢保護電機(因為電機可能正傳或者反轉(zhuǎn),所以兩個方向均要設計二極管),接地那個作用在于保護單片機等元件。圖 3 轉(zhuǎn)速控制模塊protues仿
10、真的電路圖3.3 溫度顯示模塊設計數(shù)據(jù)手冊中可能介紹LM1602內(nèi)部D0D7已有上拉,可以使用P0口直接驅(qū)動。在Proteus里LM016L內(nèi)部可能沒有,應該人為加上拉電阻。圖 5 溫度顯示模塊設計proteus仿真圖4 系統(tǒng)軟件設計4.1系統(tǒng)軟件構架端口初始化液晶顯示程序DS18B20函數(shù)初始化讀取溫度值并顯示延時開啟中斷T0定時器控制電動機正/反轉(zhuǎn),并通過PWM信號控制電動機轉(zhuǎn)速等待中斷開始返回圖 6系統(tǒng)軟件總框圖5 元器件清單表 2 元器件清單學名稱型號畢數(shù)量備注單片機AT89C511二極管1N40071 電容CAP2220pF2100nF電解電容CAP-ELEC110uF晶振CRYST
11、AL112MHZ溫度采集器DS18B201電機控制元件 L2981LCD顯示器LM016L1電機轉(zhuǎn)子MOTOR-DC1 電阻排阻RESPESPACK11110K4.7K6電路設計仿真圖 7 設計電路的proteus仿真結論本方案實現(xiàn)了單片機通過對溫度的采集和比較對直流電機進行轉(zhuǎn)速控制,以及利用軟件模擬實現(xiàn)直流電機PWM調(diào)速的方法。以AT89C51單片機為控制核心,通過DS18B20進行溫度采集,送入單片機,經(jīng)過軟件編程進行溫度的比較和范圍劃定,然后通過程序控制由單片機產(chǎn)生不同的PWM(脈沖寬度調(diào)制)控制信號,送給電機驅(qū)動芯片L298的使能端口,通過L298驅(qū)動芯片來控制直流電機的啟動、速度、方
12、向的變化實現(xiàn)了對普通直流電機的轉(zhuǎn)速調(diào)節(jié),為進一步研究和優(yōu)化直流電機控制方法提供了基礎。達到了系統(tǒng)的設計要求:單片機對某個位置進行溫度監(jiān)控,當外部溫度45時,電動機加速正轉(zhuǎn),當溫度75時,電動機全速正轉(zhuǎn);當外部溫度10時,電動機加速反轉(zhuǎn),當溫度0時,電動機全速反轉(zhuǎn);當溫度回到1045之間時電動機逐漸停止轉(zhuǎn)動。從這次的設計中,我真真正正的意識到,在以后的學習中,要理論聯(lián)系實際,把我們所學的理論知識用到實際當中,學習單機片機更是如此,程序只有在經(jīng)常的寫與讀的過程中才能提高,這就是我在這次設計中的最大收獲。參考文獻1 王之道,周靖,劉旭, J機械工程與自動化2009(5) 2 茹占軍,基于AT89S5
13、2單片機直流電機調(diào)速系統(tǒng)的設計, J.軟件導刊2010, 9(8)3 趙鴻圖,基于單片機AT89C51的直流電機PWM調(diào)速系統(tǒng)J.電子技術 ,2008, 45(10)4 周潤景,張麗娜.基于Proteus的電路及單片機系統(tǒng)設計與仿真M.北京:北京航空航天大學出版社,2006. 5 寧成軍,張江霞.基于Proteus和Keil接口的單片機外圍硬件電路仿真J.現(xiàn)代電子技術,2006,29(18):142-143,146. 6 陳良光,管聰慧.由數(shù)字式傳感器 DS18B20 構成的多點測溫系統(tǒng)J.傳感器世界, 1999, 9.7 杜洋,DS18B20溫度傳感器應用解析,2007.3.168 馬忠梅,
14、張凱,等.單片機的C語言應用程序設計(第四版).北京航空航天大學出版社實驗程序#include<reg51.h>#include<intrins.h>#difine uchar ;unsigned char#difine uint ;unsigned int#define delayNOP() _nop_();_nop_();_nop_();_nop_();sbit DQ =p33;sbit LCD_RS=p20;sbit LCD_RW=p21;sbit LCD_EN=p22;sbit MA =P10;sbit MB =p11;sbit PWM1 =p12;uchar
15、code temp_DISP_Title ="Current temp : "uchar current_temp_Display_Buffer="TEMP: "/溫度字符uchar code_temperature_char8 =0x0C,0x12,0x12,0x0C,0x00,0x00,0x00,0x00,0x00,;/ 溫度小數(shù)位對照表uchuar code df_Table =0,1,1,2,2,3,3,4,4,5,6,6,7,8,8,9,9 ;uchar CurrenT = 0; /當前讀取的溫度整數(shù)部分char Signed_Temp = 0
16、; /有符號溫度值uchar Temp_Value = 0x00,0x00; /從DS18B20讀取溫度值uchar Back_Temp_Value = 0xFF,0xFF; /溫度數(shù)據(jù)備份uchar Display_Digit = 0,0,0,0; /待顯示的各溫度數(shù)位bit DS18B20_IS_OK = 1; /傳感器正常標志uint tCount = 0;/-/延時 1/-void DelayXus(int x) uchar i; while(x-) for (i=0;i<200;i+);/-/液晶控制函數(shù)-/uchar LCD_Busy_Check() reentrant/vo
17、id Write_LCD_Command (uchar cmd)/void Write_LCD_Data (uchar data)/void LCD_Initialise ()/void Set_LCD_POS (uchar pos)/void Write_NEW_LCD_Char ()/-/-/延時2/-void Delay(unit x)while (-x);/-/初始化DS18B20/-uchar Init_DS18B20() uchar DQ=1; Delay(8);DQ = 0;Delay(90); DQ=1; Delay(8);status = DQ;Delay(100);DQ=1
18、; return status; /初始化成功返回0/-/讀一字節(jié)/-uchar ReadOneByte() uchar i,dat = 0; DQ = 1; _nop_(); for (i=0;i<8;i+) DQ=0; data>>=1;DQ=1; _nop_();_nop_(); if(DQ) dat1=0x80;Delay(30);DQ=1; return dat;/-/寫一字節(jié)/-void WriteOnebyte (uchar dat) uchar i; for (i=0;i<8;i+) DQ=0;DQ=dat&0x01; Delay(5);DQ=1
19、;dat>>=1; /-/讀取溫度值/-void Read_Temperature() if(Init_DS18B20() = 1) /DS18B20故障 DS18B20_IS_OK = 0; else writeoneByte(0xCC); /跳過序列號 writeoneByte(0x44); /啟動溫度轉(zhuǎn)換 Init_DS18B20(); writeoneByte(0xCC); writeoneByte(0xBE); /讀取溫度寄存器 Temp_Value0 = ReadOneByte(); /溫度低8位 Temp_Value1 = ReadOneByte(); /溫度高8位
20、DS18B20_IS_OK = 1; /-/在LCD上顯示當前溫度/-void Display_Temperature() uchar i; uchar t=150;/延時值 uchar ng = 0;/負數(shù)標識 /如果為負數(shù)則取反加1,并設置負數(shù)標識 if(Temp_Value1 & 0xF8) =0xF8) Temp_Value1 = Temp_Value1; Temp_Value0 = Temp_Value0 + 1; if(Temp_Value0 =0x00) Temp_Value1+; ng= 1; /查表得到溫度小數(shù)部分 Display_Digit0 = df_Table
21、Temp_Value0 & 0x0F ; /獲取溫度整數(shù)部分(無符號) Current = (Temp_Value0) & 0xF0)>>4) | (Temp_Value1 & 0x07)<<4); /獲取有符號溫度值(忽略小數(shù)位) Signed_Temp = !ng ? CurrenT : - CurrenT; /將整數(shù)部分分解為三位待顯示數(shù)字 Display_Digit3 = CurrenT / 100; Display_Digit2 = CurrenT % 100/10; Display_Digit1 = CurrenT % 10; /刷新
22、LCD顯示緩沖 Current_Temp_Display_Buffer11 = Display_Digit0 + '0' Current_Temp_Display_Buffer10 = '.' Current_Temp_Display_Buffer 9 = Display_Digit1 + '0' Current_Temp_Display_Buffer 8 = Display_Digit2 + '0' Current_Temp_Display_Buffer 7 = Display_Digit3 + '0' /高位為
23、0時不顯示 if (Diplay_Digit3 = 0) Current_Temp_Display_Buffer7 = ' ' /高位為0且次高位為0時,次高位不顯示 if (Display_Digit2 = 0 && Display_Digit3 = 0) /負數(shù)符號顯示在恰當位置 if (ng) if (Current_Temp_Display_Buffer8 = ' ') Current_Temp_Display_Buffer8 = '-' else if (Current_Temp_Display_Buffer7 =
24、39; ') Current_Temp_Display_Buffer7 = '-') else (Current_Temp_Display_Buffer6 = '-' /在第一行顯示標題 Set_LCD_POS(0x00); for(i = 0; i<16; i+) Write_LCD_Data( Temp_Disp_Titlei ); /在第二行顯示當前溫度 Set_LCD_POS(0x40); for(i = 0; i<16; i+) Write_LCD_Data(Current_Temp_Display_Bufferi ); /顯示溫度
25、符號 Set_LCD_POS(0x4D); Write_LCD_Data(0x00); Set_LCD_POS(0x4E); Write_LCD_Data('C');/-/T0定時器控制電動機正/反轉(zhuǎn),并輸出PWM信號控制轉(zhuǎn)速/-Void T0_INT() interrup 1 TH0 = -50000/256; TL0 = -50000%256; Read_Temperature(); /讀取溫度 if ( !DS18B20_IS_OK )return; /讀錯時退出 /讀取正常且溫度發(fā)生變化則刷新顯示 if (Temp_Value0 != Back_Value0 | Temp_Value1 != Back_Value1 ) Back_Temp_Value0 =Temp_Value0; Back_Temp_Value1 =Temp_Value1; Disply_Temperature(); /75或0時,電動機全速轉(zhuǎn)動,占空比為100%. if (Signed_Temp75 ) Sig
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度數(shù)字博物館交互設計服務合同3篇
- 2025年度環(huán)保設備研發(fā)與生產(chǎn)服務合同3篇
- 2025版酒吧DJ工作聘用及權益保障協(xié)議3篇
- 金屬熱處理技術在衛(wèi)生器具中的應用考核試卷
- 2025版化妝品環(huán)保包裝設計與采購合同2篇
- 2025版設備購買租賃合同標的設備明細3篇
- 二零二五年婚禮攝影攝像技術標準制定與推廣合同3篇
- 納稅籌劃課課程設計
- 《RB-SiC陶瓷磨削損傷形成機制及抑制技術研究》
- 《基于C市軌道交通北湖線一期項目的PPP融資模式風險管理研究》
- 2025版國家開放大學法學本科《知識產(chǎn)權法》期末紙質(zhì)考試總題庫
- 醫(yī)藥銷售培訓課程
- 2022-2023學年北京市海淀區(qū)七年級(上)期末語文試卷
- 膝關節(jié)炎階梯治療
- 設備日常維護及保養(yǎng)培訓
- 行業(yè)背景、經(jīng)濟運行情況及產(chǎn)業(yè)未來發(fā)展趨勢分析
- 配電室維護協(xié)議書
- 2024年度工作總結模板簡約干練風格
- 2024年廣東省第一次普通高中學業(yè)水平合格性考試歷史試卷(解析版)
- 部編版一年級上冊語文期末試題含答案
- 2025屆東莞東華高級中學高一生物第一學期期末考試試題含解析
評論
0/150
提交評論