韓金威
(南陽醫學高等專科學校,河南 南陽473000)
隨著社會人口比例變化,大多數家庭都出現了老人多,年輕人少的情況,老人照顧不到位,老人安全問題成為每個家庭的安全隱患。老年人摔倒現象時有發生,摔倒本身不會出現多大問題,但摔倒后處理不當會造成嚴重后果。因此實時了解老年人獨自上街的行為狀態十分重要。本文針對相關問題開展研究,設計出對應跌倒報警器,以51 單片機為設計系統核心,包括可以檢測出跌倒信號的傳感器ADXL345 進行跌倒識別,GPS 模塊VK2828U7G5LF 部分實時檢查老人位置信息,GSM 模塊的SIM900 能給監護人發去老人摔倒位置信息,使摔倒老人及時得到救助治療,降低摔倒后的不利后果。
SIM900A 是通過串口發送AT 指令來完成控制的,所以我們需要一塊多串口的51 單片機STC12C5A,檢查好電源和接地后,SIM900A 的TXD 和RXD 分別連接到STC12C5A 的P3.0 和P3.1 即可。當ADXL345 檢查到老人摔倒數據后,通過單片機指令實現老人摔倒后位置信息的發送。
VK2828U7G5LF 通過串口通信與單片機進行數據傳輸,當芯片的PPS 指示燈1 秒一閃爍綠燈時,它就開始實時定位了,它給單片機傳輸獲得的定位數據,里面有、時間、位置信息等,只要產品開機并且該模塊有信號就實時檢查老人位置信息。通過STC12C5A60S2 對數據處理,讓GSM模塊把信息發送到指定手機號上。例如多個監護人電話號碼、醫院急救車電話等。
ADXL345 是一款三軸、數字化的加速度傳感器,它能測X、Y、Z 三個方向軸上的對應的速度信號。該模塊能夠對各種條件下的加速度進行檢測。第一步主要通過其自帶的感應器檢測出加速度信號,然后進行信號轉換,轉換為可識別的模擬信號,從模擬信號和數字信號的定義可知,模擬量和數字量有著本質的差異。模擬信號具有幅度和時間上連續的特點;而數字量在表達幅度大小的數字域和時間域上均是離散的。當檢查到老人摔倒時,通過單片機里的程序指令,讓GSM模塊發出求救信息,并使蜂鳴器報警。
STC12C5A60S2 的主要功能有許多,作為核心控制模塊可很好通過I/O 口對傳感器,ADC0832 模數轉換器,LCD1602 液晶顯示器進行控制。該單片機是51 單片機分支,可兼容51 單片機旗下所有單片機。當前流通單片機大多數為CPLD 和C51,這兩種單片機所針對系統不同。CPLD 針對功能復雜多樣的系統,所需控制模塊較多的系統,性價低。C51 單片機所針對的系統功能較簡單,所需控制模塊較少系統,性價比較高,使用性較強。
該單片機部分引腳功能特點為:PO 端口是I/O 端口的一種。I/O 端口是一個雙工接口,有in 口和out 口。PO 端口需要在外部添加一個上拉電阻以改善阻抗。更特殊的P1 端口是P1.0和P1.1。這兩個定時器可用作微控制器中的定時器。編程時,這個接口接收低8 位的地址字符,內部有一個上拉電阻和一個雙向輸入接口,用于系統編程。P2 端口和P1 端口之間存在明顯差異,當作為輸出口時,在連接外部系統是默認作為低電平,此外內部含有一個電阻,此電阻能帶動四個低電平,在訪問外載寄存器時,輸出高8 位。
P3 口和其他接口還不一樣。該接口內部也有電阻,但其在用C 語言編程時,一些不被其他接口檢測到的控制信號它也能接受。P3 口同時具有8 位雙向I/O 接口。一些Flash 閃存也可被P3 口接收,并接受一些控制信號。
RST 端口為重置輸入。當振蕩器運行工作時,按下復位按鈕能復位RST 引腳。
ALE/PROG 端口可作為地址鎖存器或編程脈沖。當ALE/PROG 端口作為編程脈沖,工作時要對Flash 編程。當ALE/PROG 端口用作地址鎖存器時,問外部程序存儲器或正確訪問存儲器時,仍然是固定脈沖信號,是時鐘振蕩周期的6 倍。
PSEN 是否允許控制程序的存儲是其功能,每個運行周期允許兩次的時候有效。EA/VPP 是允許外部訪問的開關。如果CPU要想連接外部存儲器,就保持EA 低電平。
本系統設計主要用Keil 軟件進行C 語言編寫進而控制單片機進行工作,然后進行程序調試,看是否有異常或錯誤。要把程序燒錄進去,當編寫程序時,由于系統本身原因,會出現很多問題。在軟件調試過程中有些過程可能太短或延遲太長,如按鈕的消抖動過程中時間較短,會導致連續值等,并將在此過程中不斷修改。在編寫完程序后檢查該程序編寫是否存在錯誤,以便為后續硬件調試減少麻煩。該軟件可生成一個HEX 文件,允許刻錄到微控制器,該軟件編譯、操作都方便簡單。
當程序編譯成功后,再將程序燒錄進去開發板內,進行與硬件電路板對應各種元器件相結合共同工作。最后,當程序燒錄結束后,開始進行對各部分元器件工作性能檢測,并使用萬用表對線路中各部分元器件間連接進行檢測,看是否發生某元器件短路。如果沒有則開始對硬件部分的主控制板進行檢測,觀察當對應按鍵接通時,數碼管對應的顯示情況。并檢驗傳感器能否根據給出的觸發信號,發出相應指令給系統。
最后階段遇到的問題與相應處理方法:
使用萬用表檢測線路各部分的連接時發現有一個電阻發生短路,經過觀察發現,是在進行焊接時,焊錫使用的太多導致的,最后又使用電烙鐵進行加熱,并重新進行焊接,之后再用萬用表進行檢測時發現電路各處連接正常。
在各部分裝置都安裝焊接完畢后,進行實際運行操作時發現,當供給電源后,小喇叭一直不停發出雜音,經過認真檢查,發現對應的三極管的引腳連接出錯,經過修改后,其可以正常工作。
報警器在收到人體給出的正確指令時,報警器沒有反應,這個問題困擾了我很久,然后經過檢查硬件電路各元器件間對應外部連線時發現,發現線路連接都是正確,最后經過對程序重新整理時發現,報警器對應程序編寫少編寫了聲音檢測部分。最后通過對該程序添加后,確保各部分都準確無誤后,再重新給傳感器以正確指令信號,這時報警器發出警報,整個裝置都可以成功運行。
GSM模塊的SIM900A 開始尋找信號一秒一閃,搜索信號完成變為兩秒一閃。GPS 模塊VK2828U7G5LF 背面綠燈閃爍,表明GPS 信號定位完成。ADXL345 模塊燈常亮,表明工作正常。
首先設置接受號碼,通過手機短信指令設置,手機編輯短信PHONE SMS:A(A 為接收報警預留號碼)發送給插在GSM模塊上卡的電話號碼。接受完成后會反饋“SET END”表示設置成功。
用板子傾倒來模擬老人摔倒后的狀態,當板子傾倒時ADXL345 檢測到信號,通過單片機代碼指令,繼電器此時熄合,紅色指示燈常亮(圖1)。當傾倒15 秒以后仍未樹立起來后,蜂鳴器開始報警,并且GSM模塊發送報警短信到監護人手機上(圖2)。

圖1 模擬老人摔倒

圖2 手機收到報警短信
當老人站起來時,報警蜂鳴器報警取消,繼電器紅燈熄滅,如圖3 所示GSM模塊發送“老人已站起來了,請打電話確認情況”短信到監護人手機上如圖4 所示。

圖3 模擬老人站起

圖4 手機收到站起短信