AVR單片機具有高可靠性、高性能、低功耗等特點,被廣泛應用于工業控制之中。針對1024個密集文件柜狀態監測問題,自主研發了以AVR單片機為核心的狀態監測系統,實現對文件柜內有無存放物體以及何種物體進行管理。本系統包括文件柜狀態檢測、數據采集、ModBus通信、上位機組態等部分。本系統結構簡單,穩定性、可靠性高,成本較低,具有很高的應用推廣價值。
【文件柜】
現今信息資料的存儲呈現出多量化、密集化的發展趨勢,密集文件柜已經成為政府工作部門、企事業單位、檔案館等存儲信息資料的最佳選擇。密集文件柜的自動化和管理現代化成為亟待研究解決的關鍵問題。由于沒有有效的系統來完成狀態采集和信息傳送功能,在密集文件柜現場都是依靠人力檢查記錄來實現密集文件柜的管理,這增加了勞動強度和管理成本。為解決上述問題,采用了高性能的AVR單片機J,運用傳感器檢測技術J、ModBus通訊技術、分布式控制技術等,構建了一個1024點的采集和監測系統。本系統創造性的設計出矩陣掃描式采集電路,解決了傳統設計因狀態變量過多而導致的”采集難”、成本高的問題。
1系統設計方案本系統使用ITR9909紅外傳感器檢測密集文件柜內有無文件的狀態,利用AVR單片機完成對1024個文件柜狀態的采集,然后通過RS485總線將采集數據傳送給上位機,上位機通過組態界面對1024個文件柜物體的屬性進行管理并實時顯示。當柜內有檔案放置時,現場相應柜體上的LED指示燈亮,在上位機組態上對應的柜體組態位置顯示存放的文件名稱并以綠色提醒有文件存放;無檔案放置時,現場相應柜體上的LED指示燈滅,在上位機組態上對應的柜體組態位置顯示為空并以紅色提醒柜內無文件存放。每次需要存放文件時,先從上位機上確定要存放到空的文件柜位置,在此位置上標注存放的文件名,然后工作人員將文件放到相應的空文件柜中,現場LED指示燈自動亮,同時組態軟件會根據上傳上來的信息自動刷新組態中文件柜信息,將相應的文件柜組態以綠色顯示出來。若需要取文件時,直接從文件柜中將文件拿走即可,現場LED指示燈自動滅,上位機會自動將組態中相應位置的柜體顯示為空(屬性為空,并以紅色提醒)。這樣不僅可以在監控室遠程查看文件柜的信息,而且可以在現場直接判斷文件柜的狀態,方便快捷實現文件的管理。
本監測系統的總體結構設計如圖1所示。
本系統主要包括監控平臺、串口通信模塊、智能控制單元、傳感圖1系統總體設計結構器矩陣以及電源模塊五個部分。
(1)監控中心:上位機使用組態王軟件構建監控系統,實現人機交互工作,實時顯示各文件柜的狀態。
(2)通信單元:采用高性能ADM2483芯片作為RS485驅動芯片,內部集成隔離器,具有低功耗、高抗干擾能力等特點。
(3)控制單元:采用AVR單片機系列中的Atmega1280作為控制芯片,將采集的數據暫時保存在內部RAM區并通過RS485總線上傳到上位機,實現實時通信。
(4)采集單元:1024個ITR9909紅外傳感器模塊接成3232矩陣式電路對1024個柜體進行監測。
(5)電源單元:使用穩定性較好的AMS1117—3.3穩壓芯片,為最小系統提供3.3V穩定電壓,12V直流電源為采集電路供電。
2系統的硬件設計2.1核心控制器的選型Atmega1280是基于RISC結構的高性能、低功耗的8位AVR微控制器J,提供86個可編程I/O端口,具有獨立片內振蕩器的可編程看門狗定時器,內置8kB片內SRAM,128kB系統內可編程Flash,并內置多種串行通信接口,包括TwI(I2C)兩線接口、四路可編程USART和可工作于主機/從機模式的SPI串行接口。
具有執行速度快,內部資源豐富,穩定性高等特點。最高數據吞吐率達1MIPS/Mh,能有效減緩系統功耗和處理速度之間的矛盾。完全可以滿足該系統的設計要求。
2.2矩陣式采集電路的設計根據設計要求,紅外采集部分要檢測1024個文件柜狀態,為了盡量的少占用單片機的I/0口,本系統設計了矩陣式采集電路,可以實現使用一個AVR控制芯片完成對1024個點的采集,矩陣式采集電路原理如圖2所示。Atmega1280單片機將32個I/O口直接與行線相連作為輸出口,另選32個I/O口直接與列線相連作為采集數據輸入口。具體工作原理如下:首先系統將32路行線的第一行輸出高電平(其余31位為低),通過驅動電路驅動該行的32個紅外發光二極管,當該行對應的任一文件柜有文件時,接收端接收反射光而輸出高電平,否則輸出低電平,系統會將這32位數據直接刷新到單片機相應的寄存器單元組1(共4個字節)。然后將I/O口高電平左移一位,使第二路行線輸出高電平,再次讀取32根列線上的數據,將這些數據直接刷新到單片機的相應的寄存器單元組2(共4個字節);以此類推,將全部32根行線置位一遍,讀出32組列線數據,每組4個字節,共有128個字節(1024位)數據。這種矩陣式采集電路簡化連線,使系統連線最少。使用掃描方式監測各個點,保護每個點上的發光元件,大大延長測量元件的使用壽命。
2.3光電隔離電路設計為了使系統具有較強的抗干擾能力,本系統在32路IYO輸出端和32路I/0輸入端的每一路都使用光電耦合器[4]進行光電隔離,通信接口也采用具有強抗干擾的ADM2483芯片作為485總線驅動器,將外電路與單片機電路徹底隔離,使外電路的干擾在進入單片機之前徹底消除,提高了采集器的抗干擾能力。
同時,在輸出隔離光耦后增加了一個$8550三極管,有效地提高了電路輸出端的驅動能力。光電隔離電路如圖3所示。
3系統的軟件設計3.1單片機主程序設計AVR單片機上電工作以后首先進行設備的初始化,包括端口初始化、波特率設置、串口初始化、開啟接收中斷等工作。接著進行循環式掃描,每掃描一行將采集數據按照字節的方式存在SRAM區。直到完成對32行的掃描后,進入協議解析函數。然后在解析函數中會完成主機命令的解析、從機命令的回應、上傳采集數據等工作。