家用窗簾自動(dòng)開關(guān)控制器_第1頁
家用窗簾自動(dòng)開關(guān)控制器_第2頁
家用窗簾自動(dòng)開關(guān)控制器_第3頁
家用窗簾自動(dòng)開關(guān)控制器_第4頁
家用窗簾自動(dòng)開關(guān)控制器_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、基于MSP430G2211實(shí)現(xiàn)的家用窗簾自動(dòng)開關(guān)控制器目 錄第一章 作品概述3第一節(jié) 作品功能和單片機(jī)介紹3第二節(jié) 設(shè)計(jì)方案4第二章 硬件系統(tǒng)設(shè)計(jì)4第一節(jié) MSP430G2系列Launchpad開發(fā)板介紹4第二節(jié) 傳感器介紹6第三節(jié) 各單元電路的介紹7第四節(jié) 系統(tǒng)原理圖及元器件清單9第五節(jié) PCB板設(shè)計(jì)注意事項(xiàng)10第六節(jié) 硬件安裝調(diào)試注意事項(xiàng)及方法10第三章 軟件系統(tǒng)設(shè)計(jì)11第一節(jié) 程序總體狀態(tài)轉(zhuǎn)移圖11第二節(jié) 子程序API介紹11第三節(jié) 軟件程序的調(diào)試方法14第四章 總結(jié)與思考1516第一章 作品概述第一節(jié) 作品功能和單片機(jī)介紹該作品的主要功能是:當(dāng)外界光照度高于某一參考值時(shí)窗簾自動(dòng)打開,低

2、于該參考值是窗簾自動(dòng)關(guān)閉。用線程的方法來控制電機(jī)的停轉(zhuǎn),即在窗簾的頂部和底部分別安裝一個(gè)微動(dòng)開關(guān)S1和S2,當(dāng)窗簾正轉(zhuǎn)到頂部時(shí),碰觸微動(dòng)開關(guān)S1,在按鍵被按下時(shí),在單片機(jī)P1.6口產(chǎn)生一個(gè)下降沿中斷,在中斷內(nèi)單片機(jī)向P1.2和P1.3口輸出低電平,則電機(jī)停止轉(zhuǎn)動(dòng);當(dāng)窗簾反轉(zhuǎn)到底部時(shí),碰觸微動(dòng)開關(guān)S2,在按鍵被按下時(shí),在單片機(jī)P1.4口產(chǎn)生一個(gè)下降沿中斷,在中斷內(nèi)單片機(jī)向P1.2和P1.3口輸出低電平電機(jī)停止轉(zhuǎn)動(dòng)。所選用的芯片型號(hào)是TI公司的MSP430G2211。本作品選用MSP430G2211單片機(jī),該單片機(jī)超低功耗,具有5種節(jié)電模式,1us內(nèi)便可從待機(jī)模式喚醒,并具有一個(gè)強(qiáng)大的16位RIS

3、C CPU、16位寄存器和常數(shù)發(fā)生器,有助于最大限度的發(fā)揮代碼效率。此單片機(jī)還具有豐富的時(shí)鐘源,包括LF、OSC和VLO。它可通過串行口系統(tǒng)編程,無需外部編程電壓,具有可編程的保密熔絲代碼保護(hù),它具有Spy-Bi-Wire仿真邏輯接口。另外它還有10位IO口、8個(gè)比較器通道和16位的Timer_A定時(shí)器,帶2路捕獲和比較寄存器。此單片機(jī)的IO口和Timer_A定時(shí)器都具有強(qiáng)大的中斷能力。第二節(jié) 設(shè)計(jì)方案光敏傳感器G2211單片機(jī)電機(jī)控制電路圖1.1 系統(tǒng)組成結(jié)構(gòu)框圖用光敏傳感器(具體為硅光電池)將外界的光照度轉(zhuǎn)換成電壓信號(hào),并將該電壓信號(hào)經(jīng)過一級(jí)跟隨器電路輸入到G2211模擬比較器的正輸入端,

