常熟理工學(xué)院電氣與自動(dòng)化工程學(xué)院 崔勇強(qiáng) 蔡篤軍 沈壽鵬 李 鑫
目前,電子商務(wù)正在我國(guó)快速發(fā)展,其中農(nóng)產(chǎn)品電商也具有一定規(guī)模,果蔬、鮮肉、水產(chǎn)等生鮮產(chǎn)品和人們的生活息息相關(guān),近年來開始受到眾多大小電商的關(guān)注。來自淘寶的數(shù)據(jù)顯示,2013年,生鮮類產(chǎn)品在2012年后依然保持最高增長(zhǎng)率,同比增長(zhǎng)高達(dá)195%。相比國(guó)內(nèi)龐大的生鮮消費(fèi)市場(chǎng),我國(guó)的生鮮電商只能算是剛剛起步,行業(yè)發(fā)展?jié)摿O大。
然而,生鮮產(chǎn)品的交付,在很大程度上限制了生鮮電商的發(fā)展。生鮮產(chǎn)品,對(duì)儲(chǔ)存運(yùn)輸條件的要求非常苛刻,既要保證產(chǎn)品的新鮮度,又要保證消費(fèi)的時(shí)效性。由于現(xiàn)有技術(shù)中物流配送鏈末端的配送設(shè)備大多不具有冷凍或冷藏能力,因此生鮮產(chǎn)品在購(gòu)買至交付到消費(fèi)者手中的過程中,并未一直處于冷凍或冷藏的環(huán)境中,再加上時(shí)有發(fā)生的消費(fèi)者無法及時(shí)收貨等情況,消費(fèi)者收到生鮮產(chǎn)品時(shí),產(chǎn)品質(zhì)量無法達(dá)到最佳狀態(tài)。針對(duì)此種現(xiàn)狀,本文提出了一種智能自提柜冷藏控制系統(tǒng),貨物存入后處在冷藏保鮮狀態(tài),消費(fèi)者收到通知后可隨時(shí)前往自助取貨。避免了配送員直接配送到消費(fèi)者手中的過程,從而解決了物流配送鏈末端的生鮮產(chǎn)品配送難題,滿足了低能耗的新型物流體系的發(fā)展需求。
該系統(tǒng)需要控制數(shù)量較多的電控鎖,為便于靈活擴(kuò)展貨箱,系統(tǒng)采用主從控制方式。10個(gè)貨箱為一組,每組貨箱分配一個(gè)從控制器。從控制器負(fù)責(zé)所在組的貨箱門鎖開關(guān)控制與檢測(cè)、溫濕度監(jiān)測(cè)、壓縮機(jī)開關(guān)控制和紅外物體探測(cè)。主控制器負(fù)責(zé)人機(jī)界面交互、互聯(lián)網(wǎng)通信、語(yǔ)音播報(bào)、條形碼掃描、射頻卡讀卡和數(shù)據(jù)存儲(chǔ)。主從控制器通過RS-485總線通信,主控制器通過指令控制從控制器的動(dòng)作。系統(tǒng)整體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)整體框圖
整個(gè)系統(tǒng)采用模塊化設(shè)計(jì),顯著降低開發(fā)難度,節(jié)約開發(fā)時(shí)間,便于后期維護(hù)。主從控制器都選用意法半導(dǎo)體的STM32F103ZET6的32位MCU作為控制核心,其高性能、低功耗、低成本及多串口的特征非常符合本系統(tǒng)的需求。
本系統(tǒng)眾多模塊只需提供正確的電源,以及相應(yīng)的通訊接口即可工作,故不作具體硬件電路分析。以下就系統(tǒng)主要電路設(shè)計(jì)作詳細(xì)闡述。
本系統(tǒng)主從控制器所需電壓有如下幾種:
(1)3.3V:MCU、RS485、FLASH芯片和溫濕度等模塊所需電源。
(2)5V:條碼掃描槍、語(yǔ)音模塊和紅外探測(cè)模塊所需電源。
(3)12V:觸控屏、電門鎖、電機(jī)和網(wǎng)絡(luò)通信所需電源。
考慮到12V電源所需功率較大,故采用一款大功率成品開關(guān)電源,將220V交流電轉(zhuǎn)換成12V直流電輸入系統(tǒng)。其中5V電源由12V直流電變換而來,如圖2所示。
圖2 12V轉(zhuǎn)5V電路
電源方案選用TI公司單片集成式開關(guān)電壓調(diào)節(jié)器LM2596S-5.0作為輸出5V的降壓器件,該芯片功耗小、效率高,最高輸入電壓為40V,最大輸出電流可達(dá)3A,滿足系統(tǒng)的使用要求。在該芯片的外圍電路中,輸入電容C1選擇680uF,輸出電容C3選擇470uF,用于濾除低頻噪聲,穩(wěn)定輸入、輸出電壓。C2、C4、C5為陶瓷小電容,對(duì)高頻噪聲有很好的濾波效果。L1和C3起到低通濾波的效果,可進(jìn)一步降低輸出電壓的紋波,提高系統(tǒng)電源穩(wěn)定性。
圖3 5V轉(zhuǎn)3.3V電路
3.3V電源由5V電源變換而來,電路如圖3所示。由于5V到3.3V壓差很小,故采用線性穩(wěn)壓器LM1117-3.3來完成降壓。為了保證MCU的供電穩(wěn)定可靠,不受其它部分的串?dāng)_,MCU單獨(dú)使用一片LM1117,其余需要3.3V供電的模塊共用一片LM1117。由于線性穩(wěn)壓器本身具有很好的噪聲抑制能力,故輸入、輸出濾波要求不高,本設(shè)計(jì)選用47uF的電解電容+陶瓷小電容以改善電源效果。
圖4 Flash存儲(chǔ)電路
如圖4所示,本系統(tǒng)的存儲(chǔ)模塊選用華邦串行Flash存儲(chǔ)芯片W25X16。該芯片采用標(biāo)準(zhǔn)SPI通信方式,傳輸速率75MHz,控制靈活、編程簡(jiǎn)單,工作電壓在2.7V~3.6V之間,工作狀態(tài)電流消耗0.5毫安,掉電狀態(tài)電流消耗1uA。芯片具有16M比特的存儲(chǔ)空間,且完全兼容存儲(chǔ)空間更大的高版本芯片型號(hào),方便存儲(chǔ)空間不足時(shí)的擴(kuò)容需求。
圖5 門鎖控制電路
單元柜所使用的鎖(圖5中LOCK)內(nèi)部為四線結(jié)構(gòu):電源線、地線、控制線、反饋線,這樣的結(jié)構(gòu)使得門控更為簡(jiǎn)單直觀。為實(shí)現(xiàn)電控開鎖功能,就需要為控制端提供一個(gè)控制信號(hào)使原本吸合的電磁線圈斷開,進(jìn)而打開與鎖芯連接的碰觸開關(guān),從而實(shí)現(xiàn)開鎖的過程,而內(nèi)部通過檢測(cè)觸碰開關(guān)的位置,就可以判斷此時(shí)鎖位狀態(tài)。
所需要的控制信號(hào)由MCU給出,即LOCK_IN信號(hào),經(jīng)過光耦U1隔離后驅(qū)動(dòng)P溝道場(chǎng)效應(yīng)管Q1。當(dāng)輸入信號(hào)LOCK_IN為高電平時(shí),U1、Q1導(dǎo)通,驅(qū)動(dòng)門鎖打開,同時(shí)門鎖的LOCK_FB端輸出反饋信號(hào),MCU通過檢測(cè)這一信號(hào),就能判斷當(dāng)前的門鎖狀態(tài)是否正確,并作出相應(yīng)的處理。門鎖的關(guān)閉過程類似,在此不再贅述。
圖6 RS-485電路
本系統(tǒng)主、從控制器之間采用RS-485總線通信方式,RS-485總線因應(yīng)用簡(jiǎn)單、成本低廉,在工業(yè)通訊、消費(fèi)電子、過程自動(dòng)化等領(lǐng)域都有廣泛應(yīng)用。考慮現(xiàn)場(chǎng)環(huán)境多變,電磁環(huán)境復(fù)雜,本設(shè)計(jì)選用隔離型RS-485收發(fā)模塊,電路如上圖所示。
圖中485模塊與MCU采用串口通信,地線與系統(tǒng)GND隔離,有效的提升了系統(tǒng)的抗干擾能力。輸出A、B信號(hào)外加TVS管D3、D4,保證在惡劣環(huán)境(高壓、雷擊等環(huán)境)下產(chǎn)品不會(huì)損壞。實(shí)際使用中當(dāng)A、B線差分電壓大于-200mV且小于-40mV時(shí),模塊接收電平為不確定狀態(tài),設(shè)計(jì)時(shí)要確保模塊接收不處于該狀態(tài)。所以用戶在RS-485網(wǎng)絡(luò)設(shè)計(jì)時(shí),要根據(jù)實(shí)際情況來決定是否加120Ω(R14)終端電阻。
自提柜系統(tǒng)主控制器的功能除服務(wù)器遠(yuǎn)程控制外都是面向用戶的,根據(jù)系統(tǒng)要求和實(shí)際情況,將用戶分為以下三類:
(1)消費(fèi)者,權(quán)限最低,只能憑密碼或者刷卡取貨
(2)配貨員,具有中等權(quán)限,可存貨,也可對(duì)貨箱進(jìn)行管理工作
(3)管理員,權(quán)限最高,比配貨員多了對(duì)自提柜系統(tǒng)參數(shù)設(shè)置的操作權(quán)限
配貨員和管理員通過密碼登錄對(duì)應(yīng)各自權(quán)限的操作界面。自提柜參數(shù)設(shè)置是為了保證自提柜系統(tǒng)的通用性提出的,參數(shù)包括工作人員密碼修改、當(dāng)前自提柜系統(tǒng)編號(hào)、網(wǎng)絡(luò)參數(shù)修改、冷藏參數(shù)設(shè)置和恢復(fù)出廠設(shè)置。
自提柜系統(tǒng)主控制器軟件分為應(yīng)用層和驅(qū)動(dòng)層,應(yīng)用層面向用戶和服務(wù)器,負(fù)責(zé)實(shí)現(xiàn)自提柜系統(tǒng)主控制器的實(shí)體功能。驅(qū)動(dòng)層負(fù)責(zé)配置MCU片上資源和實(shí)現(xiàn)各功能模塊的驅(qū)動(dòng)底層及對(duì)應(yīng)用層提供應(yīng)用接口函數(shù)。應(yīng)用層調(diào)用驅(qū)動(dòng)層,用戶的各類操作經(jīng)頂層程序計(jì)算后都會(huì)轉(zhuǎn)變?yōu)閷?duì)功能模塊的應(yīng)用。軟件設(shè)計(jì)框圖如下。
圖7 主控制器軟件設(shè)計(jì)框圖
本系統(tǒng)中從控制器一方面是為了減輕主控制器的軟硬件壓力,另一方面是考慮到實(shí)際應(yīng)用時(shí)的可擴(kuò)展性,從控制器主要實(shí)現(xiàn)與柜子有關(guān)的開關(guān)和檢測(cè)。從控制器在接收到主控制器的指令后完成柜門鎖開關(guān)控制、紅外傳感器物體探測(cè)、溫濕度監(jiān)測(cè)與控制、壓縮機(jī)開關(guān)等功能。圖8為從控制器的軟件流程圖。
圖8 從控制器軟件流程圖
上文介紹主、從控制器之間采用RS-485通信,為了提升數(shù)據(jù)傳輸?shù)目垢蓴_能力,保證數(shù)據(jù)的正常收發(fā),本系統(tǒng)制定了特定的通信協(xié)議。
(1)通信雙方均使用統(tǒng)一的數(shù)據(jù)幀形式,數(shù)據(jù)幀包括地址、命令類型、數(shù)據(jù)長(zhǎng)度、數(shù)據(jù)以及校驗(yàn)字節(jié)等部分,其格式如下:
表1 485通信數(shù)據(jù)格式
(2)在數(shù)據(jù)幀外部,為了保證通信的透明性,使用SLIP協(xié)議進(jìn)行串行通信封裝,其轉(zhuǎn)義字符為0xdb,幀結(jié)束標(biāo)志為0xc0。
(3)主控制器控制整個(gè)系統(tǒng)的通信過程,由主控制器定時(shí)輪詢各個(gè)從控制器,并請(qǐng)求這些從控制器提交相應(yīng)設(shè)備的狀態(tài)信息返回給主控制器。
(4)主控制器在發(fā)送完讀設(shè)備請(qǐng)求后進(jìn)入接收狀態(tài),接收的同時(shí)開啟超時(shí)控制。如果在規(guī)定時(shí)間內(nèi)未能接收到從控制器返回信息或接收到錯(cuò)誤信息,則主控制器會(huì)重新發(fā)送讀設(shè)備請(qǐng)求。
(5)從控制器復(fù)位后,將等待主控制器發(fā)送請(qǐng)求命令,并根據(jù)命令內(nèi)容做出相應(yīng)的應(yīng)答。如果接收到錯(cuò)誤的數(shù)據(jù)幀,從控制器將直接丟棄該幀,不做任何處理。
通過制定上述通信協(xié)議,數(shù)據(jù)收發(fā)時(shí)必須嚴(yán)格按照協(xié)議格式進(jìn)行,保證了通信的穩(wěn)定性與可靠性。
系統(tǒng)測(cè)試是建立在硬件設(shè)計(jì)和軟件代碼編寫全部完成的基礎(chǔ)上的,需逐項(xiàng)對(duì)自提柜系統(tǒng)的功能進(jìn)行驗(yàn)證。主控制器功能從底層往頂層測(cè)試,功能驗(yàn)證通過后,與自提柜從控制器構(gòu)成完整的自提柜系統(tǒng)并進(jìn)行穩(wěn)定性測(cè)試,采用長(zhǎng)時(shí)間多環(huán)境運(yùn)行和多人員操作的測(cè)試方法。本設(shè)計(jì)實(shí)物如圖9所示。
圖9 實(shí)物效果圖
將網(wǎng)絡(luò)參數(shù)改成服務(wù)器IP和端口,分別使用GPRS模塊和以太網(wǎng)模塊與服務(wù)器進(jìn)行無線和有線通信測(cè)試。主控制器(客戶端)和服務(wù)器進(jìn)行收發(fā)數(shù)據(jù)測(cè)試時(shí),均能正常通信,且數(shù)據(jù)內(nèi)容與發(fā)送內(nèi)容一致,說明主控制器和服務(wù)器可以正常通信,測(cè)試效果如圖10所示。
圖10 網(wǎng)絡(luò)通信測(cè)試效果
圖11-1 存貨條碼掃描界面圖
圖11-2 管理員指定柜門界面
存取貨操作需要將主控制器與從控制器連接構(gòu)成完整自提柜系統(tǒng)。首先測(cè)試配貨員存貨,點(diǎn)選配貨菜單后成功進(jìn)入條碼掃描界面,條碼掃描槍成功打開,實(shí)物效果如圖11-1.掃碼后成功與服務(wù)器取得聯(lián)系,貨箱門成功打開。管理員存貨在掃入條碼前有一個(gè)指定貨箱的操作,指定貨箱界面如圖11-2,剩余操作與配貨員一致,能成功存貨。貨物存入后測(cè)試消費(fèi)者取貨,密碼取貨和刷卡取貨均正常。
主控制器與從控制器組成完整自提柜系統(tǒng)后,進(jìn)行了長(zhǎng)時(shí)間的穩(wěn)定性測(cè)試,期間發(fā)現(xiàn)了若干BUG,并都一一修復(fù)成功。
目前,測(cè)試工作已經(jīng)完成,系統(tǒng)進(jìn)入穩(wěn)定階段,并已在實(shí)際場(chǎng)所中進(jìn)行試運(yùn)行工作。
本文在分析當(dāng)前生鮮電商的發(fā)展?fàn)顩r后,提出了一種智能自提柜冷藏控制系統(tǒng)。從系統(tǒng)的整體設(shè)計(jì)思想到具體的軟硬件實(shí)現(xiàn),詳細(xì)的闡述了整個(gè)系統(tǒng)的設(shè)計(jì)過程。本系統(tǒng)創(chuàng)新性的采用了模塊化的設(shè)計(jì)思想,顯著降低了開發(fā)難度、縮短了開發(fā)周期,降低了人力、物力成本。目前系統(tǒng)在實(shí)際環(huán)境下運(yùn)行狀況良好,達(dá)到了設(shè)計(jì)要求,考慮到生鮮電商的目前還處于起步階段,本系統(tǒng)的成果具有極大的發(fā)展前景。
[1]宋巖.ARM Cortex-M3權(quán)威指南[M].北京:航空航天大學(xué)出版社,2009.
[2]意法半導(dǎo)體.STM32中文參考手冊(cè).第10版.意法半導(dǎo)體(中國(guó))投資公司,2010.
[3]馮子陵,俞建新.RS485總線通信協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2012,38(20):215-218.
[4]Brian W.Kernighan,Dennis M.Ritchie.C程序設(shè)計(jì)語(yǔ)言[M].北京:機(jī)械工業(yè)出版社.2004.
[5]陳啟軍.嵌入式系統(tǒng)及其應(yīng)用[M].上海:同濟(jì)大學(xué)出版社.2014.