基于STM32F103VE的智能信箱系統的設計與實現
引言
本文引用地址:http://www.104case.com/article/148268.htm為了解決傳統信箱容易發生的鎖孔堵塞、鑰匙丟失、信件丟失、浪費空間、垃圾廣告等問題,保護信件的安全、有效,我們設計了一個智能信箱系統。它采用封閉式管理和細化空間、動態分配的存儲理念,增加了安全性,提高了用戶數量。它還具有身份驗證、來信提示、網絡查詢等功能,可以廣泛應用于小區、學校、醫院、企業等。
一、 整體構架
智能信箱的系統構架主要有兩部分,即控制系統與機械設備??刂葡到y用于保存和管理用戶與信件的信息,下達“存”或“取”的命令給機械設備,它包括主控芯片模塊、存儲器、觸摸屏、網絡接口、實時時鐘、電磁繼電器、步進電機驅動器等;機械設備則負責執行控制系統下達的命令,完成信件的存取過程,它包括帶步進電機的線性十字滑軌以及用于存放信件的存儲陣列等。
二、 存/取信件的具體實現
存/取信件是系統的主要職能。用戶執行存信或取信操作時,系統會進入存儲器中查詢相關的用戶信息和存儲信息,根據一系列算法,算出十字滑軌上滑臺的運動軌跡,用電機驅動滑臺按照軌跡執行存/取信任務,完成任務后,系統自動更新存儲器中的信息,保持與存儲陣列內的情況一致。
2.1 線性十字滑軌
線性十字滑軌是信箱系統當中實施機械動作的部分,為了保證系統的精確性,我們采用了滾珠絲杠十字滑軌。它由兩副正交安裝的滾珠絲杠副和滑臺組成,水平滾珠絲杠副安裝在豎直滾珠絲杠副上,形成一個平面直角坐標系,信件就被存儲在這個坐標系里。每副滾珠絲杠副都由一個步進電機來驅動,通過控制輸出脈沖個數來控制角位移量,再通過滾珠絲杠副將角位移轉換為線性位移,達到準確定位的目的。
2.2 脈沖數控制算法
在脈沖輸出上,我們采用了PWM(Pulse Width Modulation)脈沖輸出。當系統進入存/取信件任務時,系統讀出目標單元格在存儲陣列中的橫縱坐標值,計算出兩幅滑軌的運行距離,從而確定每個步驟必須輸出的脈沖數量。脈沖數的計算公式:
其中P為脈沖數,C為當前步驟操作的坐標值,D為單位坐標值的實際距離,S為滾珠絲杠的導程,α為步進電機的步進角,一般為1.9°,n為步進電機驅動器的細分數。
在編程實現上,我們使用了兩個定時器,其中TIM2作為脈沖計數器,TIM3作為PWM發生器,工作原理闡述如下:①將TIM3設置成PWM輸出模式,不斷地輸出PWM脈沖序列;②將TIM2設置成外部觸發模式,用作脈沖計數器;③將TIM3的PWM輸出連接到TIM2的脈沖輸入上,使能TIM3,就可開始記數;④將TIM2的溢出值設定為步進電機所需的脈沖數P,一旦計得所需脈沖數,立即進入中斷,關閉TIM3的使能,停止脈沖輸出,這個過程遠快于PWM的輸出頻率,可以實現精確控制輸出脈沖數。
2.3 空間管理方法
傳統信箱采用的是一人一格的平均分配方式,但每人信件數量往往不同,且當今網絡高速發展,信件數量大幅減少,傳統信箱的分配方式無疑造成了空間上的浪費。我們采用細化空間、動態分配的管理方式,將每一格尺寸縮小,以每日每戶平均來信數量為準,如有超過,則另行開辟空閑單元繼續存放,同時,自動記錄所存信件的用戶信息;因此信箱整體規模縮小的同時,支持更多用戶的使用,便于信件的集中管理,解決傳統信箱分散、難管理的問題。
評論