新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于CAN的農(nóng)業(yè)灌溉監(jiān)測(cè)系統(tǒng)設(shè)計(jì)

基于CAN的農(nóng)業(yè)灌溉監(jiān)測(cè)系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2016-12-19 來源:網(wǎng)絡(luò) 收藏
0引言

近年來,隨著經(jīng)濟(jì)社會(huì)的發(fā)展,各地水需求量逐漸增加,水資源供需的矛盾日益顯著。我國水資源利用效率很低,農(nóng)業(yè)灌溉水利設(shè)施建設(shè)落后,水浪費(fèi)現(xiàn)象嚴(yán)重。因此,如何提高農(nóng)業(yè)灌溉水資源的利用率就顯得極其重要。通過測(cè)量灌溉流量的實(shí)時(shí)信息來有效地節(jié)約利用水資源,這就用到了自動(dòng)控制系統(tǒng)。確保系統(tǒng)穩(wěn)定性,降低系統(tǒng)成本的重要環(huán)節(jié)是在自控系統(tǒng)中使用何種通訊方式?;诂F(xiàn)場(chǎng)總線的通訊與控制技術(shù)是目前工業(yè)自動(dòng)控制領(lǐng)域中的主要技術(shù)之一,它具有信息數(shù)字化和控制分散化等技術(shù)優(yōu)點(diǎn),在自動(dòng)控制領(lǐng)域中應(yīng)用日益廣泛?,F(xiàn)場(chǎng)總線技術(shù)的國際先進(jìn)水平已經(jīng)達(dá)到二芯載波電纜控制10Km距離的推廣階段,但我國在大田農(nóng)業(yè)灌溉控制系統(tǒng)應(yīng)用上,基于總線方式的控制技術(shù)還顯得相當(dāng)薄弱[1]。因此,借鑒先進(jìn)的設(shè)計(jì)思想,開發(fā)出具有自主知識(shí)產(chǎn)權(quán)的基于現(xiàn)場(chǎng)總線的灌溉控制系統(tǒng),符合農(nóng)業(yè)現(xiàn)代化對(duì)自動(dòng)化技術(shù)的需求。

本文引用地址:http://butianyuan.cn/article/201612/331330.htm

1系統(tǒng)組成

組成現(xiàn)場(chǎng)網(wǎng)絡(luò),并通過以AT89C51處理器為核心的一個(gè)數(shù)據(jù)轉(zhuǎn)換系統(tǒng)。本系統(tǒng)CAN總線模塊以AT89C51為微處理器,在CAN總線通信接口上,采用了飛利浦公司的SJA1000和TJA1050芯片,SJA1000是獨(dú)立CAN通信控制器,TJA1050為高性能CAN總線收發(fā)器。電路主要由微控制器AT89C51、獨(dú)立CAN通信控制器SJA1000、CAN總線收發(fā)器TJA1050和流量計(jì)四部分所構(gòu)成。微處理器AT89C51負(fù)責(zé)SJA1000的初始化,通過控制SJA1000實(shí)現(xiàn)數(shù)據(jù)的接收和發(fā)送等通信任務(wù)。系統(tǒng)結(jié)構(gòu)原理圖如圖1-1所示:

圖1-1系統(tǒng)結(jié)構(gòu)原理圖

1灌溉系統(tǒng)測(cè)量及數(shù)據(jù)處理

水流量傳感器主要由閥體、水流轉(zhuǎn)子組件和霍爾傳感器組成。它裝在進(jìn)水端,用于檢測(cè)進(jìn)水流量,當(dāng)水通過水流轉(zhuǎn)子組件時(shí),磁性轉(zhuǎn)子轉(zhuǎn)動(dòng)并且轉(zhuǎn)速隨著流量變化而變化,霍爾傳感器輸出相應(yīng)脈沖信號(hào),反饋給控制器,由控制器判斷水流量的大小,進(jìn)行調(diào)控。接線端口有正極、信號(hào)輸出線、負(fù)極。單片機(jī)通過計(jì)算輸出脈沖數(shù),結(jié)合水流量計(jì)的參數(shù)計(jì)算流過的水流量;單片機(jī)I/O與存儲(chǔ)器的接口連接,單片機(jī)將采集后的數(shù)據(jù)經(jīng)處理后可以存放在存儲(chǔ)器中,單片機(jī)的I/O接口與液晶以及上位機(jī)連接,經(jīng)過單片機(jī)采集處理后的數(shù)據(jù)可以進(jìn)行實(shí)時(shí)顯示并上傳至上位機(jī)保存。流量計(jì)的接線方式如圖1-2所示:

圖1-2水流量傳感器接線端口

1.2灌溉系統(tǒng)通信部分的組成