4、在硬件上的具體連接就是將27L2的7腳連接至單片機(jī)的P1.1口。并通過與負(fù)輸入端的內(nèi)部參考電壓作比較,使得比較模塊寄存器的CAOUT端置“1”或清零來控制單片機(jī)的P1.2和P1.3口輸出高低電平,進(jìn)而控制電機(jī)的正反轉(zhuǎn),實(shí)現(xiàn)窗簾的打開與關(guān)閉,在硬件上的具體連接就是將單片機(jī)的P1.2和P1.3口分別連接至電機(jī)驅(qū)動(dòng)芯片L298n的12腳和10腳。利用按鍵S1和S2觸發(fā)I/O口中斷來控制電機(jī)轉(zhuǎn)到窗簾的頂部或是窗簾的底部停止轉(zhuǎn)動(dòng)。直流電機(jī)連接至電機(jī)驅(qū)動(dòng)芯片L298n的13腳和14腳。第二章 硬件系統(tǒng)設(shè)計(jì)第一節(jié) MSP430G2系列Launchpad開發(fā)板介紹基于LaunchPad的MSP-EXP430G

5、2低成本實(shí)驗(yàn)板是一款適用于TI最新MSP430G2xx系列產(chǎn)品的完整開發(fā)解決方案。其基于USB的集成型仿真器可提供為全系列MSP430G2xx器件開發(fā)應(yīng)用所必需的所有軟、硬件。LaunchPad具有集成的DIP目標(biāo)插座,可支持多達(dá)20個(gè)引腳,從而使MSP430ValueLine器件能夠簡便地插入LaunchPad電路板中。此外,還可提供板上Flash仿真工具,以直接連接至PC輕松進(jìn)行編程、調(diào)試和評(píng)估。LaunchPad實(shí)驗(yàn)板還能夠?qū)Z430-RF2500T目標(biāo)板、eZ430-Chronos手表模塊或eZ430-F2012T/F2013T目標(biāo)板進(jìn)行編程。此外,它還提供了從MSP430G2xx器

6、件到主機(jī)PC或相連目標(biāo)板的9600波特UART串行連接。其實(shí)物圖如圖2.1所示。圖2.1 MSP430G2系列Launchpad開發(fā)板實(shí)物圖MSP-EXP430G2采用IAR EmbeddedWorkbench集成開發(fā)環(huán)境(IDE)或CodeComposerStudio(CCS)編寫、下載和調(diào)試應(yīng)用。調(diào)試器是非侵入式的,這使用戶能夠借助可用的硬件斷點(diǎn)和單步操作全速運(yùn)行應(yīng)用,而不耗用任何其他硬件資源。MSP-EXP430G2LaunchPad特性: USB調(diào)試與編程接口無需驅(qū)動(dòng)即可安裝使用,且具備高達(dá)9600波特的UART串行通信速度 支持所有采用PDIP14或PDIP20封裝的MSP430G2

7、xx和MSP430F20xx器件 分別連接至綠光和紅光LED的兩個(gè)通用數(shù)字I/O 引腳可提供視覺反饋 兩個(gè)按鈕可實(shí)現(xiàn)用戶反饋和芯片復(fù)位 器件引腳可通過插座引出,既可以方便的用于調(diào)試,也可用來添加定制的擴(kuò)展板 高質(zhì)量的20引腳DIP插座,可輕松簡便地插入目標(biāo)器件或?qū)⑵湟瞥龍D2.1 MSP430G2211硬件資源框圖第二節(jié) 傳感器介紹這里介紹一下型號(hào)2DU5的硅光電池,之所以選擇它,原因有兩個(gè):(1)在可見光范圍內(nèi),該器件能使光照度與其輸出電流有一個(gè)良好的線性關(guān)系,這樣我們就可通過一個(gè)運(yùn)放將其轉(zhuǎn)換成電壓信號(hào);(2)具有較好的靈敏度,當(dāng)你用手去遮住光源或者光照度稍微有點(diǎn)變化時(shí),運(yùn)放的輸出電壓也隨之改

