![單片機課程設計溫控直流電機轉速_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/5/f4343acb-8827-43c3-91af-08a637f3e7df/f4343acb-8827-43c3-91af-08a637f3e7df1.gif)
![單片機課程設計溫控直流電機轉速_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/5/f4343acb-8827-43c3-91af-08a637f3e7df/f4343acb-8827-43c3-91af-08a637f3e7df2.gif)
![單片機課程設計溫控直流電機轉速_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/5/f4343acb-8827-43c3-91af-08a637f3e7df/f4343acb-8827-43c3-91af-08a637f3e7df3.gif)
![單片機課程設計溫控直流電機轉速_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/5/f4343acb-8827-43c3-91af-08a637f3e7df/f4343acb-8827-43c3-91af-08a637f3e7df4.gif)
![單片機課程設計溫控直流電機轉速_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-7/5/f4343acb-8827-43c3-91af-08a637f3e7df/f4343acb-8827-43c3-91af-08a637f3e7df5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 摘 要本論文要求使用單片機進行電路設計,同時單片機部分應帶有顯示功能。單片機對某個位置進行溫度監(jiān)控,當外部溫度45時,電動機加速正轉,當溫度75時,電動機全速正轉;當外部溫度10時,電動機加速反轉,當溫度0時,電動機全速反轉;當溫度回到1045之間時電動機逐漸停止轉動。溫度采集模塊可以采用一只溫度傳感器 ds18b20,此傳感器,可以很容易直接讀取被測溫度值, 利用單片機的一個i/o口的引腳,通過軟件對這個引腳不斷地輸出高低電平來實現(xiàn)pwm波的輸出,51系列單片機無pwm輸出功能,可以采用定時器配合軟件的方法輸出。對精度要求不高的場合,非常實用。所謂脈沖寬度調制是指用改變電機電樞電壓接通與斷
2、開的時間的占空比來控制電機轉速的方法,稱為脈沖寬度調制(pwm)。pwm驅動裝置是利用全控型功率器件的開關特性來調制固定電壓的直流電源,按一個固定的頻率來接通和斷開,并根據需要改變一個周期內“接通”與“斷開”時間的長短,改變直流電動機電樞上電壓的“占空比”來改變平均電壓的大小,從而控制電動機的轉速。因此,這種裝置又稱為“開關驅動裝置”。對于直流電機調速系統(tǒng),其方法是通過改變電機電樞電壓導通時間與通電時間的比值(即占空比)來控制電機速度。本次設計可以作為簡單控制向復雜控制的過度,實現(xiàn)直流電機啟動、正反轉控制和順序控制外,還要進行轉速控制。為以后復雜控制設計做基礎。關鍵詞: pwm;單片機;溫度控
3、制1 設計總說明1.1 引言在電氣時代的今天,電動機一直在現(xiàn)代化的生產和生活中起著十分重要的作用,無論在工業(yè)農業(yè)生產、交通運輸、國防航空航天、醫(yī)療衛(wèi)生、商務與辦公設備,還是在日常生活中的家用電器,都在大量地使用著各式各樣的電動機。據資料統(tǒng)計,現(xiàn)在有的90%以上的動力源來自于電動機,我國生產的電能大約有60%用于電動機。電動機與人們的生活息息相關,密不可分。隨著現(xiàn)代化步伐的邁進,人們對自動化的需求越來越高,使電動機控制向更復雜的控制發(fā)展。1.2 研究意義對電動機的控制可分為簡單控制和復雜控制兩種,簡單控制是對電動機進行啟動、制動、正反轉控制和順序控制,復雜控制是對電動機的轉速轉速、轉角、轉矩、電
4、壓、電流等物理量進行控制。本次設計可以作為簡單控制向復雜控制的過度,實現(xiàn)直流電機啟動、制動、正反轉控制和順序控制外,還要進行轉速控制。為以后復雜控制做為基礎學習。直流電動機具有良好的起動、制動性能,宜于在大范圍內平滑調速,早期直流電動機的控制均以模擬電路為基礎,采用運算放大器、非線性集成電路以及少量的數(shù)字電路組成,控制系統(tǒng)的硬件部分非常復雜,功能單一,而且系統(tǒng)非常不靈活、調試困難,阻礙了直流電動機控制技術的發(fā)展和應用范圍的推廣。隨著單片機技術的日新月異,使得許多控制功能及算法可以采用軟件技術來完成,為直流電動機的控制提供了更大的靈活性,并使系統(tǒng)能達到更高的性能。采用單片機構成控制系統(tǒng),可以節(jié)約
5、人力資源和降低系統(tǒng)成本,從而有效的提高工作效率,可以實現(xiàn)復雜的控制,控制靈活性和適應性好,無零點漂移,控制精密高,可提供人機界面,多機聯(lián)網工作。采用智能功率電路驅動比傳統(tǒng)的分立功率器件組成的驅動體積小,功能強;減少了電路元器件數(shù)量,提高了系統(tǒng)的可靠性;監(jiān)控更容易實現(xiàn);集成化使電路的連線減少,減少了布線電容和電感以及信號傳輸?shù)难訒r,增加了系統(tǒng)抗干擾的能力;集成化使系統(tǒng)成本大大降低。1.3系統(tǒng)設計內容本設計將介紹一種基于單片機的溫度控制直流電機轉速系統(tǒng)。該系統(tǒng)采用at89c51單片機為核心,通過at89c51 單片機驅動數(shù)字溫度傳感器ds18b20,進行溫度數(shù)據采集通過溫度的比較和溫度范圍設定的程
6、序控制產生pwm(脈寬調制)信號;通過l298驅動芯片來控制直流電機的啟動、速度、方向的變化;通過lm016l顯示溫度。論文包括對單片機的功能及各個管腳和晶振復位電路的介紹,整個電路設計包括溫度采集模塊,單片機控制模塊,溫度顯示模塊,和電機及電機驅動模塊。2系統(tǒng)方案設計2.1系統(tǒng)的設計要求及主要技術指標 本論文要求使用單片機進行電路設計,同時單片機部分應帶有顯示功能。單片機對某個位置進行溫度監(jiān)控,當外部溫度45時,電動機加速正轉,當溫度75時,電動機全速正轉;當外部溫度10時,電動機加速反轉,當溫度0時,電動機全速反轉;當溫度回到1045之間時電動機逐漸停止轉動。2.2系統(tǒng)總體方案系統(tǒng)總體方案
7、設計,如下圖1單片機溫度顯示溫度采集ds18b20pwm輸出電機驅動l298直流電動機系統(tǒng)供電圖1 系統(tǒng)總體方案圖2.3 總體方案論述 該系統(tǒng)采用at89c51單片機為核心,通過ds18b20進行溫度采集,送入單片機,經過軟件編程進行溫度的比較和范圍劃定,然后通過程序控制由單片機產生不同的pwm(脈沖寬度調制)信號,送給電機驅動芯片l298的使能端口,通過l298驅動芯片來控制直流電機的啟動、速度、方向的變化;單片機將溫度數(shù)據傳送給lm016l顯示溫度。整個電路設計包括溫度采集模塊,單片機控制模塊,溫度顯示模塊,和電機及電機驅動模塊。3 硬件電路設計3.1 溫度采集模塊的電路連接ds18b20
8、 有三個管腳:gnd 為電源地,dq 為數(shù)字信號輸入/輸出端,vcc 為外接供電電源接入端(用寄生電源方式時接地)。在硬件上,ds18b20與單片機的連接有兩種方法,一種是vcc接外部電源,gnd接地,i/o與單片機的i/o線相連;另一種是用寄生電源供電,此時vcc、gnd接地,i/o接單片機i/o。無論是內部寄生電源還是外部供電,i/o口線要接5k左右的上拉電阻。本系統(tǒng)中ds18b20的dq口與單片機的 p3.3口連接,gnd 接地。protues軟件仿真圖如圖2所示。圖 2 ds18b20的protues仿真圖3.2轉速控制模塊設計a(in1)、b(in2)分別與at89c51單片機的p1
9、.0、p1.1相連接,輸入控制電位來控制電機的正反轉。ena與單片機的p1.2口相連接,p1.2口輸出控制電動機轉速的pwm信號,來控制電動機的加速、減速,啟動、停止。由于我們使用的電機是線圈式的,在從運行狀態(tài)突然轉換到停止狀態(tài)和從順時針狀態(tài)突然轉換到逆時針狀態(tài)時會形成很大的反向電流,在電路中加入二極管的作用就是在產生反向電流的時候進行泄流,保護芯片的安全。上面接電源那個是當vs斷電后,電機的產生的磁場產生很大的電動勢保護電機(因為電機可能正傳或者反轉,所以兩個方向均要設計二極管),接地那個作用在于保護單片機等元件。圖 3 轉速控制模塊protues仿真的電路圖3.3 溫度顯示模塊設計數(shù)據手冊
10、中可能介紹lm1602內部d0d7已有上拉,可以使用p0口直接驅動。在proteus里lm016l內部可能沒有,應該人為加上拉電阻。圖 5 溫度顯示模塊設計proteus仿真圖4 系統(tǒng)軟件設計4.1系統(tǒng)軟件構架端口初始化液晶顯示程序ds18b20函數(shù)初始化讀取溫度值并顯示延時開啟中斷t0定時器控制電動機正/反轉,并通過pwm信號控制電動機轉速等待中斷開始返回圖 6系統(tǒng)軟件總框圖5 元器件清單表 2 元器件清單學名稱型號畢數(shù)量備注單片機at89c511二極管1n40071 電容cap2220pf2100nf電解電容cap-elec110uf晶振crystal112mhz溫度采集器ds18b201
11、電機控制元件 l2981lcd顯示器lm016l1電機轉子motor-dc1 電阻排阻respespack11110k4.7k6電路設計仿真圖 7 設計電路的proteus仿真結論本方案實現(xiàn)了單片機通過對溫度的采集和比較對直流電機進行轉速控制,以及利用軟件模擬實現(xiàn)直流電機pwm調速的方法。以at89c51單片機為控制核心,通過ds18b20進行溫度采集,送入單片機,經過軟件編程進行溫度的比較和范圍劃定,然后通過程序控制由單片機產生不同的pwm(脈沖寬度調制)控制信號,送給電機驅動芯片l298的使能端口,通過l298驅動芯片來控制直流電機的啟動、速度、方向的變化實現(xiàn)了對普通直流電機的轉速調節(jié),為
12、進一步研究和優(yōu)化直流電機控制方法提供了基礎。達到了系統(tǒng)的設計要求:單片機對某個位置進行溫度監(jiān)控,當外部溫度45時,電動機加速正轉,當溫度75時,電動機全速正轉;當外部溫度10時,電動機加速反轉,當溫度0時,電動機全速反轉;當溫度回到1045之間時電動機逐漸停止轉動。從這次的設計中,我真真正正的意識到,在以后的學習中,要理論聯(lián)系實際,把我們所學的理論知識用到實際當中,學習單機片機更是如此,程序只有在經常的寫與讀的過程中才能提高,這就是我在這次設計中的最大收獲。參考文獻1 王之道,周靖,劉旭,一種基于at89c2051單片機的直流電機調速裝置, j機械工程與自動化2009(5) 2 茹占軍,謝家興
13、,基于at89s52單片機直流電機調速系統(tǒng)的設計, j.軟件導刊2010, 9(8)3 趙鴻圖,基于單片機at89c51的直流電機pwm調速系統(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
14、.168 馬忠梅,張凱,等.單片機的c語言應用程序設計(第四版).北京航空航天大學出版社實驗程序#include#include#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 code temp_disp_title =c
15、urrent 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; /有符號溫度值uchar temp_value = 0x00,0x00; /從ds18
16、b20讀取溫度值uchar back_temp_value = 0xff,0xff; /溫度數(shù)據備份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;i200;i+);/-/液晶控制函數(shù)-/uchar lcd_busy_check() reentrant/void write_lcd_command (uchar cmd)/void write_lcd_d
17、ata (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; return status; /初始化成功返回0/-/讀一字節(jié)/-uchar readoneb
18、yte() uchar i,dat = 0; dq = 1; _nop_(); for (i=0;i=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=1; /-/讀取溫度值/-void read_temperature() if(init_ds18b20() = 1) /ds18b20故障 ds18b20_is_ok = 0; else writeonebyte(0xcc); /跳過序列號
19、 writeonebyte(0x44); /啟動溫度轉換 init_ds18b20(); writeonebyte(0xcc); writeonebyte(0xbe); /讀取溫度寄存器 temp_value0 = readonebyte(); /溫度低8位 temp_value1 = readonebyte(); /溫度高8位 ds18b20_is_ok = 1; /-/在lcd上顯示當前溫度/-void display_temperature() uchar i; uchar t=150;/延時值 uchar ng = 0;/負數(shù)標識 /如果為負數(shù)則取反加1,并設置負數(shù)標識 if(temp
20、_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 temp_value0 & 0x0f ; /獲取溫度整數(shù)部分(無符號) current = (temp_value0) & 0xf0)4) | (temp_value1 & 0x07)4); /獲取有符號溫度值(忽略小數(shù)位) signed_temp = !ng ? curre
21、nt : - current; /將整數(shù)部分分解為三位待顯示數(shù)字 display_digit3 = current / 100; display_digit2 = current % 100/10; display_digit1 = current % 10; /刷新lcd顯示緩沖 current_temp_display_buffer11 = display_digit0 + 0; current_temp_display_buffer10 = .; current_temp_display_buffer 9 = display_digit1 + 0; current_temp_displa
22、y_buffer 8 = display_digit2 + 0; current_temp_display_buffer 7 = display_digit3 + 0; /高位為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 = ) current_temp_display_buffer7 = -;) else (current_temp_display_buffer6 = -; /在第一行顯示標題 set_lcd_pos(0x00); for(i = 0; i16; i+) write_lcd_data( temp_disp_titlei ); /在第二行顯示當前溫度 set_lcd_pos(0x40); for(i = 0; i=45時加速正轉,75時全速運行 if ( signed_
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度棒球場租賃與賽事宣傳合作合同
- 人力資源公司合作合同
- 食堂承包合同書
- 交通運輸行業(yè)智能交通出行服務平臺方案
- 服裝廠縫紉機設備買賣合同書
- 物流市場分析與規(guī)劃作業(yè)指導書
- 買賣房屋交接合同協(xié)議書
- 人工智能系統(tǒng)開發(fā)與部署作業(yè)指導書
- 帶擔保的借款合同
- 工業(yè)互聯(lián)網背景下智能倉儲管理解決方案
- 美麗的大自然(教案)2023-2024學年美術一年級下冊
- 2024年低壓電工考試題庫(試題含答案)
- 成都特色民俗課件
- 花城版音樂四下-第四課-認知音樂節(jié)奏(教案)
- 寵物醫(yī)院員工手冊
- 2024年高考英語讀后續(xù)寫高分寶典專題08讀后續(xù)寫肢體動作描寫積累1(詞-句-文)講義
- 商業(yè)與公積金貸款政策
- 時政述評培訓課件
- 2022屆高三體育特長生家長會
- 不對外供貨協(xié)議
- 2024屆高考作文主題訓練:時評類(含解析)
評論
0/150
提交評論