孫洪濤,李望榮
(歌爾股份有限公司,山東濰坊,261006)
隨著自動(dòng)化設(shè)備的快速發(fā)展與廣泛應(yīng)用,對設(shè)備的安全性提出了更高的要求。常規(guī)的安全門往往采用機(jī)械門鎖,金屬鑰匙容易丟失或損壞,同時(shí)其耦合性太高,安全性大打折扣。基于以上諸多問題,本文提出一種基于STM32 單片機(jī)的智能安全門控制系統(tǒng),可有效地解決設(shè)備安全門開關(guān)操作的安全隱患問題[1-2]。
本設(shè)計(jì)是一種基于STM32 單片機(jī)的智能安全門控制系統(tǒng),主要包括安全光幕模塊、存儲(chǔ)模塊、電磁鎖模塊、語音播放模塊、串口觸摸屏。串口觸摸屏提供給用戶人工交互的界面,用戶首先需要輸入密碼,再通過操作界面的開鎖以及上鎖按鈕以實(shí)現(xiàn)對安全門的打開與關(guān)閉操作。單片機(jī)為系統(tǒng)的控制核心,接受用戶的操作指令并通過電磁鎖模塊進(jìn)行執(zhí)行處理;同時(shí),當(dāng)安全門開啟后,系統(tǒng)會(huì)定時(shí)輪訓(xùn)安全光幕的狀態(tài),如果超過指定時(shí)間未進(jìn)行關(guān)門操作,則系統(tǒng)會(huì)進(jìn)行語音報(bào)警提示。系統(tǒng)總體設(shè)計(jì)框圖如圖1 所示。
圖1 系統(tǒng)總體設(shè)計(jì)框圖
系統(tǒng)的硬件設(shè)計(jì)需要考慮穩(wěn)定性、經(jīng)濟(jì)性以及可擴(kuò)展性等多方面的因素。下面具體介紹重點(diǎn)電路的相關(guān)設(shè)計(jì)。
主控電路包括STM32F7 系列芯片(STM32F767ZI)、復(fù)位電路、時(shí)鐘電路、JTAG 電路、Boot 啟動(dòng)模式選擇電路、下載電路等。STM32F767 系列采用Arm Cortex -M7 內(nèi)核,工作頻率最高可達(dá)216MHz,具有雙精度浮點(diǎn)單元定時(shí)器多達(dá)18 個(gè)頻率高達(dá)216 MHz 的16 和32 位定時(shí)器。除常規(guī)的4 個(gè)UART 之外,還有4 個(gè)運(yùn)行速度高達(dá)12.5 MB/s 的USART 接口,6 個(gè)50MB/s 的SPI 接口,4 個(gè)帶有新型可選數(shù)字濾波功能的I2C 接口,3 個(gè)CAN、一個(gè)帶片上PHY 的USB2.0 全速設(shè)備/主機(jī)/OTG 控制器、以太網(wǎng)MAC 等。故選擇STM32F767ZI 單片機(jī)作為系統(tǒng)的主控制器芯片。
語音播放模塊選用的是DY-SV17F 模塊,該模塊是一款智能語音模塊,支持IO 分段觸發(fā)、UART 串口控制、單總線串口控制等多種工作模式;可直接驅(qū)動(dòng)3~5W 的喇叭;支持MP3,WAV 解碼格式,板載32MB Flash 存儲(chǔ)空間,提供使用USB 數(shù)據(jù)線連接PC 更新音頻文件。其中支持8個(gè)IO 口單獨(dú)觸發(fā)8 首曲目,也支持8 個(gè)IO 口組合觸發(fā)多達(dá)255 首曲目;支持UART 串口方式控制語音播報(bào)功能,可控制播放,暫停,音量加減等功能[3-4]。
該模塊實(shí)現(xiàn)的功能主要是進(jìn)行語音播報(bào)提示,STM32 單片機(jī)通過GPIO 與該模塊進(jìn)行連接,通過IO 觸發(fā)的方式進(jìn)行語音播報(bào)。單片機(jī)與DY-SV17F 模塊電路設(shè)計(jì)如圖2 所示。
圖2 DY—SV17F 模塊電路設(shè)計(jì)
安全光幕又稱安全光柵,通常用于非標(biāo)機(jī)械、機(jī)加工等高危險(xiǎn)度的機(jī)械設(shè)備,主要作用是檢測人工是否打開設(shè)備進(jìn)行操作以避免造成人員傷亡。安全光幕的工作原理實(shí)質(zhì)是:由一側(cè)的發(fā)射器發(fā)射紅外光束,另一側(cè)的接收器進(jìn)行接收光束,以形成保護(hù)光幕。當(dāng)有物體或人員從光柵中通過時(shí),會(huì)擋住紅外光束的接收,接收器就會(huì)檢測到,同時(shí)把光信號(hào)轉(zhuǎn)變?yōu)殡娦盘?hào),反饋給主控系統(tǒng),由主控系統(tǒng)進(jìn)行報(bào)警處理,以避免安全事故的發(fā)生。安全光幕默認(rèn)使用的是平行掃描,如圖3 所示。單片機(jī)與安全光幕的電路設(shè)計(jì)如圖4 所示。
圖3 安全光幕平行掃描的示意圖
圖4 安全光幕的電路設(shè)計(jì)
AT24C04 存儲(chǔ)模塊選用的是AT24C04 芯片,該系列為美國ATMEL 公司生產(chǎn)的EEPROM,是I2C 總線串行器件,抗干擾能力較強(qiáng),工作電源較寬,擦寫次數(shù)可達(dá)100 萬次,數(shù)據(jù)保存可達(dá)100 年,并且支持在線編程等特性。該芯片的A0、A1,A2 默認(rèn)為低電平,手冊中IIC 的通信地址為0x40。當(dāng)存在若干個(gè)存儲(chǔ)芯片IIC 器件通信時(shí),需修改A0、A1 和 A2 對應(yīng)的電平才能進(jìn)行有效尋址,具體電路設(shè)計(jì)如圖5 所示。
圖5 存儲(chǔ)模塊電路設(shè)計(jì)
具體型號(hào)為DC48270M043_1111_0C,支持電容觸摸。該款產(chǎn)品為M 系列,核心處理器為400M SOC 處理器,不帶操作系統(tǒng),上電便可自動(dòng)運(yùn)行。屏幕尺寸為4.3 寸,存儲(chǔ)空間為128MB,默認(rèn)支持大彩組態(tài)指令集,典型波特率為115200bps,通信方式為RS232/TTL,支持定時(shí)器、時(shí)鐘、倒計(jì)時(shí)等功能,配套上位機(jī)軟件為VisualTFT 軟件。單片機(jī)與串口觸摸屏采用的TTL 通訊接口,應(yīng)用簡單方便。
電磁鎖模塊包括繼電器模塊與電磁鎖兩部分組成。
繼電器模塊自帶光耦隔離,抗干擾能力較強(qiáng),信號(hào)穩(wěn)定,完全兼容3.3V 和5V 的TTL 控制信號(hào),可控制直流或交流信號(hào),有一個(gè)常開、一個(gè)常閉觸點(diǎn);有控制指示燈,控制信號(hào)為低電平時(shí)繼電器吸合,指示燈常亮;反之指示燈常滅。
電磁鎖也叫磁力鎖,它的設(shè)計(jì)原理與電磁鐵是一樣,就是利用電產(chǎn)生磁的原理。當(dāng)電流通過電磁鎖的硅鋼片時(shí),便會(huì)產(chǎn)生強(qiáng)大的磁場,緊緊地吸住吸附鐵板從而達(dá)到關(guān)門上鎖的效果。一般通過12V 的電壓便可產(chǎn)生較大的磁吸力,有效的控制安全門的開關(guān)。通過識(shí)別操作人員輸入的密碼是否合法,從而控制是否給電磁鎖通電或斷電來達(dá)到安全防護(hù)的目的。同時(shí)電磁鎖機(jī)械結(jié)構(gòu)簡單,非常適用于自動(dòng)化設(shè)備的安全門防護(hù)。電磁鎖產(chǎn)品如圖6 所示。
圖6 電磁鎖產(chǎn)品
單片機(jī)與繼電器模塊直接相連,繼電器模塊與電磁鎖相連,電路設(shè)計(jì)如圖7 所示。
圖7 電磁鎖模塊電路設(shè)計(jì)
本系統(tǒng)軟件包括兩部分,下位機(jī)軟件與觸摸屏軟件。其中下位機(jī)軟件采用Keil5 作為編輯編譯工具,使用標(biāo)準(zhǔn)C 語言進(jìn)行開發(fā);觸摸屏軟件使用VisualTFT 進(jìn)行開發(fā)。
首先錄制并準(zhǔn)備音頻文件,再通過USB 數(shù)據(jù)線連接語音播放模塊,將安全門開啟、安全門關(guān)閉、安全門報(bào)警的音頻拷貝到該模塊中,按照命令規(guī)則對音頻進(jìn)行命令。
系統(tǒng)上電后進(jìn)行系統(tǒng)外設(shè)接口的初始化,一直輪訓(xùn)讀取串口指令隊(duì)列并查看安全門以及安全光幕的狀態(tài);如果有指令則讀取并解析,判斷是開鎖指令還是上鎖指令。當(dāng)是開鎖指令時(shí),單片機(jī)通過電磁鎖模塊打開電磁鎖并播放安全門開啟語音;當(dāng)是上鎖指令時(shí),單片機(jī)通過電磁鎖模塊關(guān)閉電磁鎖并播放安全門關(guān)閉語音。當(dāng)安全門是打開并且安全光幕無遮擋時(shí),系統(tǒng)會(huì)進(jìn)入計(jì)時(shí)累計(jì)模式,時(shí)間超過30s 則播放安全門報(bào)警語音;如有遮擋則重新計(jì)時(shí)。
主程序的工作流程如圖8 所示。主程序中主動(dòng)上報(bào)的信息,采用阻塞發(fā)送數(shù)據(jù)的方式,而接收來自觸摸屏傳送的數(shù)據(jù)是使用中斷的方式。
圖8 主程序的工作流程
利用觸摸屏自帶的VisualTFT 上位機(jī)軟件進(jìn)行開發(fā),可以方便人工自動(dòng)進(jìn)行界面布局和控件配置,同時(shí)支持“虛擬串口屏”進(jìn)行仿真,支持USB 等方式將工程下載到其的存儲(chǔ)器中。VisualTFT 軟件會(huì)對工程中的所有圖片、畫面以及控件分配不相同的ID 號(hào)。操作人員點(diǎn)擊畫面的某個(gè)按鈕,MCU 則會(huì)收到對應(yīng)按鈕的ID 信息或者坐標(biāo)值。通過對其進(jìn)行解析后,開發(fā)人員便可得到該按鈕的功能屬性或畫面位置,即可控制設(shè)備的動(dòng)作或畫面更新。
該系統(tǒng)是通過觸摸屏軟件進(jìn)行權(quán)限管理與操作管理;當(dāng)用戶需要開啟安全門時(shí),首先輸入密碼,則操作權(quán)限變?yōu)榫G色,然后點(diǎn)擊界面的安全門后,電磁鎖斷電解鎖安全門并進(jìn)行安全門開啟語音播報(bào)提示,用戶便可手動(dòng)可打開安全門;安全門處于開啟狀態(tài),安全光幕無遮擋,超過30s,系統(tǒng)進(jìn)行安全門報(bào)警語音播報(bào)提示;用戶手動(dòng)關(guān)閉安全門,然后點(diǎn)擊界面的安全門后,電磁鎖上鎖安全門并進(jìn)行安全門關(guān)閉語音播報(bào)提示,用戶無法手動(dòng)打開安全門,關(guān)閉后超過30s則權(quán)限變?yōu)槭芟逘顟B(tài)。安全門關(guān)閉狀態(tài)界面如圖9 所示。
圖9 智能安全門控制系統(tǒng)界面
本文提出一種基于STM32 單片機(jī)的安全門控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。采用STM32F767ZI 單片機(jī)、電磁鎖模塊、語音播放模塊與安全光幕模塊實(shí)現(xiàn)對安全門的有效控制,并通過串口觸摸屏進(jìn)行實(shí)時(shí)顯示、權(quán)限管理以及操作管理。該系統(tǒng)可有效地預(yù)防操作人員直接打開安全門以及安全門開啟后安全管控問題。