8、變。圖2.2 硅光電池2DU5實(shí)物圖其實(shí),只要是硅光電池就行,不同型號(hào)只是輸出電流(一般為微安或毫安)的大小不同,當(dāng)然必須保證所選型號(hào)能感應(yīng)你要控制的窗簾所處環(huán)境的光(比如,可見光)。由于該方案采用的是硬件校準(zhǔn),即通過調(diào)節(jié)運(yùn)放反饋的電阻值的大小來調(diào)節(jié)輸入單片機(jī)模擬器正端的電壓值,所以當(dāng)你所選的硅光電池輸出電流比較小時(shí),可將反饋電阻調(diào)大來提高輸出電壓值,反之亦然。圖2.3為硅光電池2DU5參數(shù)信息。圖2.3 為硅光電池2DU5參數(shù)信息圖第三節(jié) 各單元電路的介紹第一部分:光電轉(zhuǎn)換電路圖2.4 光電轉(zhuǎn)換電路這里需要注意的是,在實(shí)際的電路實(shí)現(xiàn)中RP2,R6和RP1,R5只需任選一路即可,之所以這樣連是

9、為了在畫板子時(shí)多一路備用,6和7腳連接構(gòu)成一個(gè)電壓跟隨器,作用是將光電轉(zhuǎn)換電路與單片機(jī)隔離開來。最終的輸出電壓為硅光電池電流與所選一路電阻之積。第二部分:電源電路5V轉(zhuǎn)3.3V圖2.5 電源電路由于電機(jī)和運(yùn)放(27L2)的供電電壓均選擇為12V,所以將交流電通過適配器直接轉(zhuǎn)換成了12V,而電機(jī)驅(qū)動(dòng)芯片(L298n)的邏輯供電電壓Vss(9腳)最大值為7V,典型值為5V,而且使能高電平Ven(11腳)的取值大于2.3V小于Vss,故選擇5V給9腳和11腳供電,本方案用LM2940將12V轉(zhuǎn)化為5V,用GM1117將5V轉(zhuǎn)換為3.3V,給按鍵提供高電平接到單片機(jī)I/O口(其實(shí)也可以直接用單片的電源

10、給按鍵供電)。第三部分:電機(jī)驅(qū)動(dòng)電路圖2.6 電機(jī)驅(qū)動(dòng)電路采用的是L298n芯片對(duì)電機(jī)進(jìn)行驅(qū)動(dòng),其集成了兩個(gè)H橋電路,10和12腳接單片機(jī)的I/O口,13和14腳接電機(jī)的兩端,4腳接電源,該芯片的最大輸入電壓為46V,該方案采用的是12V,8腳接地,11腳為第二個(gè)H橋工作的使能端,高電平(2.3V到Vss,本方案選取Vss為5V)有效,具體的功能實(shí)現(xiàn)見下表:表2-1 電機(jī)狀態(tài)表輸入功能Venb(即11腳)=110腳=“1”;12腳=“0”正轉(zhuǎn)10腳=“0”;12腳=“1”反轉(zhuǎn)10腳=12腳電機(jī)停轉(zhuǎn)Venb(即11腳)=010腳=X;12腳=X電機(jī)停轉(zhuǎn)說明:(1)“1”表示電壓范圍在2.3V到V