CAN總線器件比較流行的有兩大種:一種是有在片CAN的微控制器。另一種是獨(dú)立的CAN控制器,本設(shè)計(jì)選用PHILIPS公司的SJA1000CAN控制器以及TJA1050總線收發(fā)器,其中TJA1050可以支持110個(gè)CAN節(jié)點(diǎn),SJA1000持CAN2。0A/B規(guī)約。SJA1000用于汽車和一般工業(yè)環(huán)境中的控制器局域網(wǎng)絡(luò)中,它是PHILIPS半導(dǎo)體PCA82C200CAN控制器(BasicCAN)的替代產(chǎn)品。而且,它增加了支持具有很多新特性的CAN2.0B協(xié)議的工作模式[2]。片內(nèi)含信息緩沖、位流處理、位定時(shí)邏輯、接收濾波、錯(cuò)誤管理邏輯等電路,并配置有豐富的功能寄存器??赏瓿蓴?shù)據(jù)成幀、總線填充、錯(cuò)誤檢測(cè)、總線仲裁及錯(cuò)誤界定處理等規(guī)范。SJA1000的數(shù)據(jù)線AD0-AD7連接到單片機(jī)的P0口,/CS與P2.0連接。P2.0為低時(shí),CPU的外部存儲(chǔ)地址可選種SJA1000,CPU通過這些地址可以對(duì)SJA1000進(jìn)行讀/寫操作。SJA1000的ALE,/WR,/RD引腳分別與CPU的相應(yīng)引腳相連。/INT與CPU的INT0相連,CPU通過中斷方式對(duì)SJA1000進(jìn)行訪問.試驗(yàn)中應(yīng)該加強(qiáng)CAN總線節(jié)點(diǎn)的抗干擾的能力,這就要求SJA1000當(dāng)?shù)腞X0,TX0不直接與TJA1050中的RXD,TXD相連,而要通過光藕6N137和TJA1000相接,這樣總線上的各個(gè)節(jié)點(diǎn)之間的電氣隔離就能更好的實(shí)現(xiàn)。不過,應(yīng)該注意的是,這樣光藕部分所應(yīng)用的兩個(gè)電源必須完全電氣隔離,不然的話采用光偶就失去了意義。電源隔離可以采用帶多個(gè)5V隔離輸出開關(guān)電源來實(shí)現(xiàn)[3]。單片機(jī)與SJ1000的連接原理圖如圖1-3所示:

圖1-3SJA1000與單片機(jī)接口設(shè)計(jì)原理圖

TJA1050是控制器區(qū)域網(wǎng)絡(luò)(CAN)協(xié)議控制器和物理總線之間的接口。TJA1050可以為CAN控制器提供差動(dòng)接收性能,為總線提供差動(dòng)發(fā)送性能。能夠?qū)⑤敵鲂盘?hào)CANH和CANL的最佳匹配,能夠?qū)㈦姶泡椛渥兊酶?。TJA1050的CAN總線接口部分采取了抗干擾和安全的一些措施。TJA1000的兩個(gè)引腳CANL,CANH都是用一個(gè)5.1Ω的電阻與CAN總線連通,其中電阻可以起到限流保護(hù)作用,使TJA1000不被過流的損害[4]。在地與CANL,CANH之間并聯(lián)了兩個(gè)30PF的電容,具有防輻射和濾除總線上的高頻干擾的能力。再就是在CANH,CANL與地間可以接入兩個(gè)防雷擊管,當(dāng)?shù)嘏c兩個(gè)各輸入端之間出現(xiàn)瞬變干擾的時(shí)候,防雷擊管的放電可以起到一定的保護(hù)作用[5]。TJA1050設(shè)計(jì)原理圖如圖1-4所示:

圖1-4TJA1050設(shè)計(jì)原理圖

2系統(tǒng)的軟件設(shè)計(jì)

CAN總線的軟件設(shè)計(jì)主要包含三部分:CAN初始化程序、報(bào)文的發(fā)送程序、報(bào)文的接收程序[6]。CAN初始化主要是設(shè)置CAN的通信參數(shù)。需要初始化的CAN控制寄存器有:模式寄存器、時(shí)分寄存器、接收代碼寄存器、屏蔽寄存器、總線定時(shí)寄存器、輸出控制寄存器等。值得注意的是以上寄存器只能在CAN控制器處于復(fù)位狀態(tài)下才可寫訪問[7]。發(fā)送數(shù)據(jù)程序把數(shù)據(jù)存儲(chǔ)區(qū)中待發(fā)送的數(shù)據(jù)取出,組成信息幀,并將主機(jī)的ID地址填入幀頭,將信息幀發(fā)送到CAN控制器的發(fā)送緩沖區(qū)。在接收到主機(jī)的發(fā)送請(qǐng)求后,發(fā)送程序啟動(dòng)發(fā)送命令。信息從CAN控制器發(fā)送到總線是由CAN控制器自動(dòng)完成的。信息從CAN總線到CAN控制器的接收緩沖區(qū)也是由CAN控制器自動(dòng)完成的。接收程序只需從接收緩沖區(qū)讀取信息,并將其存儲(chǔ)在數(shù)據(jù)存儲(chǔ)區(qū)。


上一頁 1 2 3 下一頁

評(píng)論


技術(shù)專區(qū)

關(guān)閉