

摘 要:為解決大量硬幣在進行分揀后的計數問題,減輕人工計數的作業負擔,同時彌補人工硬幣計數易出現差錯的缺陷,設計了一種基于單片機的硬幣計數控制系統,可同時滿足1元、5角、1角三種類型的硬幣進行計數作業。該設計采用成本較低且可實現穩定計數的單片機對整體系統進行控制作業,分別對滿足硬幣計數控制系統實現所需的光電傳感器、完整電路模塊以及總體的電氣控制系統進行設計選型,以提升硬幣計數的正確率和效率。
關鍵詞:硬幣計數;電氣系統;紅外傳感;LED顯示
中圖分類號:TP273" " 文獻標志碼:A" " 文章編號:1671-0797(2023)18-0036-04
DOI:10.19514/j.cnki.cn32-1628/tm.2023.18.009
0" " 引言
現代社會中網絡移動支付雖在諸多場合取代了錢幣支付,方便了人們的日常活動消費,但生活中由于很多中老年人和兒童不便日常使用智能設備進行支付,加之我國中老年人和兒童人口基數較大,因此錢幣在人們日常生活消費中依舊廣泛使用。硬幣作為錢幣的一種在公共交通、游戲行業、小商品交易以及銀行兌換等不同領域使用較為普遍[1]。硬幣在方便人們日常消費的同時也帶來了一些麻煩,通常是因為在人工清算大量存積硬幣的過程中人自身的精神和精力等局限性導致計數時難以一直維持高效作業,特別是硬幣不同的面額、不同的形狀、不同的尺寸,使得分門別類變得緩慢起來,在分類完成后需要人工手動計數,還要消耗更多的勞動力。本設計以特定課題為研究背景,通過單片機實現分揀硬幣后的計數作業,彌補人工計數易出錯的缺陷,同時提升了計數的正確率,減少了人工勞動力成本。
1" " 總體設計
系統利用單片機進行控制,對分類好的不同幣值的硬幣進行計數及數額統計,根據計數作業實現方式對整個系統所需要的參數進行設定,倘若系統故障或計數數量達到系統設置的上限閾值則系統停止運轉。反之,系統無故障平穩運行作業時,在投幣量等于投幣箱閾值容量前系統一直穩定計數運行,當數量等于閾值設定上限時,系統自動結束計數作業[2]。該計數作業系統可實現3種類型硬幣的計數作業,分別是1元、5角和1角。
2" " 總體方案
2.1" " 硬幣計數要求
自動計數系統需對各種不同硬幣進行定量,在設計定量方案時,要求如下:
(1)最低計數速度需滿足120枚/min;
(2)各種幣值分別計數并計算出每種硬幣總幣數;
(3)設定的計數個數上限閾值為99 999個;
(4)計數方式:連續計數/預置計數。
2.2" " 硬幣計數方案
一般使用光電傳感器進行計數作業,以免計數作業實現起來較為復雜煩瑣[3]。本文所述系統在硬幣計數方式設計時所選用的計數方式也是光電傳感器計數,該設計相對簡單、便于實現。系統通過光電傳感器對硬幣進行計數并計算出硬幣總量,實現方式為發射器利用紅外檢測捕捉到硬幣通過,通過接收器把捕捉的信號傳遞給單片機系統,系統在記錄信號數據后進行信號傳輸,并通過連接的數碼管對信號進行數值顯示,從而實現設計方案的硬幣計數作業。
2.3" " 電氣原理設計
本設計的計數系統是通過紅外光電傳感器進行計數作業,其原理如下:電平的瞬時變化會導致單片機系統的外部中斷隨之發生改變,系統與LED數碼管元件之間有程序連接,從而能在顯示器上顯示數值變化,實現系統對硬幣的計數作業。計數系統電氣總體設計原理圖如圖1所示。
3" " 系統硬件設計
3.1" " STC89C52單片機
完整的系統由微處理器、中斷系統、存放數據的RAM、存放程序指令的ROM、輸入/輸出及時鐘等共同組成。各部分通過系統地址總線互相連接,同時將系統輸入及輸出端口與外接設備連接,以此共同組成一套完整的微型計算機系統[4]。
設計系統時,為實現對分類后硬幣進行計數的具體實際需求,采用STC89C52單片機作為硬幣計數數據處理元件。選用的STC89C52單片機設置有4個I/O端口,均為雙向端口,分別為P0、P1、P2、P3,這4個端口均配置有鎖存器裝置[5]。每個端口都有8條引腳,4個端口共設置了32條I/O引腳。
3.2" " 傳感器設計
3.2.1" " 計數原理
光電傳感器是采用光電元件作為檢測元件的傳感器,其原理是將被測量的變化轉換成光信號的變化,然后借助光電元件進一步將光信號轉換成電信號來實現控制。即當光源強度出現瞬時變化時,光電傳感器發出光信號HS1,與測光信號、光電器件接收的光信號HS2相互配合,共同實現硬幣的計數作業。
3.2.2" " 傳感器元件
市場中可供實現硬幣計數作業的傳感器類型相對較多,紅外光電傳感器響應速度快、時間短,其反應速度最短可以達到毫微秒級,性價比相對較高,所以本系統設計時采用了性價比較高的紅外光電傳感器。
3.3" " 電路模塊設計
3.3.1" " 復位電路
STC89C52單片機的復位輸入引腳RST能夠實現單片機的初始化,單片機內存中設定的0000H地址可以滿足本系統所要求的程序設計需求。STC89C52單片機所包含的時鐘電路運行后,若RST引腳高電平的輸出值超10 ms,則該元件內部系統自帶的微控制器便會對系統進行復位。若RST一直維持高電平,則系統循環復位。只有高電平轉為低電平,STC89C52單片機內部控制器才可以從地址0000H開始實施作業程序[6]。本設計對該單片機系統的復位電路設定如圖1 A區所示。
3.3.2" " 時鐘電路
該系統中STC89C52單片機的時鐘采用芯片振蕩器電路實現,此外,也可以選擇為單片機引入外部時鐘電路[7]。在STC89C52單片機中存在一個高增益反相放大器,該放大器輸入和輸出端的引腳分別是XTAL1和XTAL2,XTAL1引腳與石英晶體振蕩器相連,XTAL2引腳與微調電容進行連接,最終形成如圖1 B區所示的平穩自激振蕩器。
3.3.3" " 電源電路
設計時計數系統對電源的要求如下:電壓穩定,電壓紋波小,能耗低。為滿足以上需求,設計選擇LM7805CT芯片作為電路轉換芯片,該芯片可以為系統提供電壓為5.0 V的穩壓直流電,以滿足硬幣分揀后計數系統工作時所需電壓[8]。圖1 C區所示部分為直插式TO-220封裝,其主要作用是為電路提供過流、過載保護,保證電壓的穩定輸出,該部分在加裝散熱裝置情況下輸出電流可達1 A。
為了有效降低輸出電源的紋波,解決輸入端受干擾的問題,在芯片輸入端安裝了兩個不同容量的電容,其容量分別為2.2 μF和0.01 μF。
3.3.4" " 顯示電路
顯示電路采用LED顯示器,在滿足系統需求的前提下最大程度降低了整體硬件成本。顯示電路使用了七段顯示譯碼器7447和用于數據顯示的線解碼器SN74LS138,七段顯示譯碼器7447的主要作用為控制數字管的選通和顯示數據,將BCD編碼的數字轉換成相應的七段LED數字形式。圖1 D區為該系統的顯示電路,由于硬幣計數不存在小數情況,因此設計時默認七段LED顯示器上DP對應的小數點為空白(不亮)狀態。測試輸入BCD碼為“0011”時,通過譯碼輸出ABCDEFG為“0000110”,LED顯示數值為“3”;測試輸入BCD碼為“0101”時,通過譯碼輸出ABCDEFG為“0100100”,LED顯示數值為“5”,系統運行正常。七段顯示譯碼器7447中有控制引腳LT、RB1和B1,各引腳對應的功能如下:
LT引腳為由光線控制的輸入端,七段解碼器在輸入命令“0”時,處于系統光線的測試狀態。若譯碼輸出ABCDEFG全為0,顯示器顯示“8”,譯碼器可正常解碼。
RB1引腳作為紋波遮沒的輸入控制端口,當RB1輸入“0”時,7447處于紋波覆蓋狀態;當BCD編碼輸入為“0000”時,譯碼輸出ABCDEFG為“1111111”,此時七段顯示屏完全為空白(不亮)狀態;當BCD編碼輸入的值不為“0”時,譯碼器正常工作,因此RB1端口為遮沒的受控端口。
B1控制端通過遮沒輸入紋波來實現遮沒輸出,同時具有強制遮沒輸入和鏈波遮沒指示輸出的功能。作為輸入時只要加“0”信號即可使七段顯示譯碼器7447完全進入遮沒狀態。系統設置的五組七段LED顯示器,顯示端通過七段顯示譯碼器7447與單片機的數據端口進行連接,連接方式簡單,很大程度上降低了設計的系統復雜性。
4" " 系統軟件程序設計
將INT0連接外接中斷并設置物理按鈕裝置實現快速復位,同時用INT1脈沖中斷對系統輸出的脈沖信號進行捕捉以完成計數作業,采用動態變化的位解碼器SN74LS138與LED顯示器進行搭接,完成信號傳輸及計數的累進顯示。
本設計選用單片機中的7BH~7FH地址來分別記錄LED1~LED5的數值。單片機通過PO口將獲取的數據傳輸至顯示電路中,每次脈沖啟動中斷INT1,則R1中的數值會增加1,當R1增加至數值9時將數值存儲于7BH中,并調用子程序將7BH~7FH中記錄的數值傳輸給LED1~LED5。當數值大于9時,系統會同時將R1、7BH的數值清零,7CH數值與此同時增加1。如7CH中數值不大于9,則調用顯示子程序,依次顯示7BH~7FH中的值;同理,若7CH中的數值大于9,則將7DH中的數值增加1,同時將7CH中的值清零。若7DH中的值不大于9,則調用顯示子程序,顯示7BH~7FH中的值;若7DH中的值大于9,則將7EH中的值加1,同時將7DH中的值清零。若7EH中的值不大于9,則調用顯示子程序,顯示7BH~7FH中的值;若7EH中的值大于9,則將7FH的值加1,將7EH中的值清零。若7FH中的值不大于9,則調用顯示子程序,顯示7BH~7FH中的值;若7FH中的值大于9,則表明顯示管已經達到了能顯示的最高數值99999,程序溢出。
系統中脈沖中斷INT1可通過外部電壓變化轉換為中斷電平的變化,再通過系統的顯示電路以及程序將產生的變化數值顯示在LED顯示器上,對落入系統中的硬幣進行計數作業。圖2所示為系統計數程序流程圖。
5" " 結束語
本系統的設計以實現硬幣計數作業為目的,基于硬幣計數總體方案進行了硬件布局搭建,并針對光電感應器和電路模塊兩個方面進行了具體設計。同時,設計計數軟件程序,通過軟硬件結合實現了硬幣計數系統的總體設計,提供了一套能夠實現硬幣計數作業的運行系統。
[參考文獻]
[1] 王高騰,郭歡歡.基于LTspice的溫度掃描分析方法[J].電子測試,2022(19):63-65.
[2] 李耀南,何虎,薛旭.一種硬幣自動清選分離計數機械設計[J].現代制造技術與裝備,2016(12):13-14.
[3] 于春曉,李艷英,祝根.一種硬幣鑒別系統的設計與實現[J].網絡安全技術與應用,2014(9):77-78.
[4] 何宏.微型計算機原理與接口技術[M].北京:清華大學出版社,2014.
[5] 陳曉紅,徐藝.基于PLC的硬幣分揀控制系統設計[J].農機使用與維修,2018(1):5-6.
[6] 劉國權,江利強.超聲波物位檢測儀的設計及應用[J].中華紙業,2014,35(16):30-36.
[7] 于建勇.淺談時鐘電路在單片機中的作用[J].硅谷,2011(8):155.
[8] 尤鑫燁.同軸旋轉式硬幣分揀機介紹[J].工程技術研究,2018(4):116-117.
收稿日期:2023-05-25
作者簡介:謝沖沖(1994—),男,河南蘭考人,碩士,助教,研究方向:數字化設計與制造。
孔存陽(1988—),男,河南蘭考人,碩士,助教,研究方向:新能源汽車技術。