11、ss的值之間;(2)“0”表示-0.3V到1.5V之間;(3)X表示為“0”,“1”任何一狀態(tài)。第四節(jié) 系統(tǒng)原理圖及元器件清單圖2.7 系統(tǒng)原理圖光電轉(zhuǎn)換電路主要由27L2芯片組成,將光信號(hào)轉(zhuǎn)換為電壓信號(hào)經(jīng)過跟隨器接到單片機(jī)的P1.1口,電機(jī)控制電路主要由L298n芯片組成,將其連接到P1.2和P1.3口。按鍵S1和S2接到單片機(jī)的P1.6和P1.4口。3.3V和5V電源電路主要是給所用芯片供電使能以及邏輯電平的選擇。表2-2列出了該作品所用到的元器件和芯片的型號(hào)。表2-2 元器件清單型號(hào)數(shù)量/個(gè)封裝TLC27L21DIP(雙列直插)L298n1Multiwatt15LM29401TO-220

12、GM11171SOT-123電位器(500k)1R(680K)11206R(100K)31206R(1K)21206二極管(4007)41206C(100nF)21206電解電容(10uF)2電解電容(22uF)1電解電容(47uF)1微動(dòng)開關(guān)32DU51電機(jī)1第五節(jié) PCB板設(shè)計(jì)注意事項(xiàng)圖2.8 PCB頂層設(shè)計(jì)圖2.9 PCB底層設(shè)計(jì)(1)由于有12V的電源,所以最好所有的電源線和地線都加粗,該作品電源線和地線均采用30mil線寬。(2)建議先焊實(shí)驗(yàn)板調(diào)試,再畫板子,因?yàn)槟阍韴D上的器件很可能在電子市場(chǎng)找不到(比如我GM1117的型號(hào)畫成了SOT123,但電子市場(chǎng)幾乎都是SOT223),在焊

13、實(shí)驗(yàn)板時(shí)就可以順便了解你要用的器件的常用封裝,如果找不到該型號(hào)的器件可以找市面上有哪些可以實(shí)現(xiàn)同樣功能的其他型號(hào)的器件,及時(shí)對(duì)方案進(jìn)行調(diào)整。(3)特別注意適配器DC座封裝,作為一個(gè)腳使用的兩個(gè)焊盤間距變?yōu)?mil,否則由于DC座腳太寬,插不進(jìn)去。第六節(jié) 硬件安裝調(diào)試注意事項(xiàng)及方法圖2.9 作品實(shí)物圖圖2.10 直流電機(jī)實(shí)物圖(1)R6,RP2和R5,RP1只需焊一組即可,本方案焊的是R6,RP2。(2)焊接時(shí)一定要注意硅光電池2DU5的正負(fù),接反的話27L2的6腳是沒有電壓值的。(3)在將單片機(jī)和硬件電路連接在一起之前,一定要進(jìn)行硬件校準(zhǔn),即通過調(diào)電位器的大小來改變27L2的6腳的值,將電路置

14、于你作為參考光照度的環(huán)境下,調(diào)節(jié)RP2讓6腳的值為0.9V(這跟你的程序有關(guān),因?yàn)槲沂菍?7L2的6腳的值作為單片機(jī)模擬比較器的正輸入端,負(fù)輸入端為單片機(jī)內(nèi)部參考0.25Vcc),一定要注意單片機(jī)模擬比較器的輸入端最大輸入電壓為2.6V。(4)在將單片機(jī)和自己畫的硬件電路連接之前,先給硬件加上電源,測(cè)一下和單片機(jī)I/O口相連的端子的電壓,看其是否正常,因?yàn)橛布腻e(cuò)誤連接(比如短路)可能導(dǎo)致跟單片機(jī)連接的端子的電壓異常,超過單片機(jī)的最大電壓范圍(3.6V),可能燒壞單片機(jī)。第三章 軟件系統(tǒng)設(shè)計(jì)第一節(jié) 程序總體狀態(tài)轉(zhuǎn)移圖電機(jī)正轉(zhuǎn)處于關(guān)閉狀態(tài)電機(jī)反轉(zhuǎn)處于打開狀態(tài)KEY1按下/電機(jī)停轉(zhuǎn)光照低/電機(jī)反轉(zhuǎn)

