孫洪濤,李望榮
(歌爾股份有限公司,山東濰坊,261006)
隨著自動化設備的快速發展與廣泛應用,對設備的安全性提出了更高的要求。常規的安全門往往采用機械門鎖,金屬鑰匙容易丟失或損壞,同時其耦合性太高,安全性大打折扣。基于以上諸多問題,本文提出一種基于STM32 單片機的智能安全門控制系統,可有效地解決設備安全門開關操作的安全隱患問題[1-2]。
本設計是一種基于STM32 單片機的智能安全門控制系統,主要包括安全光幕模塊、存儲模塊、電磁鎖模塊、語音播放模塊、串口觸摸屏。串口觸摸屏提供給用戶人工交互的界面,用戶首先需要輸入密碼,再通過操作界面的開鎖以及上鎖按鈕以實現對安全門的打開與關閉操作。單片機為系統的控制核心,接受用戶的操作指令并通過電磁鎖模塊進行執行處理;同時,當安全門開啟后,系統會定時輪訓安全光幕的狀態,如果超過指定時間未進行關門操作,則系統會進行語音報警提示。系統總體設計框圖如圖1 所示。

圖1 系統總體設計框圖
系統的硬件設計需要考慮穩定性、經濟性以及可擴展性等多方面的因素。下面具體介紹重點電路的相關設計。
主控電路包括STM32F7 系列芯片(STM32F767ZI)、復位電路、時鐘電路、JTAG 電路、Boot 啟動模式選擇電路、下載電路等。STM32F767 系列采用Arm Cortex -M7 內核,工作頻率最高可達216MHz,具有雙精度浮點單元定時器多達18 個頻率高達216 MHz 的16 和32 位定時器。除常規的4 個UART 之外,還有4 個運行速度高達12.5 MB/s 的USART 接口,6 個50MB/s 的SPI 接口,4 個帶有新型可選數字濾波功能的I2C 接口,3 個CAN、一個帶片上PHY 的USB2.0 全速設備/主機/OTG 控制器、以太網MAC 等。故選擇STM32F767ZI 單片機作為系統的主控制器芯片。
語音播放模塊選用的是DY-SV17F 模塊,該模塊是一款智能語音模塊,支持IO 分段觸發、UART 串口控制、單總線串口控制等多種工作模式;可直接驅動3~5W 的喇叭;支持MP3,WAV 解碼格式,板載32MB Flash 存儲空間,提供使用USB 數據線連接PC 更新音頻文件。其中支持8個IO 口單獨觸發8 首曲目,也支持8 個IO 口組合觸發多達255 首曲目;支持UART 串口方式控制語音播報功能,可控制播放,暫停,音量加減等功能[3-4]。
該模塊實現的功能主要是進行語音播報提示,STM32 單片機通過GPIO 與該模塊進行連接,通過IO 觸發的方式進行語音播報。單片機與DY-SV17F 模塊電路設計如圖2 所示。

圖2 DY—SV17F 模塊電路設計
安全光幕又稱安全光柵,通常用于非標機械、機加工等高危險度的機械設備,主要作用是檢測人工是否打開設備進行操作以避免造成人員傷亡。安全光幕的工作原理實質是:由一側的發射器發射紅外光束,另一側的接收器進行接收光束,以形成保護光幕。當有物體或人員從光柵中通過時,會擋住紅外光束的接收,接收器就會檢測到,同時把光信號轉變為電信號,反饋給主控系統,由主控系統進行報警處理,以避免安全事故的發生。安全光幕默認使用的是平行掃描,如圖3 所示。單片機與安全光幕的電路設計如圖4 所示。

圖3 安全光幕平行掃描的示意圖

圖4 安全光幕的電路設計
AT24C04 存儲模塊選用的是AT24C04 芯片,該系列為美國ATMEL 公司生產的EEPROM,是I2C 總線串行器件,抗干擾能力較強,工作電源較寬,擦寫次數可達100 萬次,數據保存可達100 年,并且支持在線編程等特性。該芯片的A0、A1,A2 默認為低電平,手冊中IIC 的通信地址為0x40。當存在若干個存儲芯片IIC 器件通信時,需修改A0、A1 和 A2 對應的電平才能進行有效尋址,具體電路設計如圖5 所示。

