戴亦宗, 張友宏
(揚(yáng)州市職業(yè)大學(xué),江蘇 揚(yáng)州 225001)
本泳衣售貨機(jī)通過有線網(wǎng)絡(luò)與云端遠(yuǎn)程連接并保持在線,通過云端對(duì)銷售情況進(jìn)行管理及調(diào)度。 售貨機(jī)內(nèi)部有140 個(gè)倉位,最多可容納140 件商品,每件商品允許有各自的品類、型號(hào)、價(jià)格及其他信息,每件商品通過獨(dú)立的二維碼進(jìn)行標(biāo)識(shí)并由設(shè)備內(nèi)部和網(wǎng)絡(luò)后臺(tái)通信, 實(shí)現(xiàn)自動(dòng)識(shí)別。 每次上貨后,設(shè)備對(duì)倉位進(jìn)行建倉掃描,掃描后的貨物類型、數(shù)量等信息存儲(chǔ)在本地并上傳到云端。
銷售產(chǎn)品單品價(jià)值較高, 特別舍棄了傳統(tǒng)現(xiàn)金支付方式,僅保留在線支付方式,系統(tǒng)維護(hù)簡單,管理方便,提高了用戶購買效率, 方便企業(yè)對(duì)銷售信息和資金的在線管理。
每一臺(tái)泳衣售貨機(jī)都有全球唯一代碼, 云端后臺(tái)可以通過網(wǎng)絡(luò)監(jiān)控每一臺(tái)設(shè)備的實(shí)時(shí)銷售情況, 也可以統(tǒng)計(jì)已銷售的產(chǎn)品類型和數(shù)量多少, 并通知當(dāng)?shù)乩碡泦T及時(shí)維護(hù)和上貨。
如圖1 所示,自動(dòng)售貨機(jī)由售貨機(jī)殼體,以及水平運(yùn)動(dòng)機(jī)構(gòu)、垂直運(yùn)動(dòng)機(jī)構(gòu)、掃碼推頂機(jī)構(gòu)、倉儲(chǔ)機(jī)構(gòu)和電氣控制模塊組成。
圖1 系統(tǒng)整體結(jié)構(gòu)
如圖2 所示,電氣系統(tǒng)由電源、計(jì)算機(jī)、控制器、二維碼掃描、伺服電機(jī)、觸摸屏等模塊組成[1]。 泳衣商品由人工隨機(jī)上貨, 掃碼推頂機(jī)構(gòu)掃碼槍對(duì)每個(gè)倉位進(jìn)行掃碼,將二維碼信息通過串口通訊電路傳輸給PC 機(jī);客戶通過觸摸屏既可以看到模特的穿著效果,也可以按照提示選擇自己需要的商品,進(jìn)行在線支付。
圖2 系統(tǒng)電氣系統(tǒng)框圖
客戶按下對(duì)應(yīng)的商品, 系統(tǒng)把這個(gè)指令發(fā)送到后臺(tái)服務(wù)器。 后臺(tái)服務(wù)器按照所選商品的定價(jià)生成收款二維碼并傳遞給售貨機(jī),且在顯示屏上顯示出來,顧客掃碼付款,支付成功后,掃碼推頂機(jī)構(gòu)根據(jù)系統(tǒng)數(shù)據(jù)庫中的商品倉位信息,運(yùn)動(dòng)到該倉位將貨物推出。
如圖3 所示,售貨機(jī)輸入電源220V,經(jīng)過變壓器降到14V 左右,整流電路把14V 正弦交流電轉(zhuǎn)換為峰值為12V的電壓, 經(jīng)過MC7812 與MC7805 輸出5V 電壓, IC7805的1、2 腳內(nèi)部電路可以等效為一個(gè)電阻, 電容與IC 內(nèi)部等效的反饋電路形成RC 電路, 使充放電時(shí)間常數(shù)變大,電壓波動(dòng)變小,又由于7805 本身是穩(wěn)壓塊,對(duì)于波動(dòng)的電壓有穩(wěn)壓作用。
圖3 電源電路
系統(tǒng)3.3V 電源,采用LM7805 將12V 轉(zhuǎn)為5V,然后再串聯(lián)LD1117 轉(zhuǎn)為3.3V。 輸入電壓和輸出電壓壓差越大,轉(zhuǎn)換效率越低,發(fā)熱越大。 為了提高穩(wěn)壓芯片的工作效率,減少發(fā)熱量,在電路中需要多路電壓時(shí)經(jīng)常會(huì)使用這種方式,可以先用穩(wěn)壓芯片將12V 穩(wěn)壓成5V,然后再將5V 轉(zhuǎn)換成3.3V。
系統(tǒng)采用以STM32 為控制核心的最小系統(tǒng), 利用該芯片與上位PC 機(jī)進(jìn)行串口通信、伺服電機(jī)控制、電磁閥的控制[2]。
如圖4 所示,通過MAX232 轉(zhuǎn)換芯片與計(jì)算機(jī)通信。MAX232 芯片不僅可以實(shí)現(xiàn)RS-232C 的技術(shù)指標(biāo), 而且芯片的供電電源只需要+5V,這樣不僅使串行通信的性能更加可靠, 而且價(jià)格低廉, 單片機(jī)的TD (發(fā)射)與MCU_TXD1 連接,單片機(jī)的RD(接收)與MCU_TXD1 連接;PC 機(jī)的接收與T1OUT 相連,發(fā)射與R1in 相連,接口J1 與芯片MAX232 的連接。 通信協(xié)議如下:1)串行通信的波特率設(shè)為15200B/S;2)幀格式為1 位起始位,8 位數(shù)據(jù)位,2 位停止位;3) 無奇偶校驗(yàn)位;4)PC 機(jī)采用COM1 口進(jìn)行通信。
圖4 串口通信模塊
推頂機(jī)構(gòu)的運(yùn)動(dòng)由兩臺(tái)小功率伺服電機(jī)作為主要?jiǎng)恿υ矗溆?︰50 的行星齒輪伺服電機(jī)專用減速器,驅(qū)動(dòng)輕便,運(yùn)動(dòng)平穩(wěn),節(jié)能環(huán)保,支持超低功耗待機(jī)和遠(yuǎn)程軟件管理,最低待機(jī)功耗僅60W,常規(guī)工作能耗小于120W。
如圖5 所示,AM26LS31 四差動(dòng)線路驅(qū)動(dòng)器開關(guān)速率32MHz;輸出電流±30mA;具有輸出短路保護(hù)功能;斷電時(shí)輸出呈高阻狀態(tài);兼容TTL 電平,與單片機(jī)連接使用,后級(jí)連接控制伺服放大器,將脈沖信號(hào)轉(zhuǎn)換成差動(dòng)輸出。
圖5 伺服驅(qū)動(dòng)電路
機(jī)構(gòu)門鎖與推頂由電磁閥驅(qū)動(dòng), 通過ULN2002 達(dá)林頓驅(qū)動(dòng)電路,可用于驅(qū)動(dòng)電磁閥、步進(jìn)電機(jī)等感性負(fù)載。
售貨機(jī)有140 個(gè)倉位,既有140 地址目標(biāo)點(diǎn),貨物推頂機(jī)構(gòu)通過兩臺(tái)伺服電機(jī)驅(qū)動(dòng)運(yùn)行, 當(dāng)客戶選擇多個(gè)泳衣商品時(shí),控制器要根據(jù)各個(gè)倉位位置計(jì)算出最優(yōu)路徑。
蟻群可以在不同的環(huán)境下, 尋找最短到達(dá)食物源的路徑。 這是因?yàn)橄伻簝?nèi)的螞蟻可以通過某種信息機(jī)制實(shí)現(xiàn)信息的傳遞。 后又經(jīng)進(jìn)一步研究發(fā)現(xiàn), 螞蟻會(huì)在其經(jīng)過的路徑上釋放一種可以稱之為“信息素”的物質(zhì),蟻群內(nèi)的螞蟻對(duì)“信息素”具有感知能力,它們會(huì)沿著“信息素”濃度較高路徑行走,而每只路過的螞蟻都會(huì)在路上留下“信息素”,這就形成一種類似正反饋的機(jī)制,這樣經(jīng)過一段時(shí)間后,整個(gè)蟻群就會(huì)沿著最短路徑到達(dá)食物源了[3]。
應(yīng)用蟻群算法求解路徑優(yōu)化問題, 每個(gè)倉位坐標(biāo)輸入由0 和1 組成的矩陣表示貨物推頂機(jī)構(gòu)需要尋找最優(yōu)路徑的地圖, 其中0 表示此處可以通過,1 表示此處為障礙物,應(yīng)無障礙,矩陣全為0,輸入初始的信息素矩陣,選擇初始點(diǎn)和終止點(diǎn)并且設(shè)置各種參數(shù)。 選擇從初始點(diǎn)下一步可以到達(dá)的節(jié)點(diǎn), 根據(jù)每個(gè)節(jié)點(diǎn)的信息素求出前往每個(gè)節(jié)點(diǎn)的概率,并利用輪盤算法選取下一步的初始點(diǎn)。計(jì)算公式,其中τij(t)為每個(gè)位置的信息素的濃度,ηij為相關(guān)聯(lián)的啟發(fā)式的信息,α、β 為權(quán)重參數(shù),更新路徑以及路徑長度,重復(fù)以上過程,直到螞蟻到達(dá)終點(diǎn)或者無路可走,取M=10 只螞蟻迭代結(jié)束,更新信息素,,,0 表示螞蟻不經(jīng)過該位置,ρ 為信息素?fù)]發(fā)系數(shù),Q 為信息量增加強(qiáng)度,LK(t)為路徑長度,N=3 取三代螞蟻迭代結(jié)束[4]。
本文設(shè)計(jì)的智能泳裝自動(dòng)售貨機(jī)電路,給出了以單片機(jī)為控制器的硬件電路設(shè)計(jì),對(duì)售貨機(jī)的倉位貨物的目標(biāo)尋址提出了螞蟻算法。 經(jīng)過測試,該電路運(yùn)行穩(wěn)定,能夠?qū)崿F(xiàn)泳衣自動(dòng)售貨機(jī)的售貨功能,又能實(shí)現(xiàn)銷售數(shù)據(jù)的監(jiān)控和管理。