15、KEY2按下/電機(jī)停轉(zhuǎn)光照高/電機(jī)正轉(zhuǎn)圖3.1 狀態(tài)轉(zhuǎn)移圖基本思想:程序主要采用的是“狀態(tài)機(jī)”的方法,分為四個(gè)狀態(tài):電機(jī)正轉(zhuǎn),電機(jī)反轉(zhuǎn),窗簾處于打開狀態(tài),窗簾處于關(guān)閉狀態(tài)(程序的默認(rèn)狀態(tài))。只有當(dāng)光照度高于參考值同時(shí)窗簾處于關(guān)閉狀態(tài),電機(jī)才正轉(zhuǎn)(正轉(zhuǎn)打開窗簾),如果光照度高于參考值但窗簾已經(jīng)處于打開狀態(tài),則電機(jī)不轉(zhuǎn);只有當(dāng)光照度低于參考值同時(shí)窗簾處于打開狀態(tài),電機(jī)反轉(zhuǎn)(反轉(zhuǎn)關(guān)閉窗簾),如果光照度低于參考值但窗簾已經(jīng)處于關(guān)閉狀態(tài),則電機(jī)不轉(zhuǎn)。第二節(jié) 子程序API介紹初始化程序:WDTCTL = WDTPW + WDTHOLD; / 關(guān)閉開門狗P1DIR |= BIT0+BIT2 + BIT3;

16、/P1.0,P1.2及P1.3設(shè)為輸出CACTL1 = CARSEL + CAREF0 + CAON; / 內(nèi)部參考0.25 Vcc 為比較器負(fù)輸入端,打開比較器CACTL2 = P2CA4; / P1.1為比較器正輸入端P1IES |= BIT6+BIT4; /P1.4,P1.6下降沿中斷P1IE |= BIT6+BIT4; /中斷使能并打開總中斷_EINT(); P1OUT=0X00; /P1口輸出清零比較器模塊:if (CAOUT & CACTL2) /如果CAOUT置“1”且窗簾處于關(guān)閉狀態(tài),P1.0,P1.2輸出高電平,P1.3輸出低電平 switch(status)case

17、 Close_Stop : P1OUT=0x05;status= Normal;break;case Open_Stop : break;case Normal : break;case Innormal : break; else /如果CAOUT清零且窗簾處于打開狀態(tài),P1.3輸出高電平P1.0,P1.2輸出低電平switch(status)case Close_Stop : break;case Open_Stop :P1OUT=0x08;status=Innormal ;break;case Normal : break;case Innormal : break;按鍵檢測(cè):Void

18、Key_Detect()unsigned char PushKey;PushKey=P1IFG&(BIT4+BIT6);_delay_cycles(5000);if(PushKey&BIT6)Key1_OnClick();if(PushKey&BIT4)Key2_OnClick();按鍵處理:void Key1_OnClick()switch(status)case Close_Stop : break;case Open_Stop : break;case Normal :P1OUT&=(BIT2+BIT3);status=Open_Stop; break;c

19、ase Innormal :break;void Key2_OnClick()switch(status)case Close_Stop: break;case Open_Stop : break;case Normal: break;case Innormal : P1OUT&=(BIT2+BIT3);status=Close_Stop; break;第三節(jié) 軟件程序的調(diào)試方法建議分功能模塊調(diào)試,要特別注意switch語句的書寫規(guī)范。(1)調(diào)試比較器模塊是否正常,如果覺得程序沒問題但還是出不來效果,可能是單片機(jī)的比較器端口壞了,這事應(yīng)該重新下載一個(gè)簡單的程序檢測(cè)一下,以下是TI公司提供的一個(gè)程序范例:#include <msp430g2211.h>void main (void)WDTCTL = WDTPW + WDTHOLD; / Stop WDTP1DIR |= 0x01; / P1.0 outputCACTL1 = CARSEL + CAREF0 + C

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論