摘要:該文介紹了一種基于無線通信的活動式數據采集系統。本方案結合無線通信技術和傳感技術,用單片機技術合而為一。以單片機作為信息處理與控制的核心。在從機,溫度和濕度等傳感器采集的模擬信號經過TLC1543轉換為數字信號,以及霍爾傳感器采集的位移數據信號,經過AT89S51處理并從串口經無線發射模塊發送出去。主機的無線接收模塊接收的數據送AT89S51串口,經過處理后用液晶顯示器顯示出來。
關鍵詞:無線通信;單片機;液晶顯示;A/D轉換
中圖分類號:TN311 文獻標識碼:A 文章編號:1009-3044(2009)05-1258-03
Design of a Moving Data Sampling System by Using Wireless Communications
LIU Xiao-jun
(Information Technology Center, Yangcheng Evening News Group, Guangzhou 510085,China)
Abstract: A design of a moving data sampling system basing on wireless communications has been introduced in this paper. The design combines the techniques of wireless communication, sensor and single-chip microcomputer (SCM). SCM is the core of information process and control. For the slave machine, the analogue signals sampled by temperature and humidity sensors have been converted to digital signals by TLC1543, and the displacement signal sampled by Hall sensor has been process by AT89S51 and transmitted by wireless emission module through serial port. The host machine accepted the signals by using the wireless acceptance module which sent the signal to the AT89S51 serial port. The signal was finally displayed on LCD screen.
Key words:Wireless communication, single-chip microcomputer, LCD display, A/D conversion
1 引言
在一些工業現場等存在危險的場所,往往需要采集環境數據。在這種情況下靠人手去采集數據是非常危險的。一般應用遙測技術,在遠距離采集現場的數據,傳到主機處,然后對信息進行處理,顯示、存儲等。對于有多個采集點的場合,一般做法是在各個點都裝備信號采集系統,通過多點對點的通信方式,把數據傳到主機。這種方式在某些場合下不夠靈活,不能隨時隨地的對任意對象進行數據采集。而且,在危險的地方根本連安裝采集系統都非常困難。
本系統針對這些情況,將信息采集系統裝在遙控小車上,實現對現場任意點的數據采集,并且可以實時地顯示走過的距離。信息采集系統把經A/D芯片轉換后的數字信號經無線通信模塊發送到主機處。主機把接收到的數據進行處理后用LCD顯示出來。
2硬件設計
本系統的硬件分為主機和從機兩大部分。從機的功能是數據采集和發射;主機的功能是接收數據、數據處理和數據采集結果顯示。
從機的電路結構見圖1。溫度和濕度等傳感器采集的環境數據經過模擬信號處理后,送到A/D轉換器進行模數轉換,再把轉換后的數字信號送到單片機進行數據處理;同時位移傳感器的數據直接送到單片機進行處理。單片機按照協議把數據整理成一定的幀格式,經串口由無線發射模塊發射出去。
主機的電路結構見圖2。主機的無線接收模塊接收到從機發來的數據后,送到單片機進行數據處理,按照協議還原采集的數據,并調用液晶顯示子程序把結果以一定的形式顯示出來。
2.1 傳感器
2.1.1 溫度、濕度傳感器
本系統最多可以接11路模擬量傳感器。可以針對具體情況加入各種物理量的傳感器,只要使其輸出電壓范圍在0~5V之內,就可以通過A/D轉換與系統連接起來。因此,本系統有很大的可擴展性,可以滿足一般情況下的需要。
本系統采用的溫度和濕度傳感器均為模擬量傳感器,其輸出為比較微弱的電壓信號。為了能經過A/D轉換得到比較精確的結果,必須對傳感器的輸出信號進行放大處理,使它能被A/D轉換器接受并正確地轉換。本系統選用了四運放的LM324作為放大芯片,改變外圍電路元件參數可以使之適合不同的放大系數。電路原理見圖3。
2.1.2 位移傳感器
為了準確地記錄每個位置下對應的采集到的數據,本系統設計了一個位移傳感器。位移量測量方法參照滾輪鼠標光電碼盤的原理,利用兩個相差90度的霍爾傳感器來判斷相位和位移。其輸出是脈沖信號,因此直接跟單片機相連,由軟件來確定相位和位移,不需經過A/D轉換。
位移傳感器原理見圖4。利用輪子的一圈作為一個周期,兩個霍爾傳感器固定在轉軸上(不隨輪子轉動),相差90度。磁鐵固定在輪子上(隨著輪子轉動)。當跟隨著輪子轉動的磁鐵經過固定著的霍爾傳感器的時候,霍爾傳感器輸出一個低電平的跳變,引起單片機中斷。
兩個傳感器H1與H2的相位差為90度。當輪子前滾時,磁鐵M先通過H1,也就是H1超前H2 1/4個周期;當輪子后滾時,磁鐵M先通過H2,也就是H1落后H2 1/4個周期。通過對兩個傳感器相繼引起中斷的時刻的記錄,就可以判斷輪子是前進還是后退。因為以輪子的一圈作為一個周期,因此基本單位為輪子的周長。當輪子前滾一圈時,增加一個周長;當輪子后滾時,減少一個周長。單片機對輪子的圈數進行累加,就可以知道小車的前后位移。
2.2 A/D轉換器
A/D轉換器的選用主要考慮的是轉換精度和轉換速率。在本系統中,希望得到盡可能精確的結果,在轉換速率方面,要求不是很高,選用了10位的11通道A/D轉換器TLC1543較好。它是采用SPI接口的串行A/D轉換器。
TLC1543的引腳如圖5所示。
TLC 1543的工作由CS使能或禁止。工作時CS必須為低,CS被置高時,I/O CLOCK和ADDRESS被禁止以及DATAOUT為高阻狀態。該器件有6種基本的串行接口時序方式,本設計采用了工作方式1的工作時序,這種方式是一種具有10時鐘和CS在轉換周期時無效(高)的快速轉換方式,其他方式請參閱TI公司的數據手冊。
TLC1543與AT89S51的接口電路如圖6所示。只需四個普通I/O口,就可以用軟件完成A/D轉換。
2.3 單片機AT89S51
如圖6所示,AT89S51是一個低功耗,高性能的CMOS 8位單片機,它帶有4KB可以ISP(in-system programmable)在線編程的Flash memory。該器件是應用Atmel公司的高密度非易失性內存技術制造的,兼容80C51的工業標準。片上的Flash memory允許在線反復編程或者使用傳統的非易失性內存編程器。把8位的通用CPU和ISP在線編程Flash集成在一塊芯片上,使AT89S51成為功能強大的單片機,在很多嵌入式控制應用中提供了靈活的和高性價比的解決方案。
AT89S51包含以下資源: 4K字節FLASH存貯器支持在系統編程ISP 1000次擦寫周期;128字節片內RAM;工作電壓4.0V到5.5V;全靜態時鐘0 Hz 到33 MHz;三級程序加密;32個可編程I/O口;2個16位定時/計數器;6個中斷源;全雙工UART;低功耗支持Idle和Power-down模式;Power_down模式支持中斷喚醒;看門狗定時器;雙數據指針;上電復位標志。
AT89S系列的單片機最大的特點是可以ISP在線系統編程,大大簡化了程序調試。與計算機的連接也非常簡單,由MOSI(INPUT), MISO(OUTPUT), SCK(CLOCK IN),加上RST和地線組成。如圖8所示。
另外一個很實用的新功能是AT89S51的片內看門狗。看門狗是由一個14位的計數器和看門狗復位寄存器(WDTRST)SFR組成的。看門狗默認情況下是不啟動的,要使用看門狗的話,只需把01EH和0E1H依次寫入WDTRST就可以使程序從頭開始重新運行,從而避免了系統的崩潰。
2.4 無線通信模塊
無線通信模塊的選用直接決定了系統的穩定性和測量距離。數據傳輸過程中如果有誤碼,就會影響測量速度,令系統不得不丟棄錯誤的數據幀。無線通信模塊的有效的發射接收距離也決定了系統的有效工作距離。
該模塊為單工ASK型。分為發射模塊和接收模塊。發射模塊FST-4的工作電壓:DC3~12V,工作電流:2~30mA,發射/接收距離在理想條件下最大為500m。工作頻率:315MHz;接收模塊SB-JS5的工作電壓:5V,靜態電流≤5mA,接收靈敏度≥-103dbm。它們的特點是小功率,小體積,中距離。經測試,他們的傳輸速率可以達到10kbps。以下是兩個模塊的腳位圖。
在本設計中采用9V層迭式堿性電池(9V580mAH,短路電流可達6A以上)。發射模塊直接用9V供電,以增加發射距離及提高穩定性。接收模塊經7805穩壓后5V供電。
本系統取大約24cm長的軟線作為天線,便于攜帶。本系統采用2.4K的波特率。另一方面,計算機系統(包括單片機)對RF組件都存在一定的電磁干擾,如果處理不當會導致無線傳輸距離變近,甚至不能正常工作。要比較滿意的解決電磁干擾問題,必須從單片機選型、軟件設計、PCB板布線和結構設計等諸多方面著手解決。
2.5 液晶顯示模塊LCD
液晶顯示選用LCM162,與AT89S51連接采用模擬接口方式如圖11所示。
3 軟件設計
單片機的程序控制協調著整個系統的運作,多個部件的運轉也是依靠軟件的驅動,軟件編程在整個設計中占據著很重要的地位。限于篇幅,在這里只給出主機和從機程序的流程圖。軟件結構分為主機和從機部分。其中從機負責數據采集,包括A/D轉換器的驅動子程序,位移測量子程序,串口發送子程序等。主機則主要是串口接收子程序,液晶顯示子程序等。
本系統的軟件設計所采用的編程語言是基于ANSI C 的C51。
4 結果分析
本設計偏重于理念的創新。由于受到資金和時間的限制,性能不可能非常好,但是設計過程中已經考慮到對性能更高要求時的擴展方案。只要采用更好的零部件,同時在設計上稍加修改就能使整體性能得到提高。盡管采用了價格比較低廉的元件,本系統盡量將元件的性能發揮到極致,還是取得了比較滿意的效果。
1)小車的遙控距離。作為信號采集系統從機的物理載體,小車的遙控距離對系統的采集距離起到決定的作用。當各種條件都比較好時,本系統采用的遙控小車的最遠可控制距離為30米左右。當需要更遠距離時,可以用另外的遙控距離更遠的遙控車或者自己制作遙控器。
2)無線收發模塊的數據傳輸距離。據說明書上介紹此模塊的最遠傳輸距離可以達到500米,但是需要的條件很苛刻,在本應用中很難實現。在設計過程中盡量減少了干擾,用比較好的電源和天線,最終測得的通信距離為最少為50米(還沒進行更遠距離的測試)。
3)溫濕度傳感器(結合放大電路)。實驗室里沒有條件去對傳感器作精確的定標。所以,暫時只以室內溫濕度的一段范圍內為標準,基準溫濕度可能不是很準確,需要嚴格的標準時,要用專用設備進行校準。溫度和濕度傳感器的分辨力分別是0.1℃和0.1%,溫度傳感器和濕度傳感器的精度暫時無法準確的測量出來,但是從結果看,精度很高。這個結果對于很多溫濕度計來說,已經很難得,足以滿足很多場合下的要求。另外必須注意,電源的質量對精度的影響很大。
4)位移傳感器。位移傳感器以輪子的周長作為基本單位。輪子的周長為13cm,所以位移傳感器的精度和靈敏度是13cm。輪子必須連續轉動超過一周時,才能測出相應的位移。小車暫時的設計只能分辨前進和后退,小車前進一圈時,位移加13cm,小車后退一圈時,位移減13cm。
5)單片機。因為系統可能要在比較復雜的環境采集數據,因此,單片機作為核心部件,抗干擾能力,保持工作的能力很重要。在本設計中啟用了單片機的看門狗。AT89S51內嵌的看門狗能監測程序是否正常運行。測試結果是當頻繁快速的開關電源,采用劣質電源時,在強干擾環境下,單片機都能迅速復位恢復正常工作。
在軟件設計方面,本次設計用到的編程語言是以C語言為基礎的C51。C語言是一種通用的計算機程序設計語言,既具有一般高級語言的特點,又能直接對計算機的硬件進行操作,表達和運算能力也較強。德國Keil Software公司開發的Keil C51是一種專為8051單片機設計的高效率C語言編譯器,符合ANSI標準,生成的程序代碼運行速度極高,所需要的存儲器空間極小,完全可以和匯編語言相媲美,使用C51編程,可使程序開發的過程加快。
參考文獻:
[1] 楊素行. 模擬電子技術基礎簡明教程. 第2版. 北京:高等教育出版社,1998.
[2] 李春茂(等). 傳感技術. 北京:科學技術文獻出版社,2001. 10.
[3] 潘天紅,陳山. 11通道10位AD轉換器TLC1543及在單片機系統中應用[J]. 微計算機信息.2000,16(5).
[4] Texas Instruments Incorporated. TLC1543C, TLC1543I, TLC1543Q 10-Bit Analog-To-Digital Converters with Serial Control and 11 Analog Inputs. 1998.
[5] Atmel Corporation. AT89S51 8-bit Microcontroller with 4K Bytes In-System Programmable Flash. 2001.