10家用電扇控制實驗與驅動電路設計
《10家用電扇控制實驗與驅動電路設計》由會員分享,可在線閱讀,更多相關《10家用電扇控制實驗與驅動電路設計(45頁珍藏版)》請在裝配圖網上搜索。
家用電扇控制與驅動電路設計 報告 2 家用電扇控制實驗與驅動電路設計 一、 課程設計的目的 課程設計是本科教學全過程中的重要環(huán)節(jié)。微機應用系統設計與綜合實驗(實踐 )課程設計主要培養(yǎng)自動化專業(yè)學生,運用所學知識解決計算機應用領域內實際問題能力,進一步提高學生運用計算機編程語言綜合編程能力、程序調試技能和微機系統接口綜合應用及電路設計能力。 1、學習在 統中擴展簡單的 I O 接口的方法。 2、熟練掌握和運用匯編 語言 和 255各口的輸入輸出,并正確帶動數碼管及步進電機;能熟練運用匯編和 C 語言實現 8255 的 輸入輸出以及小鍵盤的輸入 功能 ,并利用軟件來實現設計中對延遲的要求 。 3、熟練掌握 在唐都實驗箱上對各硬件芯片的接線,并在 實現對匯編程序和 二、 設計的題目名稱及要求 設計題目:小家用電扇控制實驗與驅動電路設計 基本設計要求: 1. 編程語言為匯編語言、 2. 控制硬件電路基于 80 3. 驅動電路(主回路)僅需設計; 4. 控制器功能包括:按鈕三個,分別為風速、類型和停止, 示燈六個,指示風速強、中、弱,類型為睡眠、自然和正常。 指標如下: 1) 電扇處于停轉狀態(tài)時,所有指示燈不亮,只有按下“風速”鍵時,才會響應,進入起始工作狀態(tài);電扇在任何狀態(tài),只要按停止鍵,則進入停轉狀態(tài)。 2) 處于工作狀態(tài)時,有: 初始狀態(tài)為:風速 -“弱”,類型 -“正?!?按“風速”鍵,其狀態(tài)由“弱” “中” “強” “弱” 往復循環(huán)改變,每按一下按鍵改變一次; 按“類型”鍵,其狀態(tài)由“正?!?“睡眠” “自然” “正常” 往復家用電扇控制與驅動電路設計 報告 3 循環(huán)改變; 3) 風速的弱、中、強對應于電扇的轉動由慢到快。 4) 類型的不同選擇,分別為:正常 電扇連續(xù)運轉;自然 電扇模擬自然 風,即轉 4s,停 8s;睡眠 電扇慢轉,產生輕柔的微風,運轉 8s,停轉 8s; 5) 按照風速與類型的設置輸出相應的控制信號。 附加功能擴展 : 1. 根據 控制性能要求, 同時 實現 了對直流 電機 的 啟動、 轉速及模式的調節(jié)選擇和停止功能選擇 ,并可以明顯觀測到電機風扇的變化。 2. 實現了 在數碼管上實時顯示 直流風扇 當前 的 工作狀態(tài)。編程語言為匯編語言和 三、實驗設備 有 唐都 四、設計的思想和實施方案 本次 課程設計 的目的是 小家用電扇控制實驗與驅動電路設計, 為了 使課程設計的結果能夠具有直接的可觀測性。我們選擇了實驗箱上的直流電機作為驅動電路的控制電機。 首先我得通過查閱相關資料對 直流 電機有個初步的了解和認識 , 直流電動機的工作原理 : 這一對電磁力形成了作用于電樞一個力矩,這個力矩在旋轉電機里稱為電磁轉矩,轉矩的方向是逆時針方向,企圖使電樞逆時針方向轉動。如果此電磁轉矩能夠克服電樞上的阻轉矩(例如由摩擦引起的阻轉矩以及其它負載轉矩),電樞就能按逆時針方向旋轉起來。 因此,電樞一經轉動,由于換向器配合電刷對電流的換向作用,直流電流交替地由導體 入,使線 圈邊只要處于 N 極下,其中通過電流的方向總是由電刷 A 流入的方向,而在 S 極下時,總是從電刷 B 流出的方向。這就保證了每個極下線圈邊中的電流始終是一個方向,從而形成一種方向不變的轉矩,使電動機能連續(xù)地旋轉。這就是直流電動機的工作原理。 家用電扇控制與驅動電路設計 報告 4 考慮到所控制的電扇共有九種狀態(tài),其中風速分別為低速、中速和高速;類型分別為正常、自然和睡眠。故設想通過 數字量轉換為模擬量,然后通過 出占空比不同的矩形波來控制和調節(jié)風扇的轉速大小。再考慮到,硬件延時會增加芯片和成本,使系統過于復雜,故采用軟件延時的 方法。通過 出電壓為 0,再軟件延時 4s 或 8s 來改變類型,實現三種類型的改變。 為了增強風扇的實時響應能力,我采用實驗箱上鍵盤單元上的三個鍵來實現實時控制。 1#鍵實現啟動和風速的調節(jié)功能, 2#鍵實現類型的調節(jié)功能, 3#鍵實現風扇的停止功能。鍵盤信號的輸入通過 8255的 個端口來實現。 為了顯示風扇的實時狀態(tài),我用 6 個 顯示,分別代表低速、中速、高速、正常、自然和睡眠。通過 8255的 中有兩個口恒輸出 0,即沒有使用)來控制。 由于 8255的 考慮到利用一個七段數碼顯示管來顯示風扇的類型,當類型為正常、自然和睡眠時數碼管對應輸出為 1、 2 和 3。通過 B 口輸出控制信號。同時,在電腦的屏幕上,我們設計了一個狀態(tài)顯示的畫面,通過程序來實現。 五、 系統各單元的實現及介紹 1. 可編程外圍接口芯片 8255 圖 1 8255內部結構圖和管腳圖 家用電扇控制與驅動電路設計 報告 5 圖 2 8255控制字格式 8255 內部包含 3 個 8 位的輸入輸出端口 A、 B 和 C,端口 A 和端口 B 都可以用作一個 8位的輸入口或 8位的輸出口,端口 為一個 8位的輸入口或8 位的輸出口,又可以作為兩個 4 位的輸入輸出口( C 口上半部分和 C 口下半部分)使用,還可以配合 口工作,分別用來產生 口的輸出控制信號和輸入 口的端口狀態(tài)信號。 針對電扇控制的特點 , 設置 8255的工作方式如下 : 8255的 0作方式為 0,輸出; B 口接數碼管的 A、 B、 C、 D、 E、 F、 G 和使數碼管顯示 電扇的類型,工作方式 0,輸出; C 口低四位接鍵盤及數碼管顯示單元的 作方式 0,輸入,用來接受鍵盤的輸入信號 。 8255的 位 在本系統中 沒有用到。 綜上分析:初始化控制字為 10000001B。 2. D/家用電扇控制與驅動電路設計 報告 6 圖 3 D/此次用 D/要是為了實現通過 現對電扇的控制。故 系統總線的 接電機驅動電路的 A 端。 3. 圖 4 本次設計中,只用到 2別表示三個風速和三個狀態(tài)。在接線時,我們將 8255 的 0相應的位輸出為 1時,對應的 0 時,則滅。 4. 鍵盤及數碼管顯示單元 家用電扇控制與驅動電路設計 報告 7 圖 5 鍵盤及數碼管電路 本次設計,我們用到了第一個數碼管來顯示電扇轉動的類型, 0#、 4#和 8#鍵來控制風扇的狀態(tài)。根據設計要求,將 地, 255的 口,用來輸入信號。 255的 制數碼管的顯示。 5. 驅動電路及直流電機單元 圖 6 驅動電路及直流電機 本次設計中,將驅動芯片的 +12V 與直流電機1端相連, A端與 2相連,其余 懸空。 家用電扇控制與驅動電路設計 報告 8 六 、硬件電路原理圖 及分析 圖 7 電扇控制硬件原理圖 上圖為用 件繪制的硬件電路圖 :該圖涉及到系統總線、可編程外圍接口芯片 8255、鍵盤及數碼管顯示單元和 直流 電機及其驅動電路 。 1. 硬件接線及分析 設置 8255 的工作方式如下 : 8255 的 A 口接 示單元的 作方式為 0,輸出; 、 B、 C、 D、 E、 F、 P,以使數碼管顯示 電扇的類型,工作方式 0,輸出; 顯示單元的 作方式 0,輸入,用來接受鍵盤的輸入信號 。 8255的 位 在本系統中沒有用到。 D/要是為了實現通過 現對電扇的控制。故 系統總線的 接電機驅動電路的 本次設計中,只用到 別表示三個風速和三個狀態(tài)。在接線時,我們將 8255的 0相應的位輸出為 1時,對應的 0時,則滅 我們用到了第一個數碼管來顯示電扇轉動的家用電扇控制與驅動電路設計 報告 9 類型, 0#、 4#和 8#鍵來控 制風扇的狀態(tài)。根據設計要求,將 255的 口,用來輸入信號。 次接 8255的 制數碼管的顯示。本次設計中,將驅動芯片的 +12V 與直流電機 1端相連, A端與 2相連,其余懸空。其他讀寫及總線端口與實驗箱總線系統的相應接口連接。 本設計通過軟件編程 使 8255的 再通過 出命令由 8255 的 A 口 和 B 口 輸出信號來 分別 控制 及數碼管來顯示電扇的狀態(tài) 。 再通過對 出矩形波的占 空比的控制來調節(jié)風速,而停轉時間則由軟件延時來實現。 控制系統分四個功能模塊,分別是風速設置、類型設置、默認狀態(tài)運行、退出系統 。 提供 了三個按鍵來進行控制,并在屏幕上實時顯示狀態(tài)。 ( 1)風速設置 風速即為電機轉速設置,風速分為強、中、弱三種,對應不同的電機 轉 速。根據給 出的占空比來調節(jié) ,我們可以計算出步進電機各相脈寬信號的頻率和電機轉速,也可以反過來根據對電機轉速要求,計算并調整計算初值。 具體設置 占空比 見表 1。 表 1 風速 輸出 00H(延遲常數) 輸出 0遲常數) 占空比 慢 200 100 1/3 中 100 100 1/2 快 50 100 2/3 ( 2) 風的類型設置 風的類型有:正常、自然、睡眠三種。 風的類型的不同選擇,用 a) 正常 電扇連續(xù)運轉。 b) 自然 電扇模擬自然風,即轉 4s,停 8s。 c) 睡眠 電扇慢轉,產生輕柔的微風,運轉 8s,停轉 8s。 電機的運轉是 出為 0時,電機停轉。本次設計通過軟件延時來控制電機停轉的時間,從而改變電扇運行的類型 。 家用電扇控制與驅動電路設計 報告 10 七 、典型程序模塊 及分析 ) 首先,檢測小鍵盤的 1#鍵是否有輸入,若無輸入就循環(huán)檢測小鍵盤。當有小鍵盤的 1#鍵有輸入時,就賦給 和 ,并進入 風速和類型子程序)。 本次程序設計的控制風扇的功能,主要在風速和類型子程序 )中實現。 ) 此子函數主要 任務:當程序在風速和類型子程序 )運行時,實時的對小鍵盤進行檢測,從而修改兩個標志位, 再返回風速和類型子程序 )的相應循環(huán)體運行。 程序 ) 此函數主要完成 ,當程序在風扇運行時,使 時的延時,即控制矩形波的占空比。 子程序 ) 此函數 主要 完成 :當程序在風扇類型為自然或睡眠時,實現停轉 4s 或 8了很好的具有鍵盤實時響應的功能,我們在此延遲程序中,調用了鍵盤檢測的子程序,具有良好 的實時性。 ) 此程序是本次程序設計的重點和難點。我們用了兩個標志 分別標志風扇運行的風速和類型。為了使程序具有良好的可讀性,我們采用了兩重 有 9個循環(huán)體。 家用電扇控制與驅動電路設計 報告 11 ) ) 針對風扇運行的九個狀態(tài),我們編寫了九個狀態(tài)屏幕顯示的子程序,并用清屏函數實時刷新。 八 、 典型編程技巧分析 本次設計由于采用了較少的芯片和軟件延遲方式,對程序的設計具有較高 的要求。在整個程序設計中有以下幾大亮點和編程技巧: 應用,很好的解決了風扇類型和風速的嵌套調用關系,使程序更加明了且思路清晰。 寫了 不帶鍵盤檢測的延時 子程序 )和 帶鍵盤檢測的延 時子程序 )兩個子程序。增強了風扇的實時響應能力和延遲時間的精確性。 用了 句,簡化了編程,使之更加具有條理性。 九 、 課程設計中遇到的問題及解決方法 這種情 況出現在電機的加速、減速和改變轉向中,這主要是在原有的 鍵盤檢測子 程序中有一段判斷按鍵是否彈起的程序,將此段換成一個合適的軟件延時便可以起到很好的效果(按鍵不松時可以連續(xù)的加速和減速)。 2. 程序調試應遵循的步驟 查看各端口地址是否正確; 根據程序運行中的出現的現象分析出程序出錯的位置; 在 使程序有少到多有簡單到復雜逐一驗證其的正確性,以排除錯誤。 家用電扇控制與驅動電路設計 報告 12 示問題 調用了數碼管顯示程序而卻看不到數碼管有示數,這主要是調用數碼管顯示子函數的頻率不夠 高,可以把數碼管顯示子函數換個位置,或者是多調用幾次就可以解決了。至于數碼管好像是全亮,情況正好相反,是數碼管顯示子函數調用的頻率過高,把數碼管顯示子函數換個位置,或者是在關鍵位置調用一下延時函數就可以解決了。 死機 出現死機的原因很難說得清楚,有的是同一個程序換臺機子運行就會死機,有的是同一臺機子同一個程序運行多次就會死機,不過總的來看死機的出現多少是和所編寫的程序有關,記得我以前用小鍵盤時就是很容易就死機了,不過在這次的課程設計中 我把所有的和小鍵盤有關的程序都用了子函數代替,大大簡化了主程序的結構,這樣就基本再也沒發(fā)生過死機現象了。 十、 實驗程序的流程圖 1、主程序流程圖 ) 家用電扇控制與驅動電路設計 報告 13 2、風速 類型子函數流程圖 ) 3、鍵盤檢測子函數 ) 家用電扇控制與驅動電路設計 報告 14 十一 、 程 序清單及程序注釋 1. C 語言程序 /使用芯片: 08328255 /風扇控制 # /不帶鍵盤檢測的延時模塊 /帶鍵盤檢測的延時模塊 /*根據查看配置信息修改下列符號值 * # 0 0* # 0 # 0 # 0 # 0 /* # 0 ,; ; f; 家用電扇控制與驅動電路設計 報告 15 n); ) f= f=f&0if(f!=0f) ; ); /*風速模式 * f,a,b; f; f) /* 則設置風速為弱,占空比 1/3* : /t); /屏幕以及指示燈提示風速 f=1) :; b=1; a=0;ab;a+) /,正常模式 0 0家用電扇控制與驅動電路設計 報告 16 :; b=0a=0;a(b/0a+) /,自然模式 0 0 if(2|f!=1) if(2|f!=1) b, :; b=0a=0;a(b/0a+) /,睡眠模式 0 家用電扇控制與驅動電路設計 報告 17 0 if(3) /小鍵盤有輸入,跳出 環(huán) ; if(f!=1) if(3|f!=1) b, if(3) ; f; /* /* 則風速為中,占空比為 1/2* : /t); /屏幕以及指示燈提示風速 f=2) :; 家用電扇控制與驅動電路設計 報告 18 b=1; a=0;ab;a+) /,正常模式 0 0 :; b=0a=0;a(b/0a+) /,自然模式 0 0 if(2|f!=2) if(2|f!=2) b, :; b=0a=0;a(b/0a+) /,睡眠模式 0家用電扇控制與驅動電路設計 報告 19 0 if(3) /小鍵盤有輸入,跳出 環(huán) ; if(f!=2) if(3|f!=2) b, if(3) ; f; /* /* 則風速為強,占空比為 2/3* : /t); /屏幕以及指示燈提示風速 f=3) :; 家用電扇控制與驅動電路設計 報告 20 b=1; a=0;ab;a+) /,正常模式 0 0 :; b=0a=0;a(b/0a+) /,自然模式 0 0 if(2|f!=3) if(2|f!=3) b, :; b=0a=0;a(b/0a+) /,睡眠模式 0 家用電扇控制與驅動電路設計 報告 21 0 if(3) ; if(f!=3) if(3|f!=3) b, if(3) ; if(f!=3) ; /* /*小鍵盤檢測 * ; C= C=C&0!=0 C= 家用電扇控制與驅動電路設計 報告 22 C=C&0) *+;*+;(*+; /* /*不帶小鍵盤檢測的延時 * i; j; i=0;i=i+) j=0;j=0j+) /* /*帶小鍵盤檢測的延時 * i; j; f,f=(* * i=0;i=i+) j=0;j=0j+) *=f|(*= 家用電扇控制與驅動電路設計 報告 23 /*屏幕顯示子函數 * 0,2); *); 0,4); * ); ; 0,6); * ); ; 0,2); *); 0,4); * ); ; 0,6); * ); ; 0,2); *); 0,4); * ); ; 0,6); * ); ; 0,2); 家用電扇控制與驅動電路設計 報告 24 *); 0,4); * ); ; 0,6); * ); ; 0,2); *); 0,4); * ); ; 0,6); * ); ; 0,2); *); 0,4); * ); ; 0,6); * ); ; 0,2); *); 0,4); * ); ; 0,6); * ); ; 家用電扇控制與驅動電路設計 報告 25 0,2); *); 0,4); * ); ; 0,6); * ); ; 0,2); *); 0,4); * ); ; 0,6); * ); ; 2. 匯編語言程序 ( 1)用小鍵盤輸入信號、無數碼管顯示 ;*根據 置信息修改下列符號值 * 0 ;片選 應的端口始地址 ;* 0H*4 ;8255 的 A 口地址 1H*4 ;8255 的 B 口地址 2H*4 ;8255 的 C 口地址 3H*4 ;8255 的控制寄存器地 址 0 ;端口地址 ;堆棧段定義 256 ) 家用電扇控制與驅動電路設計 報告 26 1H 1H 0H 0H 36H,56H,67H,77H,79H,59H,71H O T!,0 ,0 ,0 ;定義字符串 0$ S: X ;顯示字符串 21H X ;定義 8255 工作方式 1H ;工作方式 0, A 口和 B 口為輸出 , L ;寫 A 口發(fā)出的起始數據 0H L ;寫 口起始數據 0H L ;寫 B 口發(fā)出的起始數據 0H L 家用電扇控制與驅動電路設計 報告 27 ;按 1 鍵則進入起始工作狀態(tài) ,否則等待重新按鍵 21H 1H H H H H 1: ;返回到 21H L L 時一秒 家用電扇控制與驅動電路設計 報告 28 0H L 1: L 時一秒 家用電扇控制與驅動電路設計 報告 29 0H L 3: 家用電扇控制與驅動電路設計 報告 30 1: H H,02H 6H L,1 L,2 L,3 1: L,L H,0H L,3H L H H 2: L,家用電扇控制與驅動電路設計 報告 31 L H,0H L,3H L H H 4 H ;軟件延時子程序 1: 2: ;顯示鍵值子程序 X X X,L,0X,L,- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 10 家用 電扇 控制 實驗 驅動 電路設計
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://appdesigncorp.com/p-89308.html