圖5 存儲模塊電路設計
具體型號為DC48270M043_1111_0C,支持電容觸摸。該款產品為M 系列,核心處理器為400M SOC 處理器,不帶操作系統,上電便可自動運行。屏幕尺寸為4.3 寸,存儲空間為128MB,默認支持大彩組態指令集,典型波特率為115200bps,通信方式為RS232/TTL,支持定時器、時鐘、倒計時等功能,配套上位機軟件為VisualTFT 軟件。單片機與串口觸摸屏采用的TTL 通訊接口,應用簡單方便。
電磁鎖模塊包括繼電器模塊與電磁鎖兩部分組成。
繼電器模塊自帶光耦隔離,抗干擾能力較強,信號穩定,完全兼容3.3V 和5V 的TTL 控制信號,可控制直流或交流信號,有一個常開、一個常閉觸點;有控制指示燈,控制信號為低電平時繼電器吸合,指示燈常亮;反之指示燈常滅。
電磁鎖也叫磁力鎖,它的設計原理與電磁鐵是一樣,就是利用電產生磁的原理。當電流通過電磁鎖的硅鋼片時,便會產生強大的磁場,緊緊地吸住吸附鐵板從而達到關門上鎖的效果。一般通過12V 的電壓便可產生較大的磁吸力,有效的控制安全門的開關。通過識別操作人員輸入的密碼是否合法,從而控制是否給電磁鎖通電或斷電來達到安全防護的目的。同時電磁鎖機械結構簡單,非常適用于自動化設備的安全門防護。電磁鎖產品如圖6 所示。

圖6 電磁鎖產品
單片機與繼電器模塊直接相連,繼電器模塊與電磁鎖相連,電路設計如圖7 所示。

圖7 電磁鎖模塊電路設計
本系統軟件包括兩部分,下位機軟件與觸摸屏軟件。其中下位機軟件采用Keil5 作為編輯編譯工具,使用標準C 語言進行開發;觸摸屏軟件使用VisualTFT 進行開發。
首先錄制并準備音頻文件,再通過USB 數據線連接語音播放模塊,將安全門開啟、安全門關閉、安全門報警的音頻拷貝到該模塊中,按照命令規則對音頻進行命令。
系統上電后進行系統外設接口的初始化,一直輪訓讀取串口指令隊列并查看安全門以及安全光幕的狀態;如果有指令則讀取并解析,判斷是開鎖指令還是上鎖指令。當是開鎖指令時,單片機通過電磁鎖模塊打開電磁鎖并播放安全門開啟語音;當是上鎖指令時,單片機通過電磁鎖模塊關閉電磁鎖并播放安全門關閉語音。當安全門是打開并且安全光幕無遮擋時,系統會進入計時累計模式,時間超過30s 則播放安全門報警語音;如有遮擋則重新計時。
主程序的工作流程如圖8 所示。主程序中主動上報的信息,采用阻塞發送數據的方式,而接收來自觸摸屏傳送的數據是使用中斷的方式。

圖8 主程序的工作流程
利用觸摸屏自帶的VisualTFT 上位機軟件進行開發,可以方便人工自動進行界面布局和控件配置,同時支持“虛擬串口屏”進行仿真,支持USB 等方式將工程下載到其的存儲器中。VisualTFT 軟件會對工程中的所有圖片、畫面以及控件分配不相同的ID 號。操作人員點擊畫面的某個按鈕,MCU 則會收到對應按鈕的ID 信息或者坐標值。通過對其進行解析后,開發人員便可得到該按鈕的功能屬性或畫面位置,即可控制設備的動作或畫面更新。
該系統是通過觸摸屏軟件進行權限管理與操作管理;當用戶需要開啟安全門時,首先輸入密碼,則操作權限變為綠色,然后點擊界面的安全門后,電磁鎖斷電解鎖安全門并進行安全門開啟語音播報提示,用戶便可手動可打開安全門;安全門處于開啟狀態,安全光幕無遮擋,超過30s,系統進行安全門報警語音播報提示;用戶手動關閉安全門,然后點擊界面的安全門后,電磁鎖上鎖安全門并進行安全門關閉語音播報提示,用戶無法手動打開安全門,關閉后超過30s則權限變為受限狀態。安全門關閉狀態界面如圖9 所示。

圖9 智能安全門控制系統界面
本文提出一種基于STM32 單片機的安全門控制系統的設計與實現。采用STM32F767ZI 單片機、電磁鎖模塊、語音播放模塊與安全光幕模塊實現對安全門的有效控制,并通過串口觸摸屏進行實時顯示、權限管理以及操作管理。該系統可有效地預防操作人員直接打開安全門以及安全門開啟后安全管控問題。