【《單片機控制的智能開關(guān)硬件和軟件系統(tǒng)設(shè)計案例》5800字】_第1頁
【《單片機控制的智能開關(guān)硬件和軟件系統(tǒng)設(shè)計案例》5800字】_第2頁
【《單片機控制的智能開關(guān)硬件和軟件系統(tǒng)設(shè)計案例》5800字】_第3頁
【《單片機控制的智能開關(guān)硬件和軟件系統(tǒng)設(shè)計案例》5800字】_第4頁
【《單片機控制的智能開關(guān)硬件和軟件系統(tǒng)設(shè)計案例》5800字】_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

單片機控制的智能開關(guān)硬件和軟件系統(tǒng)設(shè)計案例目錄TOC\o"1-3"\h\u26196第1章硬件設(shè)計 1286141.1硬件整體架構(gòu) 150241.2STM32最小系統(tǒng)電路 2248181.2.1復位電路 387141.2.2時鐘電路 3103801.2.3啟動電路 4104531.2.4下載電路 5227781.3藍牙通信電路 5123491.4WiFi通信電路 6172271.5舵機控制 840461.6模式選擇電路 9267971.7狀態(tài)指示燈 9298311.7.1系統(tǒng)LED燈 9226641.7.2使能LED燈 9299621.7.3RGB模塊 10267231.8電源電路 1031811.8.1CKCS-PB01充放電電路 10235511.8.2USB供電電路 11226291.8.3降壓電路 1118741.9本章小結(jié) 117642第2章軟件設(shè)計 123241.10開發(fā)環(huán)境 12284661.10.1MDK5 12300391.10.2“我的硬件”微信小程序 13270851.11程序流程設(shè)計 14214181.11.1主程序流程 14277851.11.2藍牙模式傳輸 15230281.11.3WiFi模式傳輸 16305421.11.4數(shù)據(jù)解析與執(zhí)行 1913801.12本章小結(jié) 20第1章硬件設(shè)計硬件整體架構(gòu)硬件設(shè)計是智能開關(guān)面板控制器總體設(shè)計中非常重要的一部分,它在很大程度上影響著整個控制器的質(zhì)量。在選擇控制器的硬件時,始終圍繞著安全、穩(wěn)定、低成本、方便用戶使用和日后升級簡單的原則。硬件設(shè)計的整體架構(gòu)主要包括主控平臺、擴展模塊和外圍電路。硬件組成框圖如圖3-1所示。硬件組成框圖STM32最小系統(tǒng)電路綜合性能和成本考慮,在本設(shè)計中選用意法半導體公司生產(chǎn)的一款基于Cortex-M3核心的32位增強型ARM微處理器STM32F103C8T6作為核心處理器。在該芯片命名上,“STM32”代表產(chǎn)品系列是基于ARM的32位的微控制器,“F”代表產(chǎn)品類型是通用類型,“103”代表產(chǎn)品子系列是增強型,“C”代表引腳數(shù)目是48腳,“8”代表閃存存儲器容量為64K字節(jié),“T”代表封裝類型為LQFP(Low-profileQuadFlatPackage),“6”代表工作溫度范圍為-40°C~85°C。該芯片引腳圖如圖3-2所示。STM32F103C8T6的主頻頻率為72MHz。在定時器方面,其擁有1個高級控制定時器(TIM1),3個通用控制定時器(TIM2、TIM3、TIM4);在通信接口方面,其擁有2個SPI(SPI1、SPI2),2個IIC(IIC1、IIC2),3個串口(USART1、USART2、USART3)、1個USB(USB2.0全速)和1個CAN(2.0B主動);其它資源還包括20K字節(jié)的SRAM,37個GPIO端口,2個12位的ADC等,此外使用ST-Link下載器可以很方便的對該芯片進行程序燒錄,極大的簡化了下載步驟。為了實現(xiàn)最小系統(tǒng),還需要包括復位電路、時鐘電路、啟動電路、下載電路等外圍輔助電路。STM32F103C8T6引腳圖復位電路復位電路產(chǎn)生外部復位,可在系統(tǒng)運行出現(xiàn)錯誤時或其它情況下使用。當SW1按鍵按下時,RESET端被拉到接地端,高電平變?yōu)榈碗娖?,低電平輸入到單片機的NRST引腳產(chǎn)生系統(tǒng)復位。復位電路時鐘電路時鐘電路相當于單片機的心臟,控制著單片機的工作節(jié)奏。單片機外接晶振,以外部晶振為基礎(chǔ),通過分頻或倍頻兩種方式得到其它的時鐘頻率。電路中32.768KHz晶振產(chǎn)生的振蕩頻率經(jīng)過分頻器15次分頻后可以得到1Hz信號,即215=32768,1Hz也就是1秒鐘,晶振兩端分別連接PC14和PC15引腳。8MHz晶振產(chǎn)生的振蕩頻率經(jīng)過倍頻后使單片機達到72MHz的主頻率,晶振兩端分別連接OSCIN和OSCOUT引腳。電路圖如圖3-4所示。時鐘電路啟動電路每個STM32的芯片上都有BOOT0和BOOT1引腳,通過跳線帽連接到高低電平來配置單片機的啟動模式,啟動模式說明如表3-1所示,電路兩端分別連接單片機的BOOT0和BOO1引腳。若使用串口下載程序需配置啟動模式為系統(tǒng)存儲器模式,正常使用時啟動模式為用戶閃存存儲器模式。電路圖如圖3-5所示。啟動模式說明BOOT0BOOT1啟動模式說明低-用戶閃存存儲器內(nèi)部FLASH高低系統(tǒng)存儲器用于串口下載高高SRAM用于在SRAM中調(diào)試代碼啟動電路下載電路配合ST-Link下載器,使用SWD(SerialWireDebug)接口,只需要四根杜邦線就能實現(xiàn)程序的下載與調(diào)試。電路圖如圖3-6所示。下載電路藍牙通信電路藍牙在設(shè)計中作為控制器的近距離通信方式。在前文提到選擇藍牙4.0版本的前提下,綜合性能和成本考慮,在本設(shè)計中選用MLT-BT05作為藍牙通信模塊。該模塊使用了TI公司生產(chǎn)的一款CC2541芯片,它提出了一款針對藍牙低功耗的片載系統(tǒng)解決方案,非常適用于需要超低功耗的系統(tǒng),除待機功耗低之外,該芯片還具有連接距離遠、反應(yīng)速度快等優(yōu)點。MLT-BT05支持主從模式,并板載紅色LED指示燈,用來指示藍牙連接狀態(tài),指示狀態(tài)說明如表3-2所示。在未建立藍牙連接時模塊默認通過AT指令設(shè)置串口波特率、名稱、配對碼等,設(shè)置的參數(shù)可以掉電保存,藍牙連接后模塊自動切換到透傳模式。在本設(shè)計中選擇從模式。指示狀態(tài)說明模式LED顯示模塊狀態(tài)主模式均勻閃爍(300ms)搜索及連接中常亮建立連接從模式均勻慢速閃爍(800ms)等待配對常亮建立連接MLT-BT05的引出接口包括VCC、GND、TXD、RXD、STATE、EN。VCC和GND為電源端口,使用3.3V供電;TXD是發(fā)送端口,連接單片機的RXD,RXD是接收端口,連接單片機的TXD,因為單片機的USART1串口(TXD:PA9、RXD:PA10)需要與電腦連接進行串口打印與數(shù)據(jù)調(diào)試,所以這里選擇使用USART2(TXD:PA2、RXD:PA3)串口進行通信;STATE引腳輸出藍牙模塊的狀態(tài),高電平為已連接,其它狀態(tài)為低電平;EN引腳搭配板載按鍵使用,若輸入低電平,在模塊處于休眠狀態(tài)時,短按按鍵,模塊將被喚醒至正常狀態(tài),在模塊處于連接狀態(tài)時,短按按鍵,模塊就會主動發(fā)起斷開連接請求。在本設(shè)計中未使用到STATE和EN引腳。該模塊引腳連接圖如圖3-7所示。MLT-BT05引腳圖WiFi通信電路WiFi在設(shè)計中作為控制器的遠程通信方式。在前文提到選擇2.4GHz頻段的WiFi前提下,綜合性能和成本考慮,在本設(shè)計中選用ESP-01S作為WiFi通信模塊。該模塊是ESP8266系列WiFi模塊之一,是一款安信可科技自主研發(fā)設(shè)計的高性價比WiFiSOC模組。該模塊支持標準IEEE802.11b/g/n協(xié)議,并內(nèi)置完整的TCP/IP協(xié)議棧。用戶可以使用這一模塊向現(xiàn)有設(shè)備添加網(wǎng)絡(luò)功能,也可以構(gòu)建獨立的網(wǎng)絡(luò)控制器。ESP-01S支持Station、SoftAP、SoftAP+Station三種模式,并板載藍色LED指示燈,供電狀態(tài)下LED燈熄滅,數(shù)據(jù)交換時LED燈閃爍。在本設(shè)計中選擇Station模式。模塊上電后首先在波特率為74880bps下打印輸出系統(tǒng)日志信息,如圖3-8所示,然后波特率切換到115200bps下完成系統(tǒng)初始化,當輸出Ai-ThinkerTechnologyCo.Ltd.ready字符串后,表明初始化完成,如圖3-9所示,之后可通過AT指令對模塊進行調(diào)試。74880bps下啟動信息115200bps下啟動信息ESP-01S的引出接口包括VCC、GND、TXD、RXD、RST、EN、IO0、IO2。VCC和GND為電源端口,使用3.3V供電;TXD是發(fā)送端口,連接單片機的RXD,RXD是接收端口,連接單片機的TXD,因為在同一時間,控制器只有藍牙或WiFi一種模式工作,所以為提高代碼的易讀性和簡潔性,這里與藍牙模塊共用同一個串口,即USART2(TXD:PA2、RXD:PA3)串口進行通信;RST是復位引腳,低電平復位,連接單片機的PB11引腳;EN是使能引腳,高電平使能,連接單片機的PB9引腳;IO0和IO2引腳通過高低電平搭配來選擇模塊的啟動模式,啟動模式說明如表3-3所示,在運行模式下,IO0和IO2引腳可懸空。該模塊引腳連接圖如圖3-10所示。啟動模式說明模式ENRSTIO0IO2下載模式高高低高運行模式高高高高MLT-BT05引腳圖舵機控制舵機是一種位置(角度)伺服的驅(qū)動器,適用于需要角度不斷變化并可以保持的控制系統(tǒng)。根據(jù)在本論文2.1中針對第1個問題所選用的第二種方案,綜合性能和成本考慮,在本設(shè)計中選用SG90作為舵機模塊,通過SG90模塊擺臂的旋轉(zhuǎn)來模擬人的開關(guān)動作。SG90模塊的工作原理是控制信號從接收機通道進入信號調(diào)制芯片,獲得直流偏置電壓。其內(nèi)部有一個參考電路,產(chǎn)生一個周期為20ms,寬度為1.5ms的參考信號,將得到的直流偏置電壓與電位器的電壓進行比較,得到電壓差輸出。最后,電壓差的正負輸出電機驅(qū)動芯片決定電機的正反轉(zhuǎn)。當電機轉(zhuǎn)速一定時,通過級聯(lián)減速齒輪帶動電位器旋轉(zhuǎn),使電壓差為0,電機停止轉(zhuǎn)動。該模塊的引出接口包括VCC、GND、IN。VCC和GND為電源端口,為保證扭力足夠,使用5V供電;IN是信號輸入引腳,連接單片機的PB1引腳,使用TIM3的OC4進行PWM信號輸出。該模塊引腳連接圖如圖3-11所示。MLT-BT05引腳圖模式選擇電路使用撥碼開關(guān)進行模式選擇,撥碼開關(guān)一端連接單片機的PA8引腳,另一端接地,當PA8引腳檢測到低電平輸入時,選擇藍牙模式,其它情況下選擇WiFi模式。當用戶需要更改控制器模式時,可撥動撥碼開關(guān)至相應(yīng)模式,并按下復位按鍵使系統(tǒng)運行到更改后的模式。電路圖如圖3-12所示。下載電路狀態(tài)指示燈控制器有三種狀態(tài)指示燈,分別是系統(tǒng)LED燈、使能LED燈,RGB模塊。系統(tǒng)LED燈系統(tǒng)LED燈提示控制器目前的狀態(tài),“滅”表示正在初始化,“快閃(間隔500ms)”表示處于藍牙模式,“慢閃(間隔1s)”表示處于WiFi模式,通過控制單片機的PC13引腳輸出低電平使系統(tǒng)LED燈點亮。電路圖如圖3-13所示。系統(tǒng)LED燈電路圖使能LED燈使能LED燈提示W(wǎng)iFi模塊的使能狀態(tài),“亮”表示已使能,“滅”表示未使能,通過控制單片機的PB9引腳輸出高電平使使能LED燈點亮,此時ESP-01S的EN引腳也處于高電平使能狀態(tài)。電路圖如圖3-14所示。使能LED燈電路圖RGB模塊RGB模塊提示開關(guān)狀態(tài),“藍色”表示復位狀態(tài),“紅色”表示關(guān)狀態(tài),“綠色”表示開狀態(tài),該模塊集成了3個發(fā)光二極管,引出接口包括R、G、B,GND。GND負責接地,R、G、B分別表示紅色、綠色、藍色,分別連接到單片機的PA6、PA5、PB0引腳,通過控制這三個引腳在不同時刻輸出高電平來點亮其中一種顏色,也可通過3路PWM信號來控制每種顏色的亮度,搭配出其它顏色。該模塊引腳圖如圖3-15所示。RGB模塊引腳圖電源電路電源電路分為三部分,分別是CKCS-PB01充放電電路、USB供電電路、降壓電路。CKCS-PB01充放電電路CKCS-PB01搭配一節(jié)4.2V的18650鋰電池使用,可升壓輸出5V電壓,當電池電壓不足時可通過Type-C接口對電池充電,同時支持邊充電邊放電。該模塊板載4顆LED燈用來顯示電池電量,并預(yù)留了外部按鍵接口,按鍵另一端接地時,短按一次按鍵控制開啟電量顯示和5V輸出,短按兩次按鍵會關(guān)閉電量顯示和5V輸出,在負載電流持續(xù)小于50mA時也將自動關(guān)閉輸出,在本設(shè)計中未使用到該按鍵,直接通過開關(guān)控制輸出。電路圖如圖3-16所示。CKCS-PB01充放電電路USB供電電路USB供電電路為最小系統(tǒng)板的供電電路,可提供5V電壓,此部分僅在程序調(diào)試時作為供電端使用,電路圖如圖3-17所示。USB供電電路降壓電路除舵機模塊需要5V電源供電外,其余模塊都是3.3V電源供電,所以需要將5V降壓至3.3V。電路圖如圖3-18所示。降壓電路本章小結(jié)本章主要介紹了智能開關(guān)面板控制器的硬件設(shè)計部分,涉及到STM32主控芯片以及外圍輔助電路、藍牙模塊、WiFi模塊、舵機模塊、狀態(tài)指示燈五個主要部分。第2章軟件設(shè)計開發(fā)環(huán)境智能開關(guān)面板控制器的硬件平臺已經(jīng)搭建完成,接下來開始搭建相應(yīng)的軟件平臺,在這一過程中,開發(fā)環(huán)境至關(guān)重要。MDK5在軟件開發(fā)環(huán)境的選擇上,對比目前比較常見的開發(fā)環(huán)境,最終選擇了應(yīng)用度最廣的MDK5即KeiluVision5,它是目前針對ARM處理器,尤其是Cortex-M內(nèi)核處理器的最佳開發(fā)工具。它具有代碼提示和語法動態(tài)檢測等實用功能,同時提供了一套豐富的固件庫,本次使用了Keil.STM32F1xx_DFP.2.3.0.pack固件庫,極大簡化了程序編寫步驟,該版本還向后兼容MDK4和MDK3等,便于對之前項目的移植。在編程語言上,該開發(fā)環(huán)境支持匯編語言、C語言等,為提高代碼的可讀性,可維護性,使用C語言完成對程序的編寫,代碼編譯完成后,在配置好ST-Link下載器的基礎(chǔ)上,使用“Download”按鈕一鍵下載調(diào)試。KeiluVision5界面如圖4-1所示。KeiluVision5界面“我的硬件”微信小程序本設(shè)計借助“我的硬件”微信小程序進行二次開發(fā)作為控制端APP。“我的硬件”是一款可自定義界面的微信小程序,通過添加和拖拽控件來完成界面的編輯,每個控件都有一個相對應(yīng)的ID標識和數(shù)據(jù),待控件被觸發(fā)時,會通過提前設(shè)定好的通信方式發(fā)送出去,同時可選擇記錄日志信息。該小程序目前支持藍牙4.0和MQTT兩種通信模式,遠近通信方式的搭配,全方位支持本設(shè)計的控制需求。小程序還提供了現(xiàn)成的MQTT服務(wù)器,所以只需要配置MQTT硬件端即可。開發(fā)流程如圖4-2所示。開發(fā)流程圖程序流程設(shè)計主程序流程在智能開關(guān)面板控制器的軟件設(shè)計中,主控芯片STM32F103C8T6有很多模塊需要驅(qū)動,這在開發(fā)過程中是最基礎(chǔ)的部分,在程序開始的初始化部分主要包括時鐘設(shè)置、中斷配置、串口配置以及外設(shè)模塊初始化等,串口在配置過程中還需設(shè)置串口的波特率,在這里串口1和串口2的波特率均設(shè)置為115200bps。系統(tǒng)初始化完成后,根據(jù)撥碼開關(guān)確定使用模式,當用戶需要更改控制器模式時,可撥動撥碼開關(guān)至相應(yīng)模式,按下復位按鍵,使系統(tǒng)運行到更改后的模式。整體流程如圖4-3所示。主程序流程在本設(shè)計中主要使用定時器進行邏輯控制,提前設(shè)定了7個定時器,分別為定時器0~6。定時器0和定時器1負責系統(tǒng)LED燈兩種不同閃爍狀態(tài),以定時器0為例,每隔500ms快閃爍指示當前處于藍牙模式,開啟定時器0后,首先執(zhí)行以下代碼設(shè)置標志位與參數(shù):Time_Control.Timing_Flag[0]=0xff;Time_Control.OutTimeFlag[0]=0;Time_Control.TimingCount[0]=500;500ms計時結(jié)束即Time_Control.TimingCount[0]=0,此時產(chǎn)生超時中斷事件,執(zhí)行以下代碼更新標志位:Time_Control.Timing_Flag[0]=0;Time_Control.OutTimeFlag[0]=0xff;所以只需要for語句循環(huán)檢測0~6每個定時器,嵌套if語句判斷Time_Control.OutTimeFlag[i]標志位是否為0xff,若是,執(zhí)行定時器對應(yīng)操作并清除該標志位,若否,跳過當前定時器對應(yīng)操作。藍牙模式傳輸藍牙模塊的默認模特率為9600bps,需要使用如下AT指令將模塊波特率更改為115200bps:發(fā)送:AT+BAUD8\r\n返回:+BAUD=8\r\n OK\r\n藍牙連接后,當串口2接收到數(shù)據(jù)時,運行串口2中斷服務(wù)程序,并開啟定時器5,然后立即執(zhí)行定時器5對應(yīng)的數(shù)據(jù)接收操作。整體流程如圖4-4所示。藍牙模式傳輸流程圖WiFi模式傳輸WiFi模塊的默認模特率為115200bps,與單片機串口2配置的波特率相匹配。運行WiFi模式時,首先開啟定時器2并立即執(zhí)行定時器2對應(yīng)的連接服務(wù)器操作,其中涉及到的AT指令如下:(1)AT+CIPSTATUS:查詢網(wǎng)絡(luò)連接信息。模塊返回接口狀態(tài),STATUS:2已連接AP,獲得IP地址、STATUS:3:已建立TCP或UDP傳輸、STATUS:4:斷開網(wǎng)絡(luò)連接、STATUS:5:未連接AP,即當返回的字符串中含有“STATUS:5”字樣時,說明當前未連接到無線接入點,則執(zhí)行配網(wǎng)操作,若無該字樣,則執(zhí)行后續(xù)操作。(2)AT+CWMODE=1:設(shè)置當前WiFi為Station模式。(3)AT+CWSTARTSMART:開啟SmartConfig,支持類型為ESPTOUCH、AirKiss。WiFi模塊開啟配網(wǎng)操作后,可通過“安信可科技”微信公眾號提供的配網(wǎng)入口(即AirKis

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論