【正文】
網(wǎng)絡(luò)型溫度傳感設(shè)計(jì)摘 要本文詳細(xì)論述了網(wǎng)絡(luò)型溫度傳感系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)。本設(shè)計(jì)針對(duì)目前我國在應(yīng)用的分布式實(shí)時(shí)測控系統(tǒng)中,多采用的RS485總線組網(wǎng)本身存在的許多局限性。提出了一種低成本并適應(yīng)市場需求的,基于AVR單片機(jī)和CAN現(xiàn)場總線網(wǎng)絡(luò)的網(wǎng)絡(luò)型溫度傳感設(shè)計(jì)方案。本設(shè)計(jì)采用“AD590溫度傳感器+AVR單片機(jī)+CAN的結(jié)構(gòu)” :以ATMEL公司的微控制器ATmega16L作為系統(tǒng)的核心;采用AD590作溫度傳感器,經(jīng)過電流電壓轉(zhuǎn)換電路,將溫度信號(hào)轉(zhuǎn)換為適合AVR單片機(jī)處理的電壓信號(hào);在CAN總線系統(tǒng)節(jié)點(diǎn)的通信接口中,CAN通信控制器采用SJA1000,CAN總線收發(fā)器采用82C250;終端顯示設(shè)備為點(diǎn)陣型液晶顯示器LCD。由此構(gòu)成了完整的網(wǎng)絡(luò)型溫度傳感樣機(jī)。本文將首先介紹系統(tǒng)的總體結(jié)構(gòu),并對(duì)各部分功能模塊的工作原理和實(shí)現(xiàn)進(jìn)行詳細(xì)論述,接著介紹軟件設(shè)計(jì)部分。文章在最后介紹了系統(tǒng)的調(diào)試過程以及測試結(jié)果。關(guān)鍵詞: 網(wǎng)絡(luò)型溫度傳感;AVR單片機(jī);CAN;AD590溫度傳感器;液晶顯示器A Design of Temperature Sensor NetworkAbstractThis thesis describes the design and realization of temperature sensor network. To meet the demand of the market of distributed monitoring and control system design, the network is built based upon the use of AVR microcontroller ATmega16L, AD590 temperature sensor, and CAN bus controller SJA1000 and CAN transceiver 82C250. The reason of employing CAN bus is that CAN bus is better than RS485 bus, which is widely employed in distributed realtime monitoring and control systems in China, in transmitting speed, reliability, and maintenance cost. An ATmega16L chip, produced by the ATMEL Co., is the core of the system, an AD590 chip is able to convert temperature signal to voltage signal which is suitable for the processing of the ATmega16L chip, and SJA1000 and 82C250 chips are used for CAN bus munication, in addition, a dotmatrix LCD is employed for output displaying.The whole structure of this temperature sensor network is given in the beginning of this thesis, then the hardware development are described in detail. In succession, the thesis introduces the software design of the whole network, particularly in the software for the ATmega16L and SJA1000 chips. Finally, the results of the network test are showedKeywords: CAN bus。 AVR microcontroller。 AD590 temperature sensor。 LCD目錄1 前言 1 網(wǎng)絡(luò)型溫度傳感簡介 1 本課題研究的目的和意義 2 國內(nèi)研究概況 3 本課題主要研究內(nèi)容和要求 32 網(wǎng)絡(luò)型溫度傳感的系統(tǒng)設(shè)計(jì) 4 網(wǎng)絡(luò)型溫度傳感的系統(tǒng)結(jié)構(gòu) 4 系統(tǒng)選用的主要器件介紹 5 微控制器ATmega16 5 集成溫度傳感器AD590 7 CAN獨(dú)立控制器SJA1000 8 CAN總線收發(fā)器82C250 12 漢字圖形點(diǎn)陣型液晶顯示器QC12864B 143 網(wǎng)絡(luò)型溫度傳感各模塊的硬件設(shè)計(jì) 18 18 19 ATmega16主控模塊 20 ATmega16從機(jī)模塊 21 CAN節(jié)點(diǎn)通信接口模塊 224 軟件設(shè)計(jì)和實(shí)現(xiàn) 24 主機(jī)主體軟件的設(shè)計(jì) 24 從機(jī)主體軟件的設(shè)計(jì) 26 ADC軟件的設(shè)計(jì) 28 LCM模塊軟件的設(shè)計(jì) 32 SJA1000軟件的設(shè)計(jì) 355 實(shí)物制作 39 電源模塊的制作 39 電源模塊的原理圖 39 電源模塊的PCB 39 電源模塊的實(shí)物圖 40 信號(hào)采集與轉(zhuǎn)換模塊的制作 42 42 42 43 主機(jī)模塊的制作 44 44 44 45 從機(jī)模塊的制作 46 46 46 476 系統(tǒng)的調(diào)試和測試 48 硬件調(diào)試 48 電源模塊的調(diào)試 48 LCM模塊的調(diào)試 48 信號(hào)采集與轉(zhuǎn)換模塊的調(diào)試 48 硬件調(diào)試總結(jié) 49 系統(tǒng)測試 49 系統(tǒng)測試環(huán)境 49 系統(tǒng)測試結(jié)果 507 總結(jié)與展望 52 設(shè)計(jì)總結(jié) 52 設(shè)計(jì)存在的不足及展望 52參考文獻(xiàn) 53致謝 54附錄一 SJA1000通信程序代碼節(jié)選 551 前言 網(wǎng)絡(luò)型溫度傳感簡介網(wǎng)絡(luò)型溫度傳感系統(tǒng)能方便可靠地實(shí)現(xiàn)溫度遠(yuǎn)程監(jiān)視和控制??傮w結(jié)構(gòu)可概括為:AD590溫度傳感器 + AVR單片機(jī) + CAN獨(dú)立控制器SJA1000 + CAN總線收發(fā)器PCA82C按功能模塊分析,它主要由信號(hào)采集與轉(zhuǎn)換電路、AVR單片機(jī)控制模塊、CAN網(wǎng)絡(luò)節(jié)點(diǎn)通信接口模塊、液晶顯示模塊、電源模塊等部分組成。此外系統(tǒng)又可歸為從站和主站兩個(gè)大的功能模塊:(1) 從站模塊。溫度傳感器采集被測的溫度數(shù)據(jù),獲得的電流值經(jīng)過前端處理電路的放大器放大后,轉(zhuǎn)換為適合AVR單片機(jī)處理的電壓信號(hào)并進(jìn)行AD轉(zhuǎn)換,一個(gè)從站模塊可以同時(shí)采集8路溫度傳感器的信號(hào)。AVR單片機(jī)通過查詢發(fā)送緩沖區(qū)的方式啟動(dòng)CAN發(fā)送功能,以報(bào)文的形式向主機(jī)發(fā)送數(shù)據(jù),因此通過CAN總線實(shí)現(xiàn)與主機(jī)的實(shí)時(shí)通信功能。(2) 主站模塊。本模塊中AVR單片機(jī)對(duì)CAN總線的報(bào)文接收采用中斷方式,此中斷為外部中斷INT0。先將接收到的報(bào)文從SJA1000中讀出并存入CPU臨時(shí)接收緩沖區(qū),然后微控制器對(duì)數(shù)據(jù)進(jìn)行分析和處理,并將溫度等狀態(tài)實(shí)時(shí)地在液晶顯示器上更新顯示。 綜上分析,主、從站的系統(tǒng)框圖分別如圖11和圖12所示,圖13是主從站的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),其結(jié)構(gòu)是總線型結(jié)構(gòu),這也是CAN總線的特點(diǎn):圖11 從站的系統(tǒng)原理框圖圖12 主站的系統(tǒng)原理框圖圖13 主從站網(wǎng)絡(luò)拓?fù)?本課題研究的目的和意義溫度檢測在工業(yè)界和日常生活中有著非常廣泛的應(yīng)用,是很多大型精密儀器系統(tǒng)最基本也是最重要的一種檢測,例如這個(gè)系統(tǒng)可以作為生物培養(yǎng)液溫度監(jiān)控系統(tǒng),如果稍微改裝可以做熱水器溫度調(diào)節(jié)系統(tǒng)、實(shí)驗(yàn)室環(huán)境溫度監(jiān)控系統(tǒng)等等。傳感器能將各種物理量、化學(xué)量和生物量等信號(hào)轉(zhuǎn)變?yōu)殡娦盘?hào),使得人們可以利用MCU或計(jì)算機(jī)實(shí)現(xiàn)自動(dòng)測量、信息處理和自動(dòng)控制。另外,在實(shí)際的應(yīng)用中往往需要對(duì)遠(yuǎn)距離的溫度信號(hào)進(jìn)行監(jiān)視。用單片機(jī)作為MCU,并設(shè)計(jì)通信網(wǎng)絡(luò)與現(xiàn)場溫度傳感器進(jìn)行數(shù)據(jù)通信,完全可以用低的成本來實(shí)現(xiàn)遠(yuǎn)程溫度監(jiān)測。因此網(wǎng)絡(luò)型溫度傳感設(shè)計(jì)應(yīng)用性比較強(qiáng),基于AVR單片機(jī)和CAN總線網(wǎng)絡(luò)的網(wǎng)絡(luò)型溫度傳感設(shè)計(jì)。為工業(yè)領(lǐng)域應(yīng)用中溫度的遠(yuǎn)程監(jiān)控提供一種低成本、可靠性強(qiáng)、穩(wěn)定和精度相對(duì)較高的方案。數(shù)字化、網(wǎng)絡(luò)化、智能化代表著現(xiàn)代檢測技術(shù)的發(fā)展方向。 國內(nèi)研究概況目前,在我國應(yīng)用的分布式實(shí)時(shí)測控系統(tǒng)中,多采用RS 485半雙工、全雙工異步通信總線組網(wǎng)。但是由于RS 485總線本身存在的許多局限性,隨著科技的發(fā)展,RS 485的總線效率低、系統(tǒng)的實(shí)時(shí)性差、通訊的可靠性低、后期維護(hù)成本高、網(wǎng)絡(luò)工程調(diào)試復(fù)雜、傳輸距離不理想( km)、單總線可掛接的節(jié)點(diǎn)少、應(yīng)用不靈活等先天性缺點(diǎn)慢慢的暴露出來。而CAN總線在通信能力、可靠性、實(shí)時(shí)性、靈活性、易用性、傳輸距離遠(yuǎn)、成本低等方面有著明顯的優(yōu)勢,以CAN總線代替RS 485構(gòu)建分布測控系統(tǒng)將是許多廠礦企業(yè)的首選。“AVR單片機(jī)+CAN”,目前國內(nèi)這種應(yīng)用的例子為數(shù)并不多,從而使其更具有一定的研究價(jià)值。將二者優(yōu)勢互相結(jié)合,共同組成一個(gè)數(shù)據(jù)采集準(zhǔn)確、通訊穩(wěn)定可靠的工業(yè)監(jiān)測系統(tǒng),在工業(yè)測量和控制領(lǐng)域?qū)⒕哂袕V闊的應(yīng)用前景。 本課題主要研究內(nèi)容和要求本課題的研究內(nèi)容:1)信號(hào)采集和轉(zhuǎn)換電路設(shè)計(jì);2)電源模塊的設(shè)計(jì);3)從機(jī)單元和CAN網(wǎng)絡(luò)接口設(shè)計(jì);4)主控單元及CAN總線接口設(shè)計(jì);5)采集數(shù)據(jù)的處理與顯示;6)編寫系統(tǒng)軟件。本次設(shè)計(jì)的網(wǎng)絡(luò)型溫度傳感主要的技術(shù)特性指標(biāo)如下:1) AD通道數(shù):8通道,硬件部分只演示其中一路的數(shù)據(jù)采集;2) 環(huán)境溫度和轉(zhuǎn)換后電壓值的關(guān)系式: (TT0)=KU (11)K=20℃/mv,T為環(huán)境溫度,T0為測溫下限,U為放大電路轉(zhuǎn)換后的電壓值;3) 溫度采樣頻率:500Hz(每2ms啟動(dòng)一次AD轉(zhuǎn)換);4) CAN通信協(xié)議規(guī)范:CAN ;5) 顯示:12864點(diǎn)陣LCD。2 網(wǎng)絡(luò)型溫度傳感的系統(tǒng)設(shè)計(jì)本章主要介紹了網(wǎng)絡(luò)型溫度傳感的總體方案設(shè)計(jì),系統(tǒng)組成以及各模塊的一些基本狀況。從而讓讀者對(duì)本系統(tǒng)有個(gè)整體的認(rèn)識(shí)。在章節(jié)的結(jié)尾,還將對(duì)系統(tǒng)主要器件的選型理由,以及器件的基本特征做簡單的介紹。 網(wǎng)絡(luò)型溫度傳感的系統(tǒng)結(jié)構(gòu)系統(tǒng)的總的結(jié)構(gòu)框圖如圖21所示,本設(shè)計(jì)中的網(wǎng)絡(luò)型溫度傳感系統(tǒng)采用了“AD590+AVR單片機(jī)+SJA1000+PCA82C250”結(jié)構(gòu),大大簡化了硬件電路,充分利用了AD590精度高、MCU控制能力強(qiáng)和CAN網(wǎng)絡(luò)實(shí)時(shí)可靠的特點(diǎn),使得系統(tǒng)功能得到充分體現(xiàn)。 電源從機(jī)MCU信號(hào)采集AD590電流信號(hào)電壓信號(hào)晶振CAN接口數(shù)據(jù)、地址復(fù)用控制主機(jī)MCU晶振CAN接口數(shù)據(jù)、地址復(fù)用控制CANHCANL一些外圍電路LCD12864CANHCANL數(shù)據(jù)、地址復(fù)用一些外圍電路圖21 系統(tǒng)總結(jié)構(gòu)框圖 系統(tǒng)選用的主要器件介紹 微控制器ATmega16考慮到本系統(tǒng)對(duì)信號(hào)處理功能要求不高,基于實(shí)用原則所以決定使用ATmega16作為本系統(tǒng)的核心控制器。ATmega16是基于增強(qiáng)的AVR RISC結(jié)構(gòu)的低功耗8位CMOS微控制器。由于其先進(jìn)的指令集以及單時(shí)鐘周期指令執(zhí)行時(shí)間,ATmega16的數(shù)據(jù)吞吐率高達(dá)1 MIPS/MHz,從而可以緩減系統(tǒng)在功耗和處理速度之間的矛盾。 ATmega16 AVR 內(nèi)核具有豐富的指令集和32個(gè)通用工作寄存器。所有的寄存器都直接與算邏單元(ALU)相連接,使得一條指令可以在一個(gè)時(shí)鐘周期內(nèi)同時(shí)訪問兩個(gè)獨(dú)立的寄存器。這種結(jié)構(gòu)大大提高了代碼效率,并且具有比普通的CISC 微控制器最高至10倍的數(shù)據(jù)吞吐率。(1) ATmega16產(chǎn)品特性:1)高性能、低功耗的8位AVR微處理器;2)先進(jìn)的RISC結(jié)構(gòu);3)131條指令;4)大多數(shù)指令執(zhí)行時(shí)間為單個(gè)時(shí)鐘周期;5)32個(gè)8位通用工作寄存器;6)全靜態(tài)工作;7)工作于16MHz時(shí)性能高達(dá)16MIPS;8)只需兩個(gè)時(shí)鐘周期的硬件乘法器;9)非易失性程序和數(shù)據(jù)存儲(chǔ)器;10)16K字節(jié)的系統(tǒng)內(nèi)可編程Flash,擦寫壽命: 10,000次;11)具有獨(dú)立鎖定位的可選Boot代碼區(qū),通過片上Boot程序?qū)崿F(xiàn)系統(tǒng)內(nèi)編程,真正的同時(shí)讀寫操作;12)512 字節(jié)的EEPROM,擦寫壽命: 100,000次;13)1K字節(jié)的片內(nèi)SRAM;14)可以對(duì)鎖定位進(jìn)行編程以實(shí)現(xiàn)用戶程序的加密;15)JTAG 接口(與IEEE );16)符合JTAG標(biāo)準(zhǔn)的邊界掃描功能;17)支持?jǐn)U展的片內(nèi)調(diào)試功能;18)通過JTAG接口實(shí)現(xiàn)對(duì)Flash、EEPROM、熔絲位和鎖定位的編程。(2) 外設(shè)特點(diǎn):1)兩個(gè)具有獨(dú)立預(yù)分頻器和比較器功能的8位定時(shí)器/計(jì)數(shù)器;2)一個(gè)具有預(yù)分頻器、比較功能和捕捉功能的16位定時(shí)器/計(jì)數(shù)器;3)具有獨(dú)立振蕩器的實(shí)時(shí)計(jì)數(shù)器RTC;4)四通道PWM;5)8路10位ADC,8個(gè)單端通道,2個(gè)具有可編程增益(1x, 10x, 或200x)的差分通道;6)面向字節(jié)的兩線接口;7)兩個(gè)可編程的串行USART;8)可工作于主機(jī)/從機(jī)模式的SPI串行接口;9)具有獨(dú)立片內(nèi)振蕩器的可編程看門狗定時(shí)器;10)片內(nèi)模擬比較器。(3) 特殊的處理器特點(diǎn):1)上電復(fù)位以及可編程的掉電檢測;2)片內(nèi)經(jīng)過標(biāo)定的RC振蕩器;3)片內(nèi)/片外中斷源。(4) 6種睡眠模式: 空閑模式、ADC噪聲抑制模式、省電模式、掉電模式、Standby模式以及擴(kuò)展的Standby模式。(5) I/O和封裝32個(gè)可編程的I/O口;40引腳PDIP封裝,