周姝穎,林凡強(qiáng),周璟瑜
(成都理工大學(xué)信息科學(xué)與技術(shù)學(xué)院,四川成都 610059)
嵌入式系統(tǒng)越來(lái)越多的出現(xiàn)在智能消費(fèi)系統(tǒng)和工業(yè)化產(chǎn)品當(dāng)中,它是提高生產(chǎn)效率,減少人力資源的重要途徑。多口味自動(dòng)售賣豆?jié){機(jī)系統(tǒng)正是基于搭載ARM的嵌入式平臺(tái),涉及到電路設(shè)計(jì),硬件編程及自動(dòng)化研究。此豆?jié){機(jī)利用新鮮豆子進(jìn)行現(xiàn)場(chǎng)打磨,健康營(yíng)養(yǎng),提供了人們每日所需的蛋白質(zhì)和膦脂,對(duì)提高人體素質(zhì)具有積極作用,同時(shí)也方便了人們的日常生活。除此之外,該自動(dòng)化豆?jié){機(jī)也創(chuàng)造了一個(gè)商業(yè)投資的機(jī)會(huì)。
豆?jié){機(jī)箱體高2 m,長(zhǎng)和寬約為60 cm,內(nèi)部核心的功能實(shí)現(xiàn)都在這個(gè)長(zhǎng)方體當(dāng)中。由于STM32嵌入式單片機(jī)的強(qiáng)大功能,通過(guò)外圍電路設(shè)計(jì)和模塊功能,完成了豆?jié){機(jī)自動(dòng)出豆、研磨、攪拌、加熱、清洗的過(guò)程,定量打磨出漿;同時(shí)用戶通過(guò)觸摸式液晶顯示屏可以了解豆?jié){的價(jià)格,選擇豆?jié){的口味,由于有自動(dòng)售賣功能,在外部設(shè)計(jì)中還加入了投幣口,以方便交易。
(1)客戶點(diǎn)擊液晶顯示中的口味選項(xiàng)(包括大豆、紅豆、綠豆、黑豆等),系統(tǒng)給出價(jià)格,客戶投幣。
圖1 系統(tǒng)總設(shè)計(jì)圖
(2)系統(tǒng)的MCU在220 V正常電壓下控制原料的加入(客戶選擇的原料),并且加熱冷水,通過(guò)流量傳感器將定量熱水加入打磨機(jī),磨出的漿液導(dǎo)入一個(gè)小水箱,MCU通過(guò)傳感器的感應(yīng)會(huì)自動(dòng)進(jìn)行攪拌,這樣豆?jié){的口味更加細(xì)膩。
(3)存儲(chǔ)豆?jié){,同時(shí)這也是一個(gè)沉淀過(guò)程,濾去大顆粒豆渣,最后出漿的才是成品豆?jié){。
(4)清洗各個(gè)部位,由MCU控制從另一個(gè)入水口導(dǎo)入熱水多次清洗攪拌箱和存儲(chǔ)箱,留下的廢水從廢水口排出。
主電路板框架結(jié)構(gòu),如圖2所示。
圖2 主電路板框架結(jié)構(gòu)圖
實(shí)驗(yàn)系統(tǒng)的核心是STM32F103ZET6的MCU,其內(nèi)核和存儲(chǔ)器小,降低了實(shí)驗(yàn)成本;高效的電源管理機(jī)制,實(shí)現(xiàn)低功耗;較強(qiáng)的處理性能,滿足工業(yè)級(jí)產(chǎn)品的開(kāi)發(fā);中斷處理時(shí)間極短,滿足高速與臨界控制的應(yīng)用場(chǎng)合[1-6]。
(1)電源可以為 STM32內(nèi)部供電,設(shè)計(jì)采用SOT-223封裝的穩(wěn)壓芯片LM1117-3.3,選擇其常用的典型固定輸出電路,輸出高精度基準(zhǔn)電壓3.3 V,為內(nèi)部的數(shù)字電路供電。
(2)LCD采用ATK-7'_TFTLCD模塊,帶有800×480電容觸摸屏。FSMC連接方式。用戶在使用LCD屏?xí)r,首先觸摸的信號(hào)會(huì)激活LCD的選擇界面,然后用戶關(guān)于豆?jié){原料的選擇會(huì)通過(guò)觸摸選項(xiàng)的信號(hào)傳遞回MCU。這個(gè)觸摸信號(hào)是通過(guò)觸摸屏的驅(qū)動(dòng)ICGT811傳遞的。觸摸時(shí)的信號(hào)為一個(gè)100μs的低電平脈沖,MCU通過(guò)GT811上的CT_INT可以獲取。
(3)STM32有SDIO接口規(guī)范。主要用于為帶有SD卡槽的設(shè)備進(jìn)行外設(shè)功能擴(kuò)展。每交易一次,交易時(shí)間及交易內(nèi)容都會(huì)以數(shù)據(jù)流的方式寫入SD卡,數(shù)據(jù)可以將用戶的交易數(shù)據(jù)存入SD卡,以便日后結(jié)算交易額和盈利時(shí)查詢。寫入交易記錄的數(shù)據(jù)有時(shí)間、選擇口味、交易額、交易是否成功。
(4)繼電器。是控制磨盤、攪拌和流量的開(kāi)關(guān)。當(dāng)大豆原料進(jìn)入磨盤的入口時(shí),MCU通過(guò)信號(hào)線控制繼電器將電磁閥打開(kāi),電磁閥的線圈會(huì)產(chǎn)生磁力,磁力使得機(jī)械開(kāi)關(guān)閉合,將磨盤和流量開(kāi)關(guān)打開(kāi),此時(shí)一邊打磨一邊進(jìn)水。待到打磨過(guò)程結(jié)束,MCU繼續(xù)通過(guò)繼電器控制電磁閥打開(kāi)攪拌器開(kāi)關(guān)攪拌內(nèi)容物。
當(dāng)LCD界面閑置時(shí),液晶屏?xí)L動(dòng)播放廣告,當(dāng)用戶隨意點(diǎn)擊屏幕,屏幕顯示豆?jié){選擇界面。初期設(shè)定了4種口味可供選擇,直接點(diǎn)擊所需的口味,界面跳轉(zhuǎn)至付款界面。等待用戶投幣,MCU會(huì)判斷用戶選擇和投幣信息是否一致,若用戶少投幣,界面會(huì)在5 s后給出“請(qǐng)繼續(xù)投幣”的提示。如果MUC檢測(cè)信息不一致的1 min內(nèi)沒(méi)有完成交易,則系統(tǒng)會(huì)吐出已投硬幣,界面顯示“交易失敗”,并返回初始界面。如果MCU檢測(cè)信息一致,則豆?jié){機(jī)啟動(dòng),根據(jù)配方完成豆?jié){的制作,此時(shí)界面會(huì)顯示“交易成功”,為了不使MCU收到其他交易指令而破壞已成功的交易,界面的觸摸功能會(huì)關(guān)閉,并一直會(huì)持續(xù)到豆?jié){出漿。之后,界面在5 s后跳回廣告播放,LCD 打開(kāi)觸摸功能[7-12]。
圖3 界面設(shè)計(jì)流程圖
觸摸屏上每一個(gè)選項(xiàng)后面對(duì)應(yīng)不同的豆?jié){原料,不同的選擇會(huì)使不同原料桶開(kāi)關(guān)上的電機(jī)工作。首先MCU會(huì)判斷觸摸屏上信號(hào)的坐標(biāo)位置,這是由于每一個(gè)選項(xiàng)的觸摸點(diǎn)都有自己的坐標(biāo)范圍,當(dāng)MCU通過(guò)CUR_X和CUR_Y寄存器讀取觸摸點(diǎn)的坐標(biāo)后,會(huì)判斷此坐標(biāo)對(duì)應(yīng)的大豆原料配方,交易成功后打開(kāi)對(duì)應(yīng)原料的電機(jī)開(kāi)關(guān)。料筒的開(kāi)關(guān)是旋轉(zhuǎn)式的。軟件設(shè)置電機(jī)旋轉(zhuǎn)的轉(zhuǎn)速,控制電機(jī)打開(kāi)的時(shí)間,合適的速度會(huì)使料筒開(kāi)關(guān)有足夠時(shí)間打開(kāi)角度,使各種大豆原料漏下。
在用戶選擇了豆?jié){口味,在觸摸屏上按確認(rèn)鍵以后,低脈沖信號(hào)會(huì)通過(guò)CD_INT信號(hào)線傳回MCU,MCU控制繼電器與磨盤的電源和流量計(jì)相連接,在原料桶電機(jī)工作的同時(shí),打磨豆?jié){的磨盤電源被打開(kāi),水通過(guò)增壓泵進(jìn)入磨盤,磨盤轉(zhuǎn)動(dòng)開(kāi)始打磨落下的豆子,水和豆子融合形成豆?jié){。
豆?jié){機(jī)使用的進(jìn)水系統(tǒng)是由水位傳感器、增壓泵,以及控制電路組成。具體實(shí)現(xiàn)方式如下:水桶放在機(jī)器的底層,機(jī)器的中層放置了一個(gè)儲(chǔ)水罐。在補(bǔ)水程序執(zhí)行時(shí)通過(guò)自動(dòng)檢測(cè)蓄水罐中的水位,如果水位低于最低水位則啟動(dòng)增壓泵將水從礦泉水桶中抽入蓄水罐直到蓄水罐的水位達(dá)到高水位線,以保證蓄水罐的供水。蓄水罐水位控制電路主要通過(guò)LM358雙運(yùn)放來(lái)實(shí)現(xiàn)。STM32還會(huì)在補(bǔ)水時(shí)通過(guò)PC0檢測(cè)滯遲比較器的輸出若長(zhǎng)時(shí)間停留在高電平時(shí),STM32會(huì)通過(guò)PC1關(guān)斷為水位控制電路的供電,并通過(guò)PB5控制蜂鳴器報(bào)警以提示缺水,需要更換水桶。蓄水罐下安放了一個(gè)加熱罐,用管道將蓄水罐的水導(dǎo)入熱水罐提供磨豆?jié){用的熱水,冷水則直接從蓄水罐引出。在此冷熱水的加入與停止都由電磁閥的開(kāi)關(guān)來(lái)控制。放水的水量通過(guò)水流傳感器來(lái)檢測(cè)以實(shí)現(xiàn)水量的精確控制。
系統(tǒng)采用模塊化程序設(shè)計(jì),在初始化里實(shí)現(xiàn)復(fù)位,模式設(shè)定,F(xiàn)IFO設(shè)定,頻率設(shè)定,時(shí)鐘設(shè)定等。子程序有中斷程序,流量計(jì)算程序,補(bǔ)水程序,電機(jī)轉(zhuǎn)速設(shè)置程序,繼電器開(kāi)關(guān)程序,LCD程序,出漿程序。
圖4 軟件流程圖
等到觸摸屏的信號(hào)CT_INT為低并持續(xù)100μs時(shí),MCU啟動(dòng)中斷,設(shè)置交易參數(shù),開(kāi)始檢查交易直到交易額與用戶輸入一致,若一致則打開(kāi)電機(jī)。此后將這些交易信息通過(guò)I/O口寫入SD卡。SD卡的讀寫過(guò)程大致分為4個(gè)步驟:(1)有74個(gè)時(shí)鐘信號(hào)的準(zhǔn)備,所有的初始化命令都在這74個(gè)時(shí)鐘信號(hào)后開(kāi)始工作。(2)MCU發(fā)送命令CMD17或CMD24準(zhǔn)備開(kāi)始讀或?qū)憽?3)SD卡會(huì)發(fā)送一個(gè)respond作為回應(yīng)。(4)數(shù)據(jù)開(kāi)始讀出或?qū)懭隨D卡,在數(shù)據(jù)塊的最后加上16位的CRC循環(huán)校驗(yàn)碼,如有多個(gè)數(shù)據(jù)塊可繼續(xù)發(fā)送。原料進(jìn)入磨盤后,MCU通過(guò)I/O口軟件置高,使得繼電器工作,打開(kāi)磨盤和電磁閥的機(jī)械開(kāi)關(guān)。設(shè)置感應(yīng)參數(shù)s1,在豆?jié){進(jìn)入攪拌桶以后提示MCU將攪拌開(kāi)關(guān)打開(kāi),設(shè)置定時(shí)參數(shù)t1,攪拌半分鐘后靜置半分鐘,然后出漿。出漿后出漿口關(guān)閉。感應(yīng)參數(shù)s2將出漿信息反饋給MCU,打開(kāi)電磁閥和攪拌開(kāi)關(guān),清洗裝置,廢水由廢水口排出。
整機(jī)接通220 V電壓,屏幕開(kāi)始播放廣告,點(diǎn)擊屏幕會(huì)出現(xiàn)交易界面。選擇黃豆豆?jié){,投入一個(gè)一元硬幣,5 s之后提示繼續(xù)投幣,1 min后沒(méi)有繼續(xù)投幣,先投入的一元硬幣被吐出。再次點(diǎn)擊屏幕,投入3個(gè)一元硬幣,機(jī)器開(kāi)始運(yùn)作。首先原料桶開(kāi)始下料,豆子由管子進(jìn)入磨盤,此時(shí)進(jìn)水系統(tǒng)和磨盤同時(shí)打開(kāi),磨出漿液,順著出口管子流入攪拌器,此時(shí)攪拌器工作,大約半分鐘后,也是出漿完畢的時(shí)間,磨好的新鮮豆?jié){靜止一會(huì)由機(jī)器的出漿口流出。一杯200 ml的豆?jié){生成完畢。在杯子底部也有豆子殘?jiān)?,但磨盤磨出的豆粉很細(xì)膩,大顆粒在靜置時(shí)以沉淀,不會(huì)影響口感。
本次項(xiàng)目設(shè)計(jì)了一個(gè)基于STM32芯片的多口味自動(dòng)售賣五谷營(yíng)養(yǎng)豆?jié){機(jī),結(jié)合工業(yè)設(shè)計(jì),完成了嵌入式平臺(tái)的搭載,人機(jī)交互以及自動(dòng)化模式,以及軟硬件的設(shè)計(jì)和開(kāi)發(fā),成功實(shí)現(xiàn)了從選豆、磨豆、攪拌、清洗到出漿的過(guò)程。此豆?jié){機(jī)完全無(wú)需人員監(jiān)管,解放了人力。并且在機(jī)器內(nèi)部使用的空氣加壓出豆?jié){的裝置,解決了機(jī)器內(nèi)部結(jié)構(gòu)優(yōu)化問(wèn)題,使其體積減小,內(nèi)部空間利用率增加,可以放入更多原料。
[1]陳致遠(yuǎn),朱葉承,周卓泉.一種基于STM32的智能家居控制系統(tǒng)[J].計(jì)算機(jī)技術(shù)與應(yīng)用,2012,38(9):138 -140.
[2]方浩,李艾華,王濤.基于STM32單片機(jī)的智能槍柜系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2014,40(3):12 -14.
[3]王俊,劉寧,翟維楓.基于STM32F103C8單片機(jī)的可遙控自動(dòng)條幅懸掛機(jī)[J].硅谷,2014(1):157-159.
[4]王永虹,徐煒,郝立平.STM32系列ARM Codex—M3微控制器原理與實(shí)踐[M].北京航天航空大學(xué)出版社,2008.
[5]廖義奎.ARM Codex—M3之 STM32嵌入式系統(tǒng)設(shè)計(jì)[M].北京:中國(guó)電力出版社,2012.
[6]程小輝,康燕萍.基于STM32的RHD手持式閱讀器的研究與設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2013,39(8):130 -133.
[7]鄭一維,李長(zhǎng)俊,吳訊馳,等.基于STM32的電能質(zhì)量檢測(cè)技術(shù)研究[J].國(guó)外電子測(cè)量技術(shù),2011,30(6):72-74,78.
[8]ST Conperation.STM32F103xC,STM32F103xD,STM32F103xE數(shù)據(jù)手冊(cè)[EB/OL].(2009-03-11)[2014-09-12]http://www.st.com/stonline/products/literature/ds.htm.
[9]喻金錢,喻斌.STM32F系列ARM Cortex-M3核微控制器開(kāi)發(fā)與應(yīng)用[M].北京:清華大學(xué)出版社,2011.
[10]張玲,李經(jīng)章,何偉.基于STM32的防盜電系統(tǒng)設(shè)計(jì)[J].傳感器與微系統(tǒng),2012,34(4):72-74
[11]黎冠,馬婕,卜祥麗.STM32單片機(jī)在室內(nèi)環(huán)境監(jiān)測(cè)系統(tǒng)中的應(yīng)用[J].自動(dòng)化儀表,2014,35(7):29 -31.
[12]夏繼強(qiáng),鄭昆,鄭健峰.基于STM32的收發(fā)一體式超聲波測(cè)距系統(tǒng)[J].儀表技術(shù)與傳感器,2014(8):43-45.