基于SIM900A的全自動電飯煲系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
摘要 針對普通電飯煲不便遠(yuǎn)程控制問題,提出了一種基于SIM900A的全自動電飯煲設(shè)計(jì)方案。對普通電飯煲進(jìn)行了機(jī)械機(jī)構(gòu)的優(yōu)化改進(jìn),采用短息和GPRS技術(shù)實(shí)現(xiàn)STM32F103單片機(jī)與用戶手機(jī)遠(yuǎn)程通信,STM32F103單片機(jī)根據(jù)用戶指令控制電飯煲從取米到煮飯的全自動化過程,實(shí)時(shí)檢測電飯煲的工作狀態(tài)并智能報(bào)警。測試結(jié)果表明,本系統(tǒng)運(yùn)行穩(wěn)定,實(shí)現(xiàn)了電飯煲的遠(yuǎn)程控制,形成了快捷、智能、及時(shí)的煮飯模式。
現(xiàn)在的電飯煲正在向集煮飯、煲湯、保溫于一體的方向發(fā)展,雖現(xiàn)在的電飯煲有預(yù)約煮飯功能,但由于預(yù)約時(shí)間過長而影響了米的口感,本文設(shè)計(jì)的全自動電飯煲融合嵌入式技術(shù)和無線通訊技術(shù),不僅實(shí)現(xiàn)了煮飯的遠(yuǎn)程智能化控制,同時(shí)保證了煮飯的良好口感。
1 全自動電飯煲的工作原理
設(shè)計(jì)的電飯煲在未工作時(shí)處于待機(jī)狀態(tài),當(dāng)SIM900A模塊接收到用戶手機(jī)發(fā)來的短信或GPRS的控制指令后,將指令發(fā)送到 STM32F103單片機(jī),單片機(jī)對指令進(jìn)行解析,然后控制電飯煲自動漏米、淘米、煮飯的整個(gè)過程,并且實(shí)時(shí)采用溫度傳感器檢測電飯煲的工作溫度,同時(shí)能夠根據(jù)電飯煲的工作狀態(tài)智能報(bào)警,保證了電飯煲的可靠穩(wěn)定工作,系統(tǒng)的總體設(shè)計(jì)如圖1所示。
2 機(jī)械結(jié)構(gòu)設(shè)計(jì)
本系統(tǒng)對普通電飯煲進(jìn)行全新機(jī)械結(jié)構(gòu)改進(jìn),從儲米器、淘米機(jī)構(gòu)、煮飯器等3方面進(jìn)行設(shè)計(jì),具體如圖2所示。
裝置的頂端為儲米器,一次性最大可儲存5 kg的米量。壓力傳感器可精確地測出所需煮飯的米量,由電磁閥控制米和水的進(jìn)出,淘米機(jī)構(gòu)在步進(jìn)電機(jī)的帶動下進(jìn)行淘米操作,淘洗結(jié)束后,將米和適量的水送入煮飯器,然后由傳送帶將煮飯器從空閑位置運(yùn)送到指定的工作位置進(jìn)行煮飯,同時(shí)機(jī)械手在電機(jī)的帶動下將電飯煲鍋蓋自動放置到煮飯器上,裝置在單片機(jī)的控制下自動完成。
3 硬件電路設(shè)計(jì)
裝置的硬件電路由主控電路、SIM900A無線通信電路、傳感器電路、繼電器電路、電機(jī)驅(qū)動電路、電源電路、報(bào)警電路等構(gòu)成,硬件電路如圖3所示。
主控電路芯片應(yīng)具有高性能、低成本、低功耗、存儲速度快等特點(diǎn)。本電路以ARM內(nèi)核的32位單片機(jī)STM32F103作為控制核心,其工作溫度范圍廣,具有7個(gè)定時(shí)器和9種通信接口;自帶7通道DMA控制器,并內(nèi)置2個(gè)12位的A/D模數(shù)轉(zhuǎn)換器。
SIM900A無線數(shù)據(jù)通訊電路的工作頻段是EGSM900和DSC1800,工作溫度范圍為-30~+80℃,其具有省電、傳輸速率快、支持分組廣播控制通道、支持實(shí)時(shí)時(shí)鐘、支持軟件控制RTS/CTS硬件流控等特點(diǎn)。本設(shè)計(jì)中的SIM900A用于接收手機(jī)發(fā)來的短信或GPRS控制指令,然后將指令傳輸給STM32F103芯片,從而實(shí)現(xiàn)了電飯煲的遠(yuǎn)程控制,SIM900A與控制器的連接如圖4所示。
繼電器主要用于控制電磁閥的斷開和導(dǎo)通、電飯煲總電源的關(guān)斷,其工作原理如圖5所示。
4 軟件設(shè)計(jì)
4.1 主程序軟件
系統(tǒng)的軟件控制流程為:SIM900A無線通訊模塊接收到外來短信或CPRS指令后,將指令發(fā)送給STM32F103主控芯片,然后啟動電飯煲系統(tǒng)并實(shí)時(shí)監(jiān)測工作溫度,同時(shí)系統(tǒng)根據(jù)工作狀態(tài)智能報(bào)警,STM32F103控制電飯煲實(shí)現(xiàn)自動漏米、淘米、煮飯等功能,主程序流程如圖6所示。
4.2 漏米器的軟件設(shè)計(jì)
STM32F103接收SIM900A無線通訊模塊發(fā)出的指令:假如n個(gè)人吃飯所需米量為m1;此時(shí)啟動漏米器的程序并初始化,測得初始化儲米器的米量為 m2;再將數(shù)據(jù)發(fā)送到控制核心進(jìn)行計(jì)算得出差額米量m3=m2-m1,再使漏米器繼續(xù)漏米并通過壓力傳感器檢測儲米器中米的重量m4,當(dāng)m3=m4時(shí)關(guān)閉儲米器開關(guān),返回子程序中的m2和m4值,并結(jié)束程序,漏米器的流程如圖7所示。
4.3 淘米器的軟件設(shè)計(jì)
漏米器完成漏米動作,淘米器開始工作并進(jìn)行初始化,為減小誤差,將返回主程序的m2和m4值送到控制中心得出實(shí)際漏米量m=m4-m2,并根據(jù)m值調(diào)取程序中淘米的水量,并根據(jù)STM32F103中的定時(shí)器來控制電磁閥,該電磁閥控制洗米進(jìn)水量,同時(shí)用這種方法控制煮飯的水量。淘米器的淘米動作完成后,再打開電磁閥將淘米水排出,放水時(shí)間根據(jù)STM32F103的延時(shí)程序來確定。出水口的電磁閥上安裝有濾水膜,防止出現(xiàn)米隨水漏掉或水堵塞電磁閥等情況,淘米器的流程如圖8所示。
5 系統(tǒng)測試
系統(tǒng)設(shè)計(jì)完成后進(jìn)入整機(jī)測試階段,將電飯煲的控制指令遠(yuǎn)程發(fā)送給電飯煲,電飯煲接收到短信后進(jìn)行指令分析,按照控制指令設(shè)置工作模式自動完成取米、淘米、煮飯等操作,同時(shí)監(jiān)控電飯煲的工作狀態(tài),當(dāng)電飯煲煮飯完成或出現(xiàn)工作故障時(shí)發(fā)送提示短信到用戶手機(jī)。
系統(tǒng)進(jìn)行了自動煮飯和自動煲粥兩種工作方式的測試,電飯煲根據(jù)短信控制指令來設(shè)定工作模式,在此工作模式下根據(jù)設(shè)定的吃飯人數(shù)自動計(jì)算所需米量和加水量,并精確控制煮飯時(shí)間。測試程序設(shè)定1個(gè)人煮飯模式所需米量為100 g,增量間隔為100 g,加水量為米量的2倍,煲粥模式所需米量為50 g,增量間隔為50 g,加水量為米量的4倍,米量和加水量根據(jù)人數(shù)以此類推。煮飯和煲粥測試分別進(jìn)行了5次實(shí)驗(yàn),每次實(shí)驗(yàn)重復(fù)3次,測試結(jié)果如表1和表2所示。從表中可看出,系統(tǒng)實(shí)際測試值與設(shè)定值較為接近,計(jì)量誤差小,同時(shí)煮飯和煲粥的口感較好,系統(tǒng)運(yùn)行穩(wěn)定可靠。
6 結(jié)束語
系統(tǒng)基于SIM900A模塊實(shí)現(xiàn)了遠(yuǎn)程控制電飯煲智能加米、智能淘米、智能煮飯、溫度檢測及報(bào)警等功能,同時(shí)采用皮帶機(jī)、機(jī)械手等機(jī)械結(jié)構(gòu)來輔助完成電飯煲的自動化,具有零件裝配簡便、整體設(shè)備廉價(jià)、系統(tǒng)運(yùn)行穩(wěn)定、控制簡單等優(yōu)點(diǎn)。