



引言
隨著科技的不斷發(fā)展,信息化建設(shè)的步伐越來越快,控制系統(tǒng)向智能控制系統(tǒng)發(fā)展已成為一種趨勢。本文設(shè)計(jì)了一套基于MSP430單片機(jī)的智能監(jiān)控系統(tǒng),該系統(tǒng)通過單片機(jī)采集多路傳感器信息,并通過相應(yīng)數(shù)據(jù)通路將信息發(fā)送到主控平臺,同時(shí)主控平臺通過對采集到的信息進(jìn)行判斷,自動通過CAN總線將控制信息發(fā)送到各個(gè)節(jié)點(diǎn),單片機(jī)通過無線收發(fā)芯片接收控制信息,并驅(qū)動電動機(jī)實(shí)現(xiàn)相關(guān)控制。
工作原理
原理簡介
本系統(tǒng)是使用MSP430單片機(jī)為核心的多傳感器智能監(jiān)控系統(tǒng),圖1為系統(tǒng)框圖。單個(gè)節(jié)點(diǎn)的控制和數(shù)據(jù)傳輸,使用MSP430單片機(jī)為核心。各節(jié)點(diǎn)由角度傳感器、溫濕度傳感器和風(fēng)速傳感器采集數(shù)據(jù)信息,數(shù)據(jù)通過由CC1020無線收發(fā)模塊和CAN通訊模塊組成的數(shù)據(jù)采集模塊傳輸主控單片機(jī),主控單片機(jī)通過以太網(wǎng)通信模塊將信息傳送到上位機(jī):上位機(jī)進(jìn)行數(shù)據(jù)處理和統(tǒng)一調(diào)度后通過數(shù)據(jù)通路反饋控制信息,各節(jié)點(diǎn)的單片機(jī)接收到相應(yīng)命令后,通過控制步進(jìn)式直流電動機(jī)實(shí)現(xiàn)相關(guān)操作。
系統(tǒng)結(jié)構(gòu)
系統(tǒng)硬件設(shè)計(jì)
傳感器選擇
(1)角度傳感器SCA60C
角度傳感器SCA60C僅可精確檢測到0~90度的角度范圍,在0~90度的傾角范圍內(nèi),傳感器輸出的是正比于傾角大小的+0.5~+5V的模擬電壓信號。
(2)溫濕度傳感器DHT21
DHT21數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器。傳感器包括一個(gè)電容式感濕元件和一個(gè)NTC測溫元件,并與一個(gè)高性能8位單片機(jī)相連。單DATA管腳用于微處理器和AM2301之間的通訊和同步,采用單總線數(shù)據(jù)格式,當(dāng)前數(shù)據(jù)傳輸為40位,16位濕度數(shù)據(jù)、16位溫度數(shù)據(jù)和8位校驗(yàn)和。
(3)風(fēng)速傳感器:WFS-1-1風(fēng)速傳感器
WFS-1-1風(fēng)速傳感器的風(fēng)杯及風(fēng)標(biāo)由高耐候性、高強(qiáng)度工程塑料制造,傳感器殼體使用ABS工程塑料成形,上下殼體由橡膠0型圈密封。內(nèi)部電路均經(jīng)過噴涂三防漆處理,整個(gè)風(fēng)速傳感器具有很好的耐惡劣環(huán)境的適應(yīng)性。該傳感器的測量范圍為0~60m/s,分辨率為0.1m/s,信號輸出為脈沖信號。
各傳感器的接口電路見圖2。
系統(tǒng)的中央處理器部分
MSP430系列單片機(jī)是一個(gè)16位的單片機(jī),采用了精簡指令集(RISC)結(jié)構(gòu),具有豐富的尋址方式(7種源操作數(shù)尋址、4種目的操作數(shù)尋址)、簡潔的27條內(nèi)核指令以及大量的模擬指令:大量的寄存器以及片內(nèi)數(shù)據(jù)存儲器都可參加多種運(yùn)算:還有高效的查表處理指令:有較高的處理速度,在8MHz晶體驅(qū)動下指令周期為125ns。這些特點(diǎn)保證了可編制出高效率的源程序。
CAN通訊模塊
CAN通訊模塊的硬件電路連接如圖3所示。CAN控制器SJA1000支持兩種與單片機(jī)的連接模式,本設(shè)計(jì)中選擇的是Intel模式。SJA1000的讀寫信號直接和單片機(jī)的讀寫信號連接,復(fù)位信號由單片機(jī)的I/O口控制,以便實(shí)現(xiàn)軟件復(fù)位SJA1000芯片。芯片的中斷管腳連接單片機(jī)的外部中斷,當(dāng)收到一包數(shù)據(jù)后,通知CPU。82C250為CAN收發(fā)器,是CAN控制器和物理總線間的接口,提供對總線的差動發(fā)送能力和對CAN控制器的差動接收能力。CANH和CANL管腳增加阻容電路,濾除總線上的干擾,提高系統(tǒng)穩(wěn)定性。
無線模塊部分
CC1020通過簡單的四串行sPI接口進(jìn)行編程。有8位的結(jié)構(gòu)配置寄存器。每一位寄存器的地址是7位,l位作為讀/寫位,初始化讀或?qū)懙牟僮鳌C1020一次完整的配置,要求發(fā)送33個(gè)數(shù)據(jù)幀,每幀16位(Address 7位,R/W1位,Data 8位)。將CC1020設(shè)為低功耗模式,只需發(fā)送一幀數(shù)據(jù),因此所需的時(shí)間不到2ms。
CC1020的外圍電路如圖4所示。PDO與微控制器的一個(gè)輸入端連接。PDI、PCLK和EIPSEL連接到微控制器的輸出端。當(dāng)PSEL引腳端無效(保持高電平)時(shí)(PSEL引腳端低電平有效),PCLK、PDI和PDO是高阻抗輸入狀態(tài)。PSEL有一個(gè)內(nèi)部上拉電阻,在低功耗模式時(shí)必須斷開(由微控制器三態(tài)控制),或者設(shè)為高電平,以阻止電流流入上拉電阻。微控制器的一個(gè)雙向引腳與CC1020的DIO連接,用于數(shù)據(jù)的發(fā)射與接收(輸入與輸出)。DCLK提供數(shù)據(jù)定時(shí),必須連接到微控制器的一個(gè)輸入端。數(shù)據(jù)輸出可以選擇使用單獨(dú)的引腳。這時(shí)要設(shè)置CC1020的INTERFACE寄存器SEPDI DO=1。在同步模式下,LOCK引腳用作數(shù)據(jù)輸出,而DCLK引腳作為異步模式的數(shù)據(jù)輸出,DIO引腳端則只用于數(shù)據(jù)輸入。
以太網(wǎng)通信電路
以太網(wǎng)模塊的硬件電路連接如圖5所示。ENC28J60是帶有行業(yè)標(biāo)準(zhǔn)串行外設(shè)接口的獨(dú)立以太網(wǎng)控制器,主要由七個(gè)主要功能模塊組成:SPI接口,控制寄存器、雙端口RAM緩沖器、判優(yōu)器、總線接口、MAC模塊和物理層模塊。它與主控制器的通信通過兩個(gè)中斷管腳和SPI實(shí)現(xiàn),數(shù)據(jù)傳輸速率可達(dá)10Mb/s。兩個(gè)專用的引腳用于連接LED,進(jìn)行網(wǎng)絡(luò)通信狀態(tài)指示。ENC28J60與網(wǎng)絡(luò)介質(zhì)的連接由20F001N為網(wǎng)絡(luò)隔離變壓器,它的作用是實(shí)現(xiàn)ENC2810160與網(wǎng)絡(luò)介質(zhì)的連接,并抑制雙絞線上的各類干擾,提高網(wǎng)絡(luò)通信的穩(wěn)定性。TPIN+、TPIN-、TPOUT+、TPOUT-與ENC28J60的輸入輸出引腳相連。TPTX+、TPTX-、TPRX+、TPRX-通過以太網(wǎng)接口連接上位機(jī),從而連入以太網(wǎng)。
步進(jìn)電機(jī)驅(qū)動電路
步進(jìn)電機(jī)選擇4相5線步進(jìn)電機(jī),如圖6所示,其驅(qū)動電路主要由L297+L298組成,該驅(qū)動電路集驅(qū)動與保護(hù)于一體。L297是脈沖分配器,只要步進(jìn)電機(jī)A、B、C、D四項(xiàng)依次連接到J1的1、2、3、4各點(diǎn),且將剩下的一條線接地,L297就會自動的將輸入到端口CW/CCW的脈沖分配給步進(jìn)電機(jī)的各個(gè)相序,此時(shí)步進(jìn)電機(jī)便可轉(zhuǎn)動。本設(shè)計(jì)中單片機(jī)通過輸出DIR和PULSE兩個(gè)信號,從而控制驅(qū)動電路使步進(jìn)電機(jī)轉(zhuǎn)動。
系統(tǒng)軟件設(shè)計(jì)
整個(gè)系統(tǒng)分為三個(gè)單元,各單元的流程圖分別如7~9所示。節(jié)點(diǎn)采集單元初始化完成后,首先判斷有無收據(jù)傳輸單元發(fā)來的命令,如果有則控制電機(jī)轉(zhuǎn)動(正轉(zhuǎn)或者反轉(zhuǎn));如果沒有則開始采集各傳感器信息,處理后打包通過無線模塊發(fā)送至數(shù)據(jù)傳輸單元,發(fā)送完畢后繼續(xù)判斷有無收據(jù)傳輸單元發(fā)來的命令,依次循環(huán)。數(shù)據(jù)傳輸單元在完成對CPU、無線模塊和CAN通信模塊的初始化后,首先判斷是否收到主控機(jī)的控制命令,如果有則將此命令發(fā)送至節(jié)點(diǎn)采集單元,如果沒有則判斷是否有節(jié)點(diǎn)采集單元發(fā)送來的傳感器數(shù)據(jù)信息。若有則接收數(shù)據(jù),并通過CAN模塊發(fā)送至主控單片機(jī),發(fā)送完畢后返回繼續(xù)判斷是否收到主控機(jī)的控制命令:若沒有則同樣返回繼續(xù)判斷是否收到主控機(jī)的控制命令。主控單元在CPU、CAN模塊和以太網(wǎng)模塊初始化完成之后,先判斷是否收到上位機(jī)命令,收到則通過CAN模塊發(fā)送至數(shù)據(jù)傳輸單元:若沒有收到則判斷是否收到數(shù)據(jù)傳輸單元發(fā)送來的數(shù)據(jù),如果有則通過CAN模塊接收數(shù)據(jù),并通過以太網(wǎng)模塊發(fā)送至上位機(jī),然后返回繼續(xù)判斷是否收到上位機(jī)命令;若沒有數(shù)據(jù),同樣返回開始下一個(gè)循環(huán)。
總結(jié)
本文設(shè)計(jì)了一種基于MSP430單片機(jī)的多傳感器智能監(jiān)控系統(tǒng)。該智能監(jiān)控系統(tǒng)具有穩(wěn)定、人性化等優(yōu)點(diǎn)。CAN總線通信速率高、差錯(cuò)能力強(qiáng),可支持多點(diǎn)采集,最多可支持110個(gè)節(jié)點(diǎn):無線模塊能減少數(shù)據(jù)采集單元的布線:以太網(wǎng)模塊可將相關(guān)數(shù)據(jù)采集到網(wǎng)絡(luò)服務(wù)器上,可實(shí)現(xiàn)遠(yuǎn)程監(jiān)控。該系統(tǒng)可應(yīng)用于工業(yè)和生活的很多方面,具有一定的市場前景。