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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

10、給按鍵供電)。第三部分:電機驅(qū)動電路圖2.6 電機驅(qū)動電路采用的是L298n芯片對電機進行驅(qū)動,其集成了兩個H橋電路,10和12腳接單片機的I/O口,13和14腳接電機的兩端,4腳接電源,該芯片的最大輸入電壓為46V,該方案采用的是12V,8腳接地,11腳為第二個H橋工作的使能端,高電平(2.3V到Vss,本方案選取Vss為5V)有效,具體的功能實現(xiàn)見下表:表2-1 電機狀態(tài)表輸入功能Venb(即11腳)=110腳=“1”;12腳=“0”正轉(zhuǎn)10腳=“0”;12腳=“1”反轉(zhuǎn)10腳=12腳電機停轉(zhuǎn)Venb(即11腳)=010腳=X;12腳=X電機停轉(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芯片組成,將光信號轉(zhuǎn)換為電壓信號經(jīng)過跟隨器接到單片機的P1.1口,電機控制電路主要由L298n芯片組成,將其連接到P1.2和P1.3口。按鍵S1和S2接到單片機的P1.6和P1.4口。3.3V和5V電源電路主要是給所用芯片供電使能以及邏輯電平的選擇。表2-2列出了該作品所用到的元器件和芯片的型號。表2-2 元器件清單型號數(shù)量/個封裝TLC27L21DIP(雙列直插)L298n1Multiwatt15LM29401TO-220

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

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

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

15、KEY2按下/電機停轉(zhuǎn)光照高/電機正轉(zhuǎn)圖3.1 狀態(tài)轉(zhuǎn)移圖基本思想:程序主要采用的是“狀態(tài)機”的方法,分為四個狀態(tài):電機正轉(zhuǎn),電機反轉(zhuǎn),窗簾處于打開狀態(tài),窗簾處于關(guān)閉狀態(tài)(程序的默認(rèn)狀態(tài))。只有當(dāng)光照度高于參考值同時窗簾處于關(guān)閉狀態(tài),電機才正轉(zhuǎn)(正轉(zhuǎn)打開窗簾),如果光照度高于參考值但窗簾已經(jīng)處于打開狀態(tài),則電機不轉(zhuǎn);只有當(dāng)光照度低于參考值同時窗簾處于打開狀態(tài),電機反轉(zhuǎn)(反轉(zhuǎn)關(guān)閉窗簾),如果光照度低于參考值但窗簾已經(jīng)處于關(guān)閉狀態(tài),則電機不轉(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;按鍵檢測: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)試比較器模塊是否正常,如果覺得程序沒問題但還是出不來效果,可能是單片機的比較器端口壞了,這事應(yīng)該重新下載一個簡單的程序檢測一下,以下是TI公司提供的一個程序范例:#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等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論