基于單片機(jī)的云端寵物喂食器_第1頁(yè)
基于單片機(jī)的云端寵物喂食器_第2頁(yè)
基于單片機(jī)的云端寵物喂食器_第3頁(yè)
基于單片機(jī)的云端寵物喂食器_第4頁(yè)
基于單片機(jī)的云端寵物喂食器_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

V頁(yè)共43頁(yè)1緒論1.1設(shè)計(jì)的來(lái)源、目的和意義1.1.1設(shè)計(jì)來(lái)源單片機(jī)是一種集成了微處理器核心、存儲(chǔ)器、輸入輸出接口等功能的集成電路芯片,主要用于嵌入式系統(tǒng)。它們的小型化、低成本、低功耗和簡(jiǎn)易設(shè)計(jì)使其在多個(gè)領(lǐng)域得到廣泛應(yīng)用,如自動(dòng)控制、數(shù)據(jù)處理和通信等。從20世紀(jì)70年代開始,單片機(jī)的發(fā)展迅速,最初由Intel公司的8048和8051系列引領(lǐng)。隨著技術(shù)的演進(jìn),單片機(jī)的性能持續(xù)提升,功能也日益豐富,包括網(wǎng)絡(luò)功能支持、增加的存儲(chǔ)容量和更多的輸入輸出端口。單片機(jī)的主要特點(diǎn)包括高集成度、成本效益、低功耗以及易于編程和調(diào)試。這些特點(diǎn)使得單片機(jī)在設(shè)計(jì)時(shí)可以減少外部組件的使用,降低制造成本,同時(shí)也優(yōu)化了功耗,非常適合電池供電的設(shè)備。在應(yīng)用方面,單片機(jī)幾乎遍布所有電子設(shè)備領(lǐng)域。家用電器如微波爐、電視和空調(diào)控制系統(tǒng);汽車中的發(fā)動(dòng)機(jī)管理系統(tǒng)、防鎖死制動(dòng)系統(tǒng)和安全氣囊系統(tǒng);工業(yè)自動(dòng)化中的溫度控制和自動(dòng)化裝配線;消費(fèi)電子產(chǎn)品如相機(jī)和智能手表;以及通信設(shè)備中的路由器和交換機(jī)等,都是單片機(jī)的典型應(yīng)用實(shí)例單片機(jī),亦稱單片微電腦或單片微型計(jì)算機(jī)。它是把中央處理器(CPU)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、輸入/輸出端口(I/0)等主要計(jì)算機(jī)功能部件都集成在一塊集成電路芯片上的微型計(jì)算機(jī)。1.1.2目的和意義現(xiàn)在寵物進(jìn)入千家萬(wàn)戶,但現(xiàn)在日常加班工作時(shí)間長(zhǎng)已成為常態(tài),導(dǎo)致許多寵物得不到好的互動(dòng)和喂養(yǎng),讓很多寵物消瘦甚至有高智商鸚鵡等動(dòng)物發(fā)展為抑郁等病癥,本設(shè)計(jì)正是考慮此原因而設(shè)計(jì),本設(shè)計(jì)擁有“主人聲音呼喚喂食”,“智能稱重喂食”,“云端實(shí)時(shí)查看動(dòng)態(tài)”等人性化功能。1.2設(shè)計(jì)要求利用單片機(jī)的定時(shí)功能設(shè)計(jì)一個(gè)寵物自動(dòng)喂食盒的電路,要求:可以通過(guò)鍵盤輸入5個(gè)倒計(jì)時(shí)時(shí)間,每一個(gè)倒計(jì)時(shí)時(shí)間到后,通過(guò)HX711壓力采集當(dāng)前食物重量進(jìn)行判斷,食物不足控制步進(jìn)電機(jī)進(jìn)行喂食;喂食時(shí)間到后WT588D進(jìn)行語(yǔ)音提醒。水位傳感器采集是否有水無(wú)水的情況下驅(qū)動(dòng)水泵進(jìn)行加水WIFI模塊ESP8266通過(guò)服務(wù)器云平臺(tái)進(jìn)行無(wú)線傳輸和遠(yuǎn)程控制2.項(xiàng)目設(shè)計(jì)方案論證本章將對(duì)項(xiàng)目設(shè)計(jì)方案進(jìn)行論證,首先對(duì)系統(tǒng)功能要求進(jìn)行說(shuō)明。硬件方面:本設(shè)計(jì)以32系列單片機(jī)STM32F103C8T6為核心設(shè)計(jì)寵物喂食系統(tǒng),自行設(shè)計(jì)USB-5V輸入,選用DS1302時(shí)鐘、DS18B20溫度采集、LCD1602液晶顯示,水位檢測(cè)、按鍵設(shè)置、電機(jī)控制、HX711壓力采集、WT588D語(yǔ)音提示、無(wú)線傳輸。設(shè)計(jì)經(jīng)過(guò)調(diào)研,收集且分析相關(guān)技術(shù)資料,綜合考慮寵物喂食控制系統(tǒng)。主要完成以下工作:基于單片機(jī)寵物喂食的設(shè)計(jì)方案。DS1302時(shí)鐘芯片、按鍵設(shè)置、液晶顯示、電機(jī)控制等與單片機(jī)的接口電路設(shè)計(jì)。LCD1602液晶顯示當(dāng)前信息。按鍵設(shè)置寵物重量,修改當(dāng)前模式、設(shè)置當(dāng)前時(shí)間。ULN2003驅(qū)動(dòng)步進(jìn)電機(jī)進(jìn)行喂食電源通過(guò)USB-5V供電為整個(gè)系統(tǒng)供電通過(guò)ESP8266模塊把數(shù)據(jù)傳輸?shù)绞謾C(jī)端進(jìn)行顯示控制HX711壓力采集當(dāng)前食物重量水位傳感器檢測(cè)是否有水控制水泵及時(shí)加水設(shè)計(jì)主要軟件程序模塊,完成軟件設(shè)計(jì)。實(shí)物調(diào)試(選擇可靠的焊接并且多次測(cè)試使電路保證通路可靠)軟件方面:簡(jiǎn)單來(lái)說(shuō)軟件方面就是讓MCU與各個(gè)功能單元實(shí)現(xiàn)連接實(shí)現(xiàn)MCU對(duì)它們的通信與邏輯控制,在keil5使用c語(yǔ)言編寫程序再編譯最后燒錄到MCU內(nèi)實(shí)現(xiàn)軟件操作。2.1功能要求本次設(shè)計(jì)主要分為檢測(cè)、顯示、控制傳輸、提示部分。單片機(jī)采用STM32F103C8T6單片機(jī)作為CPU處理器,檢測(cè)部分包括溫濕度和壓力檢測(cè)。按鍵設(shè)置5個(gè)時(shí)間段進(jìn)行投食,按鍵設(shè)置每次投放食物重量。HX711壓力采集當(dāng)前重量,水位傳感器檢測(cè)是否有水位進(jìn)行加水。LCD1602液晶顯示屏顯示LCD1602顯示當(dāng)前食物重量,時(shí)間、步進(jìn)電機(jī)控制,語(yǔ)音提醒,顯示重量,時(shí)間等信息,并且可以通過(guò)WIFI模塊云平臺(tái)進(jìn)行無(wú)線數(shù)據(jù)通信傳輸和控制。2.2總體思路 分析本題,根據(jù)設(shè)計(jì)要求先確定了本系統(tǒng)的整體設(shè)計(jì)原理框圖如下圖:圖2.1系統(tǒng)整體設(shè)計(jì)原理框圖2.3元件設(shè)計(jì)選擇方案2.3.1STM32F103單片機(jī)使用論述單片機(jī)在現(xiàn)代電子設(shè)備中扮演著核心角色,尤其是在需要緊湊、高效、成本效益的解決方案的場(chǎng)合。STM32F103系列單片機(jī)作為一種32位的微控制器,相較于傳統(tǒng)的51單片機(jī)(8位),提供了更高的處理能力和更豐富的功能。STM32F103系列單片機(jī)基于ARMCortex-M3核心,具備高性能和低功耗的特性,非常適合用于需要實(shí)時(shí)操作和復(fù)雜算法的應(yīng)用,如智能家居設(shè)備。成本、功耗與速度:在成本方面,盡管STM32F103的單價(jià)可能略高于某些51單片機(jī),但其在系統(tǒng)級(jí)別的成本效益更為顯著,因?yàn)樗鼫p少了外圍設(shè)備的需求,簡(jiǎn)化了設(shè)計(jì)。在功耗方面,STM32F103設(shè)計(jì)了多種低功耗模式,使得設(shè)備在不活躍時(shí)可以顯著降低能耗,這對(duì)于需要長(zhǎng)時(shí)間運(yùn)行的寵物喂食器尤為重要。速度方面,32位的處理器顯著優(yōu)于8位處理器,能夠更快地處理和響應(yīng)復(fù)雜的任務(wù)和指令。選擇STM32F103而不是51單片機(jī)的主要理由是其強(qiáng)大的性能和靈活性。STM32103比基礎(chǔ)版性價(jià)比高,適應(yīng)場(chǎng)景較多,功耗成本與性能三者的綜合體,擁有專門為性價(jià)比設(shè)計(jì)的ARMCortex-M3內(nèi)核。時(shí)鐘頻率達(dá)到72MHz,是同類產(chǎn)品中性能最高之產(chǎn)品;內(nèi)置32K到128K的閃存,閃存執(zhí)行代碼,STM32功耗36mA,是32位市場(chǎng)上功耗最低的產(chǎn)品,相當(dāng)于0.5mA/MHz。在“基于云端的STM32寵物喂食器”項(xiàng)目中,需要處理大量的數(shù)據(jù)和復(fù)雜的控制邏輯,同時(shí)還要保持與云服務(wù)的實(shí)時(shí)通信,這些都STM32F103擅長(zhǎng)的領(lǐng)域。此外,隨著物聯(lián)網(wǎng)和智能設(shè)備需求的增加,使用現(xiàn)代、高效的微控制器可以確保項(xiàng)目的長(zhǎng)期可維護(hù)性和擴(kuò)展性。ST公司的STM32系列芯片采用了Cortex-M3內(nèi)核(哈佛結(jié)構(gòu)),其分為兩個(gè)系列,STM32F101系列(基本型)基本特點(diǎn):(1)工作頻率(MHz)36(2)16-bit定時(shí)器×8(3)32-bi定時(shí)器×1(4)A/D轉(zhuǎn)換器1x12-bit(5)D/A轉(zhuǎn)換器1x12-bit(6)通信接口1xSPI/I2S;1xSPI;2xI2C;2xUSART;CEC(7)I/Os118(每個(gè)I/O端口位可以自由的編程,盡管I/O端口寄存器必須以32位字方式訪問(wèn))(8)電壓(V)2to3.6(9)液晶與CPU通訊的通信協(xié)議主要有:SPI8080RGBSTM32F103(增強(qiáng)型)是STM32f101的增強(qiáng)型單片機(jī),在32位的MCU(單片機(jī))性能較強(qiáng),性價(jià)比最好;具有通信和信息處理能力強(qiáng),適合低壓環(huán)境下的少量信息傳輸,制作一些小型控制硬件綽綽有余。下圖為內(nèi)核圖2.2內(nèi)核管腳圖STM32實(shí)物圖如下圖所示:圖2.3STM32F103C8T6實(shí)物圖在上電時(shí),如果看見(jiàn)紅色指示燈閃爍則通電成功,但一直閃爍則需要排除問(wèn)題。2、單片機(jī)上采用了跳帽的方式,我可以對(duì)他進(jìn)行三種編程操作。如用戶的SARM、閃存和系統(tǒng)的存儲(chǔ)器。3、8.000晶振:是用于設(shè)定系統(tǒng)的頻率為72mhz。6、RTC晶振:可供內(nèi)置RTC使用,避免需要額外時(shí)鐘芯片的復(fù)雜問(wèn)題。2.3.2電源驅(qū)動(dòng)此集成電路板就必須要電源,我選擇的最常見(jiàn)的usb六腳switch開關(guān)控制電源,可接在筆記本上的低壓usb接口進(jìn)行通電。2.3.3步進(jìn)電機(jī)驅(qū)動(dòng)芯片與步進(jìn)電機(jī)(1)步進(jìn)電機(jī)驅(qū)動(dòng)芯片我選擇了ULN2003這個(gè)芯片,ULN2003步進(jìn)電機(jī)驅(qū)動(dòng)芯片在緊湊設(shè)計(jì)的應(yīng)用中具有多方面的優(yōu)勢(shì),特別是在功耗、散熱、成本和安裝靈活性方面。ULN2003芯片能有效管理功耗,因?yàn)樗O(shè)計(jì)為低飽和壓降輸出,這意味著在驅(qū)動(dòng)步進(jìn)電機(jī)時(shí),它可以在較低的電壓下工作,從而減少功耗。這對(duì)于電池供電的設(shè)備或需要節(jié)能的應(yīng)用尤為重要。由于ULN2003的低功耗特性,相應(yīng)的散熱需求也較低。這種芯片通常不需要額外的散熱措施,如散熱片或風(fēng)扇,這在空間受限的設(shè)計(jì)中尤為有利。ULN2003是一種成本效益高的解決方案,它集成了七個(gè)達(dá)林頓晶體管陣列,可以直接驅(qū)動(dòng)步進(jìn)電機(jī),減少了外部組件的需求。這種集成化的設(shè)計(jì)不僅降低了物料成本,也簡(jiǎn)化了生產(chǎn)過(guò)程。ULN2003芯片體積小,引腳布局合理,易于在緊湊的電路板上安裝。此外,它的驅(qū)動(dòng)能力強(qiáng),可以直接連接到多種類型的步進(jìn)電機(jī),提供了較高的設(shè)計(jì)靈活性。圖2.4ULN2003步進(jìn)電機(jī)驅(qū)動(dòng)芯片基極電阻:ULN2003的每一對(duì)達(dá)林頓管都串聯(lián)有一個(gè)2.7KΩ的基極電阻,這有助于穩(wěn)定基極電流,保證與低電壓邏輯電平的兼容性。工作電壓與電流:在5V的工作電壓下,ULN2003可以直接處理原先需要標(biāo)準(zhǔn)邏輯緩沖器來(lái)處理的數(shù)據(jù)。它的工作電壓范圍廣,最大輸出電流可達(dá)500mA,這使得它能夠驅(qū)動(dòng)多種電子設(shè)備。耐壓與并行運(yùn)行:在關(guān)態(tài)時(shí),ULN2003能夠承受高達(dá)50V的電壓,這提供了額外的安全保障。此外,其輸出端可以并行連接,以支持更高的負(fù)載電流,這在需要驅(qū)動(dòng)大功率設(shè)備時(shí)非常有用。封裝類型:ULN2003提供DIP-16和SOP-16兩種塑料封裝選項(xiàng),這為不同的裝配需求和空間限制提供了靈活性。圖2.5ULN2003的封裝類型由于其強(qiáng)大的驅(qū)動(dòng)能力和良好的電壓耐受性,ULN2003常被用于驅(qū)動(dòng)步進(jìn)電機(jī)、繼電器和其他高電流負(fù)載。其簡(jiǎn)單的接口和高效的性能也使其在自動(dòng)化設(shè)備、家用電器和汽車電子等領(lǐng)域中得到廣泛應(yīng)用。ULN2003的設(shè)計(jì)考慮到了與現(xiàn)代數(shù)字邏輯電路的兼容性,同時(shí)提供了足夠的輸出電流和電壓耐受性,是一種多用途且經(jīng)濟(jì)高效的驅(qū)動(dòng)解決方案。步進(jìn)電機(jī)圖2.628BYJ48步進(jìn)電機(jī)實(shí)物圖28BYJ48步進(jìn)電機(jī)通常包含四個(gè)線圈,每個(gè)線圈獨(dú)立控制。電機(jī)通過(guò)順序激活這些線圈,產(chǎn)生旋轉(zhuǎn)磁場(chǎng),驅(qū)動(dòng)中心的永磁轉(zhuǎn)子按照設(shè)定的步距進(jìn)行步進(jìn)運(yùn)動(dòng)。這種步進(jìn)方式允許電機(jī)在沒(méi)有傳感器的情況下,精確控制旋轉(zhuǎn)角度,非常適合于通過(guò)簡(jiǎn)單的編程就能實(shí)現(xiàn)精確位置控制的應(yīng)用。28BYJ48的成本非常低廉,這使得它在預(yù)算有限的項(xiàng)目中非常受歡迎。對(duì)于寵物喂食器這樣的應(yīng)用,通常不需要高速或高扭矩的電機(jī),因此選擇成本效益高的28BYJ48可以顯著降低整體設(shè)備成本。雖然28BYJ48的靈敏度和速度不如更高級(jí)的步進(jìn)電機(jī),但其可靠性足以滿足寵物喂食器的需求。寵物喂食器不需要極端的精度,只需能夠可靠地進(jìn)行簡(jiǎn)單的開/關(guān)和定量控制即可。28BYJ48的體積小巧,適合在空間受限的設(shè)計(jì)中使用。這對(duì)于設(shè)計(jì)緊湊的寵物喂食器尤為重要,可以使設(shè)備更加靈活地安置在家庭環(huán)境中,不占用過(guò)多空間。2.3.4液晶顯示芯片LCD1602液晶顯示器,它是一種非常實(shí)用的顯示設(shè)備,特別適合在不需要太華麗體驗(yàn)的寵物喂食器中使用。LCD1602能顯示兩行,每行16個(gè)字符,足以顯示時(shí)間、日期或簡(jiǎn)短的消息。關(guān)于安裝和使用的便利性,LCD1602就像是即插即用的USB設(shè)備。它支持多種微控制器接口,可以輕松集成到任何基本的電子項(xiàng)目中,非常適合初學(xué)者和那些不想太麻煩的寵物主人LCD1602支持廣泛的微控制器接口,安裝和編程相對(duì)簡(jiǎn)單,這使得它在多種電子項(xiàng)目中都能快速集成,特別是對(duì)于成本敏感且設(shè)計(jì)簡(jiǎn)潔的應(yīng)用。LCD1602液晶顯示器是一款優(yōu)秀的液晶顯示模塊,擅長(zhǎng)展示字母、符號(hào)和數(shù)字。常見(jiàn)的模塊規(guī)格包括16x1、16x2、20x2和40x2。這些模塊由顯示屏、偏壓生成電路、控制器及列驅(qū)動(dòng)器組成。帶背光型在低光環(huán)境下提供更好的可讀性;與同類的圖形點(diǎn)陣液晶顯示模塊相比,從硬件與軟件來(lái)論述,此顯示器都有價(jià)格低廉,畫面簡(jiǎn)潔等實(shí)用優(yōu)勢(shì)。液晶顯示器作為輸出器件具有更高的、更穩(wěn)定的顯示效果。而且他是數(shù)字式的接口,操作起來(lái)更加的方便,相對(duì)于其他顯示器件來(lái)說(shuō)能耗更低,體積小,重量輕的諸多優(yōu)點(diǎn)。圖2.7LCD1602液晶顯示器實(shí)物圖2.3.5時(shí)鐘電路在寵物喂食器項(xiàng)目中,DS1302可以用來(lái)實(shí)現(xiàn)定時(shí)喂食功能。通過(guò)設(shè)置特定的時(shí)間點(diǎn),微控制器可以根據(jù)DS1302提供的時(shí)間信息自動(dòng)激活喂食機(jī)制。這樣,即使在主人不在家的情況下,寵物喂食器也能按照預(yù)設(shè)的時(shí)間表準(zhǔn)時(shí)給寵物喂食。 DS1302通過(guò)一個(gè)簡(jiǎn)單的三線接口(時(shí)鐘線、數(shù)據(jù)線、復(fù)位線)與微控制器連接。它內(nèi)部包含一個(gè)振蕩器,通過(guò)外部連接的32.768kHz晶振來(lái)維持時(shí)間的準(zhǔn)確性。DS1302還支持雙向數(shù)據(jù)傳輸,允許微控制器讀取當(dāng)前的時(shí)間日期數(shù)據(jù),也可以更新這些數(shù)據(jù)。DS1302是一種帶有串行接口的實(shí)時(shí)時(shí)鐘(RTC)模塊,它能夠提供秒、分、時(shí)、日、月、年的信息,并且具有閏年補(bǔ)償功能。DS1302主要由一個(gè)時(shí)鐘/日歷核心、兩個(gè)編程寄存器和一個(gè)串行接口組成。它使用一個(gè)簡(jiǎn)單的串行接口與微控制器通信。DS1302控制字符的介紹:765432101RAMA4A3A2A2A0RDCKWR圖2.8DS1302時(shí)鐘模塊實(shí)物圖2.3.6語(yǔ)音播報(bào)WT588D語(yǔ)音芯片是一種高性能的語(yǔ)音播放芯片,廣泛應(yīng)用于需要語(yǔ)音輸出的各種設(shè)備中。WT588D語(yǔ)音芯片能夠存儲(chǔ)和播放多段預(yù)錄制的語(yǔ)音信息。在寵物喂食器中,這可以用來(lái)播放主人的聲音,模擬主人與寵物的互動(dòng),從而減少寵物在主人不在時(shí)的孤獨(dú)感。例如,喂食器可以在喂食時(shí)播放主人的聲音,讓寵物感覺(jué)到主人仿佛就在身邊。此外,通過(guò)云端接口,主人還可以遠(yuǎn)程錄制新的消息或指令,增強(qiáng)與寵物的互動(dòng),讓主人即使不在家也能參與到寵物的日常生活中。 而且它也有許多優(yōu)點(diǎn),如(1)WT588D芯片體積小巧,適合集成在緊湊的寵物喂食器設(shè)計(jì)中,不會(huì)占用過(guò)多空間。(2)與其他高級(jí)語(yǔ)音處理芯片相比,WT588D的成本較低,使得整個(gè)寵物喂食器的生產(chǎn)成本更加可控。(3)WT588D支持多種控制方式,包括按鍵控制和串行端口控制,這使得它可以輕松集成到寵物喂食器的控制系統(tǒng)中。用戶可以通過(guò)簡(jiǎn)單的操作選擇播放特定的語(yǔ)音消息。(4)WT588D已在市場(chǎng)上得到廣泛應(yīng)用,證明了其高可靠性和穩(wěn)定性。它能夠在各種環(huán)境條件下穩(wěn)定工作,適合長(zhǎng)時(shí)間運(yùn)行的寵物喂食器應(yīng)用。圖2.9WT588D語(yǔ)音芯片實(shí)物圖2.3.7按鍵按鍵選用5個(gè)普通的對(duì)通四腳按鍵。圖2.10按鍵實(shí)物圖2.3.8無(wú)線傳輸控制ESP8266模塊在云端寵物喂食器中扮演著至關(guān)重要的角色,ESP8266提供了Wi-Fi連接功能,使得寵物喂食器能夠輕松接入互聯(lián)網(wǎng)。這種連接是實(shí)現(xiàn)遠(yuǎn)程控制和監(jiān)控的基礎(chǔ),允許寵物主人通過(guò)智能手機(jī)或其他設(shè)備遠(yuǎn)程管理喂食器。ESP8266的成本相對(duì)較低,但提供了強(qiáng)大的功能,包括TCP/IP協(xié)議棧。這使得寵物喂食器在保持低成本的同時(shí),也能享受到高效的網(wǎng)絡(luò)通信能力。利用ESP8266的互聯(lián)網(wǎng)連接,寵物喂食器可以實(shí)現(xiàn)更多智能功能,如天氣預(yù)報(bào)影響喂食計(jì)劃、寵物活動(dòng)監(jiān)測(cè)等,從而提升用戶體驗(yàn)和寵物的生活質(zhì)量。我利用了ESP8266模塊的SAT,AP,STA+AP中的STA模式,STA也就是站點(diǎn)模式,ESP8266在此模式下可以接入在編程中特定的WiFi,我把它接入到我手機(jī)的WiFi上,借由手機(jī)信號(hào)的高頻率低延遲少損耗的特性把ESP8266發(fā)出的信息報(bào)傳輸至云平臺(tái)。圖2.11ESP8266模塊實(shí)物圖2.3.9水檢測(cè)模塊水位傳感器通常用于檢測(cè)液體的水位高度。這些傳感器的工作原理可以基于不同的技術(shù),如浮子式、電容式、超聲波式等。在云端寵物喂食器中,電容式水位傳感器是一種常見(jiàn)的選擇,因?yàn)樗鼈兘Y(jié)構(gòu)簡(jiǎn)單、成本低廉且易于集成。電容式水位傳感器的工作原理基于電容的變化來(lái)檢測(cè)水位的高低。傳感器由兩個(gè)導(dǎo)電板組成,它們構(gòu)成一個(gè)電容器。當(dāng)水位上升,介于兩導(dǎo)電板之間的水(作為電介質(zhì))的量增加,導(dǎo)致電容值增大。通過(guò)測(cè)量這個(gè)電容值的變化,可以精確地得知水位的高度。在云端寵物喂食器中,水位傳感器用于監(jiān)控寵物飲水器的水位,確保水容器中始終有足夠的水供寵物飲用。傳感器的數(shù)據(jù)可以通過(guò)ESP8266等模塊上傳到云端,允許寵物主人通過(guò)手機(jī)應(yīng)用實(shí)時(shí)查看水位狀態(tài),并在水位過(guò)低時(shí)接收通知,及時(shí)補(bǔ)充水源。這種自動(dòng)監(jiān)測(cè)系統(tǒng)不僅提高了寵物喂食器的智能化水平,也增加了設(shè)備的用戶友好性和實(shí)用性。圖2.12watersensor傳感器2.3.10HX711壓力采集HX711是專為高精度電子秤設(shè)計(jì)的,提供24位的模數(shù)轉(zhuǎn)換器(ADC),能夠提供非常精確的重量測(cè)量結(jié)果。這對(duì)于確保寵物喂食器分配正確食物量至關(guān)重要。HX711設(shè)計(jì)考慮了低功耗,其工作電壓低,且在無(wú)信號(hào)輸入時(shí)可以自動(dòng)進(jìn)入省電模式。這一特性使其適合于電池供電的設(shè)備,如便攜式寵物喂食器。模塊提供簡(jiǎn)單的數(shù)字接口,只需少量的引腳即可與主控制器(如STM32或ESP8266)連接。這簡(jiǎn)化了系統(tǒng)設(shè)計(jì)并減少了開發(fā)時(shí)間。HX711支持多種負(fù)載單元,可以輕松適應(yīng)不同大小和范圍的重量測(cè)量需求,增加了設(shè)計(jì)的靈活性。與其他高精度傳感器相比,HX711的成本較低,這使得在保持系統(tǒng)性能的同時(shí),還能控制整體項(xiàng)目成本。圖2.13HX711實(shí)物圖2.4本章小結(jié)云端寵物喂食器的設(shè)計(jì)采用了多種核心元件,包括HX711壓力傳感器、水位傳感器、ESP8266模塊、WT588D語(yǔ)音芯片、DS1302時(shí)鐘模塊、LCD1602液晶顯示器、ULN2003步進(jìn)電機(jī)驅(qū)動(dòng)芯片、28BYJ48步進(jìn)電機(jī)和STM32F103單片機(jī)。這些元件的綜合應(yīng)用使得該設(shè)計(jì)在功能性、成本、靈活性和可靠性方面具有顯著優(yōu)勢(shì)。DS1302時(shí)鐘模塊確保按時(shí)喂食,STM32F103單片機(jī)控制整個(gè)流程;ESP8266模塊提供Wi-Fi連接,支持云端監(jiān)控和操作。WT588D語(yǔ)音芯片播放預(yù)錄語(yǔ)音,減少寵物孤獨(dú)感,增強(qiáng)主人互動(dòng);LCD1602顯示器提供時(shí)間、狀態(tài)和操作指引;HX711壓力傳感器和水位傳感器監(jiān)測(cè)食物和水的存量,確保寵物健康。選用成本相對(duì)低廉的元件如HX711、LCD1602和28BYJ48,保持整體設(shè)計(jì)經(jīng)濟(jì)實(shí)惠;通過(guò)集成多功能于單一設(shè)備,減少了額外設(shè)備的購(gòu)買和維護(hù)成本。這款云端寵物喂食器的設(shè)計(jì)充分利用了現(xiàn)代電子技術(shù)和互聯(lián)網(wǎng)的優(yōu)勢(shì),提供了一個(gè)功能全面、成本有效、用戶友好且高度可靠的解決方案,非常適合現(xiàn)代忙碌生活中的寵物主人使用。圖2.14設(shè)計(jì)集成實(shí)物圖系統(tǒng)硬件設(shè)計(jì)3.1總體硬件概述云端寵物喂食器的設(shè)計(jì)整合了多種硬件組件,每個(gè)組件都針對(duì)特定功能進(jìn)行優(yōu)化,以實(shí)現(xiàn)自動(dòng)化和智能化的寵物喂食解決方案。STM32F103單片機(jī)作為系統(tǒng)的主控制單元,負(fù)責(zé)處理所有的輸入輸出操作,包括時(shí)間控制、信號(hào)處理和數(shù)據(jù)通信,控制喂食時(shí)間點(diǎn)的設(shè)定,處理來(lái)自傳感器的數(shù)據(jù),并驅(qū)動(dòng)其他硬件組件如步進(jìn)電機(jī)和水泵。ESP8266模塊提供Wi-Fi連接,支持遠(yuǎn)程數(shù)據(jù)傳輸和云平臺(tái)交互。使設(shè)備能夠通過(guò)互聯(lián)網(wǎng)接收命令和發(fā)送狀態(tài)更新,允許用戶遠(yuǎn)程監(jiān)控和控制喂食器。DS1302時(shí)鐘模塊維護(hù)實(shí)時(shí)時(shí)間,確保定時(shí)精準(zhǔn)??刂莆故车亩〞r(shí)操作,按預(yù)設(shè)時(shí)間自動(dòng)激活喂食程序。HX711壓力傳感器監(jiān)測(cè)食物存儲(chǔ)量,根據(jù)需要調(diào)整喂食量。水位傳感器(由于本設(shè)計(jì)的傳感器是三極管放大電流類型,所以在保證可靠性減少未知錯(cuò)誤情況下選擇了傳感器僅檢測(cè)是否有水而進(jìn)行供水功能。)。WT588D語(yǔ)音芯片播放預(yù)錄制的語(yǔ)音消息。在喂食時(shí)間發(fā)出聲音吸引寵物,增強(qiáng)寵物與設(shè)備的互動(dòng)。LCD1602液晶顯示器提供直觀的用戶界面,方便用戶查看設(shè)備狀態(tài)和進(jìn)行簡(jiǎn)單操作。ULN2003步進(jìn)電機(jī)驅(qū)動(dòng)芯片控制28BYJ48步進(jìn)電機(jī)的運(yùn)轉(zhuǎn),調(diào)整喂食器中食物的分配和釋放。28BYJ48步進(jìn)電機(jī)負(fù)責(zé)開關(guān)喂食器的食物出口,按設(shè)定量分發(fā)食物。各個(gè)元件集成塊在本設(shè)計(jì)里都發(fā)揮著自己獨(dú)特作用,在優(yōu)先成本高效率的保證下組合成了一個(gè)緊湊的硬件設(shè)備。下圖是系統(tǒng)硬件原理圖:圖3.1系統(tǒng)硬件原理圖3.2單片機(jī)最小系統(tǒng)在本設(shè)計(jì)以STM32F103為主要控制芯片,一切終端信息各模塊通信都要經(jīng)過(guò)MCU,其最小系統(tǒng)原理圖如下圖所示:圖3.2單片機(jī)最小系統(tǒng)原理圖此部分包括了晶振電路,boot電路,復(fù)位電路,核心板原理圖。3.2.1晶振電路STM32的晶振電路主要包括兩個(gè)部分:外部晶振和內(nèi)部時(shí)鐘電路。外部晶振連接在單片機(jī)的兩個(gè)專用引腳上(通常標(biāo)記為OSC_IN和OSC_OUT),并通過(guò)這兩個(gè)引腳將振蕩信號(hào)輸入到單片機(jī)內(nèi)部的時(shí)鐘電路。晶振是一種利用壓電效應(yīng)產(chǎn)生穩(wěn)定振蕩頻率的電子組件。當(dāng)晶振接收到電源供電時(shí),它會(huì)在其機(jī)械諧振頻率上產(chǎn)生振蕩。振蕩信號(hào)從晶振輸出后,會(huì)被單片機(jī)內(nèi)部的振蕩器電路接收。這個(gè)電路負(fù)責(zé)放大和整形振蕩信號(hào),確保信號(hào)幅度和形狀適合單片機(jī)的時(shí)鐘系統(tǒng)使用。處理過(guò)的振蕩信號(hào)被送入單片機(jī)的時(shí)鐘管理單元,根據(jù)系統(tǒng)配置,這些信號(hào)可以直接用作系統(tǒng)時(shí)鐘,或者進(jìn)一步通過(guò)PLL(相位鎖定環(huán))等電路進(jìn)行頻率的倍增或分頻,以生成不同的工作頻率供CPU和外設(shè)使用。圖3.3晶振電路3.2.2復(fù)位電路STM32單片機(jī)的復(fù)位電路的原理相當(dāng)于給微控制器的大腦來(lái)個(gè)“冷靜一下,重新開始”。這個(gè)電路確保當(dāng)系統(tǒng)遇到不可預(yù)見(jiàn)的錯(cuò)誤或需要重新啟動(dòng)時(shí),可以安全地將單片機(jī)重置到初始狀態(tài)。位電路通常包括一個(gè)復(fù)位按鈕和一個(gè)復(fù)位管理電路。當(dāng)按下復(fù)位按鈕或觸發(fā)復(fù)位電路時(shí),電路會(huì)向STM32的復(fù)位引腳發(fā)送一個(gè)低電平信號(hào)。這個(gè)信號(hào)會(huì)持續(xù)一段必要的時(shí)間,確保單片機(jī)完全進(jìn)入復(fù)位狀態(tài),然后釋放,允許單片機(jī)重新啟動(dòng)。系統(tǒng)復(fù)位:以下任一事件發(fā)生時(shí),均能產(chǎn)生一個(gè)系統(tǒng)復(fù)位:1.NRST引腳上出現(xiàn)低電平(外部復(fù)位)2.窗口看門狗計(jì)數(shù)停止(WWDG復(fù)位)3.獨(dú)立看門狗計(jì)數(shù)停止(IWDG復(fù)位)4.軟件復(fù)位(SW復(fù)位)5.低功耗管理復(fù)位3.2.3boot電路STM32單片機(jī)的Boot電路主要用于選擇單片機(jī)啟動(dòng)時(shí)的程序來(lái)源,這可以是內(nèi)部Flash內(nèi)存、系統(tǒng)內(nèi)存或者外部存儲(chǔ)設(shè)備。這種選擇功能允許開發(fā)者在不同的開發(fā)和調(diào)試階段選擇最合適的啟動(dòng)方式。32單片機(jī)通過(guò)設(shè)置Boot引腳(如BOOT0和BOOT1)來(lái)選擇啟動(dòng)模式,引腳的狀態(tài)(高電平或低電平)在上電或復(fù)位時(shí)被讀取,從而決定單片機(jī)從哪個(gè)存儲(chǔ)區(qū)域加載啟動(dòng)程序。當(dāng)“1低0高”時(shí)單片機(jī)從系統(tǒng)儲(chǔ)存器啟動(dòng),當(dāng)“1高0低”時(shí)從flash閃存啟動(dòng)。兩個(gè)都高時(shí),從SRAM啟動(dòng),通常用于調(diào)試。圖3.4boot電路3.2.4電源電路圖3.5電源電路原理圖如圖所示為本電路的電源電路原理圖為一塊由一個(gè)6腳開關(guān)和3腳電源座子(用于與外部電源連接),13和64功能相同,同樣是正極電源引腳,相對(duì)的5或2用于MCU的GND端,兩端沒(méi)有差別,也就是方向問(wèn)題。因?yàn)楸敬嗡玫碾娐吩际墙?jīng)過(guò)總體考慮而使用低壓元件,所以并不需要接入升壓模塊,而直接使用5v電壓足矣。3.2.5ULN2003芯片及28BYJ48步進(jìn)電機(jī)ULN2003集成電路內(nèi)部包含的達(dá)林頓管是一種由兩個(gè)或更多的雙極型晶體管組成的復(fù)合晶體管。這些晶體管串聯(lián)連接,使得第一個(gè)晶體管的發(fā)射極連接到第二個(gè)晶體管的基極。這種配置可以顯著增強(qiáng)電流放大能力,因?yàn)榈谝粋€(gè)晶體管的增益與第二個(gè)晶體管的增益相乘。在ULN2003中,每個(gè)達(dá)林頓管都能驅(qū)動(dòng)較高的電流,適合用于驅(qū)動(dòng)電機(jī)、繼電器等負(fù)載。這種達(dá)林頓管陣列的設(shè)計(jì)使得ULN2003能夠直接接受微控制器的輸出信號(hào),并驅(qū)動(dòng)高電流負(fù)載,而不需要額外的電流放大器或驅(qū)動(dòng)器。圖3.6(左)為ULN2003的引腳圖圖3.7(右)為單對(duì)達(dá)林頓管的原理圖電流經(jīng)過(guò)達(dá)林頓管放大后便可給予邏輯設(shè)計(jì)通入步進(jìn)電機(jī),如下圖所示:圖3.8ULN2003與步進(jìn)電機(jī)28BYJ48連接示意圖,圖右各種顏色為步進(jìn)電機(jī)的5根導(dǎo)線圖3.928BYJ48經(jīng)通電后5作為公共端,其它四個(gè)顏色的導(dǎo)線控制其電機(jī)旋轉(zhuǎn)ULN2003芯片引腳介紹引腳功能引腳1CPU脈沖輸入端,端口對(duì)應(yīng)一個(gè)信號(hào)輸出端。引腳2CPU脈沖輸入端引腳3CPU脈沖輸入端引腳4CPU脈沖輸入端引腳5CPU脈沖輸入端引腳6CPU脈沖輸入端引腳7CPU脈沖輸入端引腳8接地引腳9內(nèi)部7個(gè)續(xù)流二極管負(fù)極的公共端引腳10信號(hào)輸出端,對(duì)應(yīng)7腳輸入端引腳11信號(hào)輸出端,對(duì)應(yīng)6腳輸入端引腳12信號(hào)輸出端,對(duì)應(yīng)5腳輸入端引腳13信號(hào)輸出端,對(duì)應(yīng)4腳輸入端引腳14信號(hào)輸出端,對(duì)應(yīng)3腳輸入端引腳15信號(hào)輸出端,對(duì)應(yīng)2腳輸入端引腳16信號(hào)輸出端,對(duì)應(yīng)1腳輸入端3.2.5液晶顯示器LCD1602因?yàn)殡娐钒遢^小,為了節(jié)省資源,本設(shè)計(jì)應(yīng)用了LCD1602與MCU的間接連接模式,相比其直接模式,其更為簡(jiǎn)潔高效。圖3.10LCD1602的原理圖3.2.6時(shí)鐘電路圖3.11DS1302簡(jiǎn)略圖各引腳的功能為:1引腳VCC2為主電源引腳2和3引腳X1、X2外接晶振引腳。(外接32.768kHz晶振)4引腳GND為接地引腳5引腳CE/RST為復(fù)位/片選線。通過(guò)把RST輸入驅(qū)動(dòng)置高電平來(lái)啟動(dòng)所有的數(shù)據(jù)傳送。6引腳I/O為數(shù)據(jù)輸入輸出口。在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位到高位7。7引腳SCLK為串行時(shí)鐘,輸入8引腳VCC1備用電源引腳圖3.12DS1302與單片機(jī)連接圖3.2.7按鍵電路單片機(jī)按鍵設(shè)置電路單片機(jī)的按鍵控制電路由五個(gè)微動(dòng)開關(guān)并聯(lián)組成。由于按鍵操作的時(shí)序,可能會(huì)出現(xiàn)誤差,因此在編寫按鍵程序時(shí)需要加入去抖功能以提高準(zhǔn)確性。下面的示意圖展示了按鍵控制電路。按鍵操作IO口引腳狀態(tài)開路不接地,位于高電平按下接地,位于低電平并返回單片機(jī),交由檢測(cè)機(jī)制檢測(cè)圖3.13按鍵電路原理圖3.2.8WT588D語(yǔ)音芯片語(yǔ)音播報(bào)圖3.14WT588D與揚(yáng)聲器實(shí)物圖圖3.15WT588D與揚(yáng)聲器原理圖使用spi—flash存儲(chǔ)器25PXX的電壓范圍應(yīng)保持在2.8V至3.5V之間。VDD-SIM為WT588D語(yǔ)音芯片的串口電源管理輸入端,將25PXX的VCC連接至此端,可自動(dòng)平衡WT588D與25PXX之間的串口電壓。重要的是避免將PWM輸出端接電容至地或直接接地,PWM+/DAC和PWM-端應(yīng)防止短路。3.2.9液體識(shí)別傳感圖3.16watersensor傳感器和LM393外接比較器原理圖圖3.16watersensor傳感器和LM393外接比較器(圖左下角的黑色芯片)圖3.15中,R10和R6是為了分壓所用且LM393只會(huì)輸出2中的電平可知watersensor在有水時(shí)3處電壓較小LM393不會(huì)通電啟動(dòng),但在沒(méi)水狀態(tài)下,壓達(dá)到限制值2.5v,則LM393會(huì)輸出高電平最后通知水泵泵水。并且393在單雙電源下均可工作,圖3.17小水泵圖3.18LM393的管腳圖和管腳功能3.2.10HX711壓力傳感器圖3.19HX711壓力傳感器原理圖引腳名稱引腳功能E+秤盤供電正極E-秤盤供電負(fù)極A-通道A負(fù)輸入端A+通道A正輸入端B-通道B負(fù)輸入端(沒(méi)有用到)B+通道B正輸入端沒(méi)有用到GND電源負(fù)極DT串口數(shù)據(jù)輸出SCK串口時(shí)鐘數(shù)據(jù)輸入VCC電源正極當(dāng)重量施加到壓力板上時(shí),電阻應(yīng)變片會(huì)發(fā)生形變。這種形變導(dǎo)致其電阻值發(fā)生變化,電阻應(yīng)變片通常作為惠斯通電橋(Wheatstonebridge)的一部分,這是一種電阻網(wǎng)絡(luò),用于測(cè)量電阻的微小變化。當(dāng)應(yīng)變片形變時(shí),電橋失衡,HX711模塊接收來(lái)自電橋的微弱電信號(hào),并進(jìn)行放大,放大后的信號(hào)由HX711內(nèi)部的模數(shù)轉(zhuǎn)換器(ADC)轉(zhuǎn)換為數(shù)字信號(hào),這個(gè)數(shù)字信號(hào)與重量成正比,數(shù)字信號(hào)通過(guò)HX711模塊輸出到連接的微控制器,微控制器根據(jù)這個(gè)信號(hào)計(jì)算出實(shí)際的重量。但一個(gè)問(wèn)題應(yīng)運(yùn)而生,因?yàn)棣/R=K×ε再加上壓力應(yīng)變片的形變程度十分低,所以造成的比值是一個(gè)非常小的數(shù),幾乎可以忽略不計(jì)的數(shù),所以我們要把形變程度轉(zhuǎn)化為電信號(hào)再經(jīng)放大電路進(jìn)行放大,所以一般的HX711都自帶A/D轉(zhuǎn)換芯片,從而方便數(shù)據(jù)處理的實(shí)時(shí)性與一體化。圖3.20HX711的內(nèi)部電路原理圖電路的軟件部分4.1軟件設(shè)計(jì)所用工具在本次設(shè)計(jì)中,選擇使用AltiumDesigner、Keil5和Proteus軟件是因?yàn)檫@些工具各自在電子設(shè)計(jì)和仿真領(lǐng)域中具有顯著的優(yōu)勢(shì),能夠有效支持復(fù)雜的電子項(xiàng)目開發(fā)。AltiumDesigner是一個(gè)全面的PCB設(shè)計(jì)工具,它支持從原理圖設(shè)計(jì)到PCB布局和生產(chǎn)的完整流程。其高級(jí)的路由技術(shù)和智能自動(dòng)布線功能顯著提高了設(shè)計(jì)的效率和質(zhì)量。此外,Altium提供的豐富組件庫(kù)和三維可視化功能使得設(shè)計(jì)師可以方便地選擇合適的元件,并更好地理解板上組件的物理布局。Keil5則專注于微控制器的軟件開發(fā),尤其針對(duì)基于ARM核心的微控制器項(xiàng)目。它的集成開發(fā)環(huán)境包括代碼編輯、編譯、調(diào)試等一體化服務(wù),大大簡(jiǎn)化了開發(fā)流程。Keil5支持的廣泛設(shè)備和強(qiáng)大的調(diào)試工具,如仿真器和實(shí)時(shí)追蹤功能,能有效幫助開發(fā)者診斷代碼中的錯(cuò)誤和性能問(wèn)題。Proteus專長(zhǎng)于電路設(shè)計(jì)和仿真,提供接近實(shí)際硬件行為的電路仿真,支持模擬和數(shù)字電路。它的圖形化界面使電路設(shè)計(jì)和仿真過(guò)程直觀易懂,而且支持微控制器仿真,允許開發(fā)者在無(wú)需實(shí)際硬件的情況下進(jìn)行軟件開發(fā)。此外,Proteus的設(shè)計(jì)驗(yàn)證功能能在實(shí)際制造前幫助驗(yàn)證設(shè)計(jì),減少返工和錯(cuò)誤。4.2軟件設(shè)計(jì)所用的流程圖以上對(duì)硬件原理分析以及電路設(shè)計(jì),之后就到軟件設(shè)計(jì),軟件設(shè)計(jì)大致有以下過(guò)程:確定系統(tǒng)功能,建立程序流程框圖,分模塊程序設(shè)計(jì),綜合子模塊構(gòu)成總程序。系統(tǒng)流程圖如下圖4.1所示圖4.1系統(tǒng)流程圖4.3LCD1602顯示流程本設(shè)計(jì)采用LCD1602液晶顯示屏作為顯示器。在上電后,首先執(zhí)行LCD1602的子函數(shù)進(jìn)行屏幕初始化,清除屏幕上的數(shù)據(jù)和內(nèi)部存儲(chǔ)。然后,與單片機(jī)進(jìn)行雙向通信,由單片機(jī)控制顯示屏的亮度和顯示內(nèi)容。經(jīng)過(guò)短暫延時(shí)后,開始數(shù)據(jù)寫入操作,將檢測(cè)到的參數(shù)顯示在液晶屏上。此外,根據(jù)不同的模式和參數(shù)設(shè)置,通過(guò)按鍵操作實(shí)時(shí)改變屏幕上的數(shù)值。單片機(jī)控制寫入引腳,輸入顯示內(nèi)容的命令。之后,顯示屏執(zhí)行這些指令,將內(nèi)容顯示出來(lái)。LCD1602顯示流程圖如下圖所示:LCD1602液晶顯示屏,收先進(jìn)行初始化操作,初始化顯示內(nèi)容為ucharcodeInit1[]="Temperature:C";之后會(huì)有演示操作,lcd延遲命令為:voidLCDdelay(uintz);寫入命令voidwrite_com(ucharcom);寫數(shù)據(jù)voidwrite_data(uchardate);初始化voidInit1602(){write_com(0x38)讀取字節(jié)for(i=0;i<14;i++){write_data(Init1[i]);}流程圖如下:圖4.2液晶顯示器程序流程圖4.4按鍵子程序本次設(shè)計(jì)按鍵電路功能用于設(shè)置時(shí)間、定時(shí)時(shí)間、模式調(diào)節(jié)。單片機(jī)的按鍵具有4個(gè)引腳,相同的一側(cè)是連接的,3個(gè)按鍵并聯(lián)在一起,只要將相同的引腳連接一起即可。按鍵的工作原理就是對(duì)低電平信號(hào)的檢測(cè),在主程序中,循環(huán)執(zhí)行檢測(cè),一旦檢測(cè)到按鍵低電平信號(hào),單片機(jī)產(chǎn)生信號(hào)中斷,進(jìn)入按鍵子程序中。2個(gè)按鍵分別表示加、減,分別用2個(gè)函數(shù)執(zhí)行不同的操作,注意進(jìn)行延時(shí)操作,防止誤差。判斷按鍵是否按下if(K1==0){while(K1==0)去延時(shí),數(shù)值加;if(K2==0){delay_key()延遲,然后while(K2==0);是否按下如果按下,數(shù)值減。流程圖如下圖所示:圖4.3按鍵子程序流程圖4.5DS1302程序流程圖寫入地址時(shí)加入延時(shí)程序是為了確保數(shù)據(jù)穩(wěn)定地寫入。DS1302的通信協(xié)議涉及到數(shù)據(jù)線(I/O)和時(shí)鐘線(SCLK)的同步操作,延時(shí)可以幫助確保在數(shù)據(jù)線狀態(tài)變化和時(shí)鐘信號(hào)脈沖之間有足夠的時(shí)間間隔,確保在時(shí)鐘信號(hào)的上升沿或下降沿?cái)?shù)據(jù)已經(jīng)穩(wěn)定且可以防止電路干擾帶來(lái)的數(shù)據(jù)不準(zhǔn)確,以便正確地被DS1302識(shí)別,從而避免數(shù)據(jù)錯(cuò)誤或?qū)懭胧?。圖4.4DS1302時(shí)鐘編寫流程圖4.6步進(jìn)電機(jī)程序流程圖系統(tǒng)開始工作后,控制電機(jī)正反轉(zhuǎn)是本程序的主要任務(wù),判斷電機(jī)是否需要正轉(zhuǎn),若需要就依次給AB→BC→CD→DA通電實(shí)現(xiàn)正轉(zhuǎn),正轉(zhuǎn)結(jié)束后延時(shí)3S電機(jī)開始反轉(zhuǎn),即依次給AD→DC→CB→DA充電。電機(jī)驅(qū)動(dòng)子流程圖如圖所示。風(fēng)攆鮪圖圖4.5步進(jìn)電機(jī)驅(qū)動(dòng)流程圖4.7語(yǔ)音程序流程圖本次設(shè)計(jì)的報(bào)警模塊采用WT588D語(yǔ)音芯片進(jìn)行語(yǔ)音播報(bào)。當(dāng)需要進(jìn)行報(bào)警的時(shí)候(確保DS1302時(shí)鐘模塊已經(jīng)設(shè)置正確的時(shí)間,并且單片機(jī)能夠從DS1302讀取當(dāng)前時(shí)間。)單片機(jī)控制語(yǔ)音芯片來(lái)播報(bào)當(dāng)前的內(nèi)容。WT588D語(yǔ)音芯片他是通過(guò)下載器下載相應(yīng)的語(yǔ)音文件,然后生成一個(gè)地址,當(dāng)單片機(jī)需要播報(bào)這段語(yǔ)音的時(shí)候,就會(huì)發(fā)送指令給WT588D,進(jìn)行語(yǔ)音播報(bào)。圖4.6WT588D程序運(yùn)行流程圖4.8WIFI(ESP8266芯片)程序流程圖通過(guò)編程定期檢查ESP8266的連接狀態(tài),確保其始終連接到手機(jī)熱點(diǎn)并與云端同步數(shù)據(jù),一旦確認(rèn)設(shè)備已連接到Wi-Fi,定期發(fā)送或接收數(shù)據(jù)到云平臺(tái),保持?jǐn)?shù)據(jù)同步。圖4.7網(wǎng)絡(luò)傳輸模塊子程序流程圖步驟為:uart1_Init(115200);

//串口初始化設(shè)置無(wú)線通信的波特率為115200ESP8266_SendCmd("AT+RST\r\n\r")

//啟動(dòng)ESP8266模塊ESP8266_SendCmd("AT+CWMODE=1\r\n")

//設(shè)置為STA模式ESP8266_SendCmd(“AT+CWJAP="xxx","99999999"\r\n")//設(shè)置WIFI名稱和密碼ESP8266_SendCmd(AT+CIPSTART="TCP","6",6002\r\n)//接入服務(wù)器進(jìn)行聯(lián)網(wǎng),TCP是協(xié)議的意思我們通過(guò)TCP協(xié)議進(jìn)行傳輸,后面的是ip與端口。4.9HX711流程圖A/D數(shù)據(jù)采集子程序主要是采集壓電傳感器的輸出小信號(hào),前24個(gè)ADSK脈沖采集24位串行二進(jìn)制數(shù)據(jù),接下來(lái)的1~3個(gè)ADSK脈沖選擇下次A/D采集的通道和增益,本設(shè)計(jì)采用1個(gè)ADSK脈沖,選擇通道A,增益為128。首先hx711初始化,然后開始讀取數(shù)據(jù)ulongReadCount(void){ulongCount;uchari;ADSK=0;使能AD(PD_SCK置低)Count=0;while(ADDO);AD轉(zhuǎn)換未結(jié)束則等待,否則開始讀取for(i=0;i<24;i++){ADSK=1;PD_SCK置(發(fā)送脈沖)Count=Count<<1;下降沿來(lái)時(shí)變量Count左移一位,右側(cè)補(bǔ)零ADSK=0;PD_SCK置低if(ADDO)Count++;}ADSK=1;Count=Count^0x800000;第25個(gè)脈沖下降沿來(lái)時(shí),轉(zhuǎn)換數(shù)據(jù)ADSK=0;return(Count);}其流程圖如下圖所示。圖4.8HX711流程圖5.系統(tǒng)調(diào)試5.1硬件焊接在制作基于云端的STM32單片機(jī)寵物喂食器時(shí),手工焊接是一個(gè)關(guān)鍵步驟,它直接影響到設(shè)備的穩(wěn)定性和安全性。首先,準(zhǔn)備焊接工具如焊錫條、焊臺(tái)等,并確認(rèn)所有電子元件完好無(wú)損。在焊接前,確保電路板清潔并按照設(shè)計(jì)圖紙正確放置元件。手工焊接主要是由通過(guò)如下四步組成的:

第一步開始焊接:

準(zhǔn)備好焊錫條、焊臺(tái)、助焊劑、焊錫吸取器、鑷子、剝線鉗和焊接鏡。確認(rèn)所有電子元件完好無(wú)損,特別是STM32單片機(jī)和其他敏感元件,確保電路板清潔無(wú)塵,無(wú)明顯損傷,按照電路設(shè)計(jì)圖紙,將所有元件放置在電路板上的正確位置,每個(gè)焊點(diǎn)處涂上適量的助焊劑。第二步給焊接升溫:

將焊錫加熱至適當(dāng)溫度(通常為350°C至400°C)需要特別注意調(diào)整電烙鐵的焊盤溫度和電烙鐵加熱的時(shí)間,若時(shí)間調(diào)整的過(guò)長(zhǎng),有可能損壞電烙鐵之類的期間并在升溫時(shí)不能離開,離開的時(shí)候需要保持?jǐn)嚯姞顟B(tài),否則容易發(fā)生不可控現(xiàn)象導(dǎo)致火宅,例如電烙鐵燒融電線或引燃書本等易燃物。一般是建議電烙鐵在焊盤的溫度加熱時(shí)間調(diào)整在400℃左右,加熱2秒鐘左右,也需要根據(jù)電烙鐵元器件的種類和厚度來(lái)作出具體調(diào)整和區(qū)別的。用焊錫條觸及焊點(diǎn),并讓焊錫自然流入連接點(diǎn),使用鑷子輕輕固定元件,避免在焊接過(guò)程中移位。第三步清理焊接面:

當(dāng)在完成第二步時(shí),有的這個(gè)時(shí)候會(huì)出現(xiàn)沒(méi)有觀察到自己焊接的不完美或者是擔(dān)心出現(xiàn)虛焊的情況,需要進(jìn)行一些修改。檢查每個(gè)焊點(diǎn)是否光滑且無(wú)虛焊、短路現(xiàn)象。使用焊錫吸取器修正多余的焊錫。使用無(wú)水酒精清潔焊接完成的電路板,去除所有殘留的助焊劑。第四步:通過(guò)編程和電源測(cè)試,確保所有功能按預(yù)期工作,讓設(shè)備在實(shí)際條件下運(yùn)行數(shù)小時(shí),檢查其穩(wěn)定性和反應(yīng)。注意事項(xiàng)溫度控制:過(guò)高的焊接溫度可能損壞電子元件,特別是微處理器和其他敏感元件。防靜電:在整個(gè)焊接過(guò)程中,使用防靜電手環(huán)和防靜電墊,以防

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論