0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于ATMEG128L-8AI處理器和RS-485總線實(shí)現(xiàn)多路溫度測(cè)試系統(tǒng)的設(shè)計(jì)

電子設(shè)計(jì) ? 來源:電子產(chǎn)品世界 ? 作者:郭慶亮 ? 2020-10-25 09:58 ? 次閱讀

引言

在孵化設(shè)備的科研過程中,常常用多路溫度測(cè)試儀來對(duì)孵化機(jī)器內(nèi)部的溫度場(chǎng)進(jìn)行測(cè)量,而我們以前用的多路溫度測(cè)試儀是用兩片16選1的模擬開關(guān)來完成對(duì)32路溫度的測(cè)量, 溫度的采樣時(shí)間受模擬開關(guān)開通關(guān)斷時(shí)間的限制,開關(guān)信號(hào)對(duì)溫度采樣也造成了一定的干擾。在實(shí)際使用過程中還常受到溫度采樣路數(shù)(如8路、20路、64路、 70路,128路等)的限制,為能更靈活的應(yīng)用該多路溫度測(cè)試儀,我們采用了主從機(jī)RS-485通訊的模式來完成多路溫度的測(cè)量。每個(gè)從機(jī)采樣8路溫度并作為一個(gè)模塊,每個(gè)從機(jī)有獨(dú)立的地址,這樣我們就可以在主機(jī)通訊負(fù)載能力范圍內(nèi)靈活的配置從機(jī)模塊的數(shù)量,并且能提高溫度采集的及時(shí)性和準(zhǔn)確性,為科研實(shí)驗(yàn)提供便利工具。

硬件設(shè)計(jì)

總線式主從機(jī)結(jié)構(gòu)框圖如圖1。

基于ATMEG128L-8AI處理器和RS-485總線實(shí)現(xiàn)多路溫度測(cè)試系統(tǒng)的設(shè)計(jì)

主機(jī)我們采用Atmel公司的高性能8位處理器ATMEG128L-8AI,該芯片具有128k的ISP-FLASH、4k的EEPROM、4k的 SRAM,該芯片容量大、可重復(fù)在系統(tǒng)編程、指令豐富并且執(zhí)行速度快。

主機(jī)主要完成以下功能:從機(jī)地址識(shí)別、與從機(jī)的通訊、實(shí)時(shí)溫度顯示、按鍵處理、溫度軟校準(zhǔn)以及從機(jī)擴(kuò)張選擇,主機(jī)功能框圖如圖2。實(shí)時(shí)溫度顯示采用19264單色點(diǎn)陣液晶,該液晶沒有背光時(shí)仍能正常查看,只是為了在夜間查看,我們?cè)黾恿艘壕П彻夤δ堋囟溶浶?zhǔn)功能是為了保證多路溫度測(cè)量的準(zhǔn)確性,消除系統(tǒng)誤差。在實(shí)際測(cè)量過程中,很難保證用來測(cè)量的不同的溫度探頭的一致性,電路結(jié)構(gòu)、探頭線長(zhǎng)度、以及每個(gè)溫度傳感元件本身的不一致性都最終影響溫度測(cè)量的準(zhǔn)確性。為了方便校準(zhǔn),我們可利用軟件對(duì)單個(gè)溫度探頭或全部溫度探頭進(jìn)行軟件校準(zhǔn)。這樣盡量減小各個(gè)溫度探頭的不一致而帶來的測(cè)量差值。為保證主機(jī)的可靠工作,在電路中還增加了處理器監(jiān)控芯片MAX706,用來監(jiān)控電源電壓和系統(tǒng)是否正常工作,否則發(fā)出復(fù)位信號(hào)使系統(tǒng)恢復(fù)正常。從機(jī)擴(kuò)展功能主要是用來選擇從機(jī)模塊的數(shù)量,如果從機(jī)數(shù)量為1,則在該功能選項(xiàng)中選擇“1路采樣模塊”,依次類推,考慮到實(shí)際應(yīng)用過程中對(duì)溫度探頭數(shù)量的要求,本系統(tǒng)中最大的從機(jī)模塊配置數(shù)量為8,也就是最多可以測(cè)量64路溫度信號(hào)。

主機(jī)的按鍵是行列線組成的2輸入4輸出結(jié)構(gòu)形式,采用定時(shí)掃描,利用MCU內(nèi)部的定時(shí)器產(chǎn)生10ms定時(shí)中斷,CPU響應(yīng)中斷時(shí)對(duì)鍵盤進(jìn)行掃描,并在有鍵按下時(shí)識(shí)別出該鍵并執(zhí)行相應(yīng)的鍵功能程序。

從機(jī)采用Atmel公司的ATMEG16L-8AI作為處理器,該芯片具有16k的ISP-FLASH、512B的EEPROM、1k的SRAM,該芯片同樣可以在系統(tǒng)編程,該芯片具有8路10位A/D轉(zhuǎn)換器,當(dāng)采樣的基準(zhǔn)電壓為5V時(shí),系統(tǒng)的采樣精度可達(dá)到5毫伏每字,即基準(zhǔn)電壓變化5毫伏,采樣的數(shù)字量變化1個(gè)字。

從機(jī)模塊主要完成8路溫度采樣、與主機(jī)的通訊、硬件地址編碼,從機(jī)功能框圖如圖3。每個(gè)從機(jī)模塊有個(gè)地址編碼跳線器,由硬件完成對(duì)該模塊的地址編碼。這樣在擴(kuò)張時(shí),將每個(gè)模塊的地址唯一確定,不會(huì)由于通訊地址的重復(fù)造成通訊的不成功。我們采用的RS-485芯片最多可以負(fù)載32個(gè)從機(jī)模塊,RS-485芯片采用Maxim公司的MAX483CPA。不同的RS-485芯片,其負(fù)載能力不同,有的RS-485芯片如MAX487可以帶120個(gè)負(fù)載,MAX1487能夠?qū)⒇?fù)載數(shù)量擴(kuò)大到230個(gè)。

RS-485串行通訊

在工程實(shí)踐當(dāng)中,多點(diǎn)數(shù)據(jù)采集系統(tǒng)的網(wǎng)絡(luò)拓?fù)湟话悴捎每偩€方式,傳送數(shù)據(jù)采用主從機(jī)結(jié)構(gòu)的方法。

RS-485采用平衡發(fā)送和差分接收方式來實(shí)現(xiàn)通信:在發(fā)送端TXD將串行口的TTL電平信號(hào)轉(zhuǎn)換成差分信號(hào)A、B兩路輸出,經(jīng)傳輸后在接收端將差分信號(hào)還原成TTL電平信號(hào)。兩條傳輸線通常使用雙絞線,又是差分傳輸,因此有極強(qiáng)的抗共模干擾的能力,接收靈敏度也相當(dāng)高。同時(shí),最大傳輸速率和最大傳輸距離也大大提高。如果以10kb/s速率傳輸數(shù)據(jù)時(shí)傳輸距離可達(dá)12m,而用100kb/s時(shí)傳輸距離可達(dá)1.2km。如果降低波特率,傳輸距離還可進(jìn)一步提高。本系統(tǒng)的波特率設(shè)置為2400b/s。

圖1就是用RS-485構(gòu)成的總線型網(wǎng)絡(luò)系統(tǒng),采用主從方式進(jìn)行多機(jī)通信。主機(jī)采用8位微處理器ATMEG128L,從機(jī)采用ATMEG16L。每個(gè)從機(jī)通過地址編碼擁有自己固定的地址,由主機(jī)控制完成網(wǎng)上的每一次通信。圖4是MAX485和微處理器的接口電路,A、B為RS-485總線接口,D是發(fā)送端,R為接收端,分別與單片機(jī)串行口的TXD、RXD連接,由于采用半雙工通訊,所以還有收發(fā)控制端,MAX485的RE、DE為收發(fā)使能端,由微處理器的 PE4(主機(jī))、PC5(從機(jī))口作為收發(fā)控制。該控制口高電平時(shí),MAX485處于發(fā)送狀態(tài),將微處理器TXD處的數(shù)據(jù)經(jīng)A、B差分送出到RS-485的總線上;當(dāng)該控制口為低電平時(shí),MAX485處于接受狀態(tài),將RS-485總線上的差分信號(hào)轉(zhuǎn)換成TTL電平的信號(hào)由R端輸出到微處理器的RXD端。當(dāng)總線上沒有信號(hào)傳輸時(shí),總線處于懸浮狀態(tài),容易受干擾信號(hào)的影響。應(yīng)將總線上差分信號(hào)的正端A+和+5V電源間接一個(gè)10KW電阻;正端A+和負(fù)端B-間接一個(gè)10KW電阻;負(fù)端B-和地間接一個(gè)10KW電阻,形成一個(gè)電阻網(wǎng)絡(luò)。當(dāng)總線上沒有信號(hào)傳輸時(shí),正端A+的電平大約為3.2V,負(fù)端B-的電平大約為1.6V,即使有干擾信號(hào),卻很難產(chǎn)生串行通信的起始信號(hào)0,從而增加了總線抗干擾的能力。

本系統(tǒng)對(duì)RS-485串行通訊的應(yīng)用電路中,在A和B端預(yù)留了上拉電阻、和AB之間的匹配電阻,但實(shí)際使用過程中,由于通訊距離很短(10m以內(nèi)),所以匹配電阻并沒有焊上,而是在MAX485和微處理器的TXD和RXD接口處增加了兩個(gè)10KΩ的上拉電阻。用示波器測(cè)量其通訊信號(hào)波形時(shí),發(fā)現(xiàn)R2、R3兩個(gè)上拉電阻接上后,通訊數(shù)據(jù)的波形得到了明顯的改善,通訊成功率大大提高。

RS-485通訊需要嚴(yán)格遵循通訊協(xié)議,否則通訊是不會(huì)建立起來的。尤其是在主從機(jī)采用不同的處理器時(shí),軟件處理一定的仔細(xì)查看其說明文件,不能一視同仁。在本電路的實(shí)驗(yàn)過程中,就發(fā)現(xiàn)一個(gè)波特率設(shè)置的問題。波特率的設(shè)置公式如下:

BAUD= Fosc/16(UBRR+1)

其中BAUD為通訊速率,F(xiàn)osc為系統(tǒng)時(shí)鐘頻率,UBRR為波特率寄存器UBRRH、UBRRL中的值(0~4095)。

波特率的設(shè)置公式中用到了微處理器的系統(tǒng)時(shí)鐘頻率Fosc,我們的主從機(jī)雖然都使用了外部4M晶振,但主機(jī)內(nèi)部將4M頻率三分頻,而從機(jī)仍然使用4M主頻,軟件編寫過程中,將主從機(jī)的波特率寄存器初始化值置為一樣的,這樣就造成了主從機(jī)的波特率相差2倍,通訊當(dāng)然是不能成功的。

為了保證通訊成功,開始時(shí)所有從機(jī)復(fù)位,即處于監(jiān)聽狀態(tài),等待主機(jī)的呼叫。當(dāng)主機(jī)向網(wǎng)上發(fā)出某一從機(jī)的地址時(shí),所有從機(jī)接收到該地址并與自己的地址相比較。如果相符,說明主機(jī)在呼叫自己,應(yīng)發(fā)回應(yīng)答信號(hào),表示準(zhǔn)備好開始接收后面的命令和數(shù)據(jù);否則不予理睬,繼續(xù)監(jiān)聽呼叫地址。主機(jī)收到從機(jī)的應(yīng)答后,則開始一次通信。通信完畢,從機(jī)繼續(xù)處于監(jiān)聽狀態(tài),等待呼叫。由于發(fā)送和接收共用同一總線。在任意時(shí)刻只允許一臺(tái)單機(jī)處于發(fā)送狀態(tài)。因此要求應(yīng)答的單機(jī)必須在偵聽到總線上呼叫信號(hào)已經(jīng)發(fā)送完畢,并且沒有其它單機(jī)發(fā)出應(yīng)答信號(hào)的情況下,才能應(yīng)答。接受狀態(tài)和發(fā)送狀態(tài)的轉(zhuǎn)換是通過方向口高低電平的變化來完成的。

溫度采集和顯示

從機(jī)模塊完成的主要功能是8路溫度模擬信號(hào)的采集和向主機(jī)正確的發(fā)送這8個(gè)采樣溫度,本系統(tǒng)中采用溫度傳感器AD590。AD590是一個(gè)電流型集成溫度傳感器,其輸出電流正比于絕對(duì)溫度,當(dāng)溫度為 273開氏度時(shí),其輸出電流為273微安。溫度每變化1K(也可以理解為1℃),輸出電流變化1微安。將電流信號(hào)經(jīng)運(yùn)算放大器后輸出0~5V(參考電壓為 5V)的電壓信號(hào),經(jīng)過ATMEG16L的10位A/D轉(zhuǎn)換后變?yōu)?a target="_blank">數(shù)字信號(hào)存放在從機(jī)的緩存區(qū)。當(dāng)主機(jī)發(fā)出與該從機(jī)相應(yīng)的地址信號(hào)后,從機(jī)應(yīng)應(yīng)答并將采樣后的數(shù)據(jù)經(jīng)RS-485總線送給主機(jī)并顯示在液晶屏幕上。

從機(jī)通過自己的A/D口直接進(jìn)行模擬量采集比利用多路模擬開關(guān)來采集數(shù)據(jù)要方便的多,為使采樣的溫度數(shù)據(jù)更接近實(shí)際值,我們?cè)谲浖显黾恿艘恍┨幚泶胧缜蠖啻尾蓸拥钠骄?、中值濾波等。

為消除一些人為造成的誤差,我們?cè)谠撝鲝臋C(jī)中使用了一個(gè)開關(guān)電源,這樣開關(guān)電源電壓的波動(dòng)對(duì)所有溫度探頭的影響是一致的。另外,所有的溫度探頭線的長(zhǎng)度都保持一致。溫度探頭線和主從機(jī)的通訊線都必須使用屏蔽雙絞電纜,并將屏蔽電纜進(jìn)行良好接地。特別是在RS-485串行通訊中,主從機(jī)必須共地,否則嚴(yán)重時(shí)會(huì)有共模干擾,導(dǎo)致數(shù)據(jù)傳輸出錯(cuò)。

在實(shí)際的使用過程中,為保證數(shù)據(jù)采集的可靠性,還必須對(duì)每個(gè)溫度探頭進(jìn)行校準(zhǔn),一般情況下,我們將32個(gè)或64個(gè)溫度探頭盡量放在一起,并將其統(tǒng)一放在一個(gè)溫度比較穩(wěn)定的老化實(shí)驗(yàn)箱中,穩(wěn)定2個(gè)小時(shí)后,在同一點(diǎn)將所有的探頭校準(zhǔn),并做升溫處理觀察在升溫后各個(gè)溫度點(diǎn)的探頭測(cè)量值是否保持一致。否則應(yīng)在高溫段再校準(zhǔn)并做降溫過程的跟蹤觀察。

結(jié)語(yǔ)

本文介紹了主從機(jī)用RS-485串行總線,完成對(duì)多路溫度信號(hào)的測(cè)量。特別介紹了RS-485通訊電路在實(shí)際使用中的一些措施 。孵化設(shè)備多路溫度測(cè)試儀器正是采用了這些措施,使得測(cè)試過程中通訊穩(wěn)定,測(cè)量路數(shù)配置靈活,測(cè)量數(shù)據(jù)穩(wěn)定可靠。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19048

    瀏覽量

    228541
  • 測(cè)試儀
    +關(guān)注

    關(guān)注

    6

    文章

    3656

    瀏覽量

    54645
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2855

    瀏覽量

    87852
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    深度剖析RS-485組網(wǎng)問題及總線測(cè)試

    RS-485總線優(yōu)點(diǎn)眾所皆知,并且為保證通信的穩(wěn)定性,都會(huì)使用隔離RS-485模塊進(jìn)行信號(hào)隔離。但在RS-485實(shí)際組網(wǎng)時(shí),或多或少會(huì)遇到不能通信、通信出錯(cuò)、
    的頭像 發(fā)表于 05-25 09:08 ?1.9w次閱讀
    深度剖析<b class='flag-5'>RS-485</b>組網(wǎng)問題及<b class='flag-5'>總線</b><b class='flag-5'>測(cè)試</b>

    蜘蛛形RS-485多主機(jī)通信組網(wǎng)方式

    或下位機(jī)RS-485總線中有一個(gè)、二個(gè)甚至三個(gè)RS-485短路或者燒壞時(shí),SWT4485G的RS-485仍然可以與剩余的正常的RS-485
    發(fā)表于 09-17 16:06

    RS-485總線上尋求距離還是速度?

    3.3V 或 1.8V FPGA 或者微處理器的極低待機(jī)電流不僅可幫助實(shí)現(xiàn)更低的系統(tǒng)功耗,而且還可減少高成本電平轉(zhuǎn)換。升級(jí)也很便捷。現(xiàn)代收發(fā)
    發(fā)表于 09-14 11:11

    RS-485總線是要距離還是要速度?

    。能連接 3.3V 或 1.8V FPGA 或者微處理器的極低待機(jī)電流不僅可幫助實(shí)現(xiàn)更低的系統(tǒng)功耗,而且還可減少高成本電平轉(zhuǎn)換。升級(jí)也很便捷。現(xiàn)代收發(fā)
    發(fā)表于 09-17 09:43

    采用CAN總線RS-485實(shí)現(xiàn)DSP通信接口

    設(shè)備,負(fù)載設(shè)備可以是被動(dòng)發(fā)送、接收或收發(fā)RS-485最大傳輸距離為1200m,最大傳送速率可達(dá)10Mb/s。因此,RS-485在遠(yuǎn)程
    發(fā)表于 06-14 05:00

    有關(guān)隔離式RS-485收發(fā)的7大設(shè)計(jì)問題

    集成的故障安全保護(hù)功能]為開路,短路或空閑總線的情況下,消除了對(duì)外部電路的需要來實(shí)現(xiàn)這一功能。5.什么時(shí)候需要在RS-485總線上進(jìn)行端接,系統(tǒng)
    發(fā)表于 08-19 16:09

    怎么實(shí)現(xiàn)基于RS-485總線的遠(yuǎn)程測(cè)控系統(tǒng)的設(shè)計(jì)?

    本文介紹的RS-485遠(yuǎn)程測(cè)控系統(tǒng)結(jié)合傳統(tǒng)的分布式測(cè)控系統(tǒng)的特點(diǎn)、利用了RS-485總線的特點(diǎn),而且巧妙地應(yīng)用了AT89C2051單片機(jī)和C
    發(fā)表于 05-21 06:58

    RS-485總線介紹

    RS-485總線介紹RS-485僅是一個(gè)電氣標(biāo)準(zhǔn),描述了接口的物理層,像協(xié)議、時(shí)序、串行或并行數(shù)據(jù)以及鏈路全部由設(shè)計(jì)者或更高層協(xié)議定義。 RS-485定義的是使用平衡(也稱作差分)多點(diǎn)
    發(fā)表于 07-16 08:25

    防止RS-485總線出現(xiàn)致命瞬態(tài)波形的參考設(shè)計(jì)

    以及帶有集成 IEC 保護(hù)裝置的 RS-485 收發(fā)總線上實(shí)施外部保護(hù)方案可實(shí)現(xiàn)的保護(hù)級(jí)別。特性:板級(jí) IEC ESD 評(píng)估易于控制收發(fā)
    發(fā)表于 09-15 06:05

    3個(gè)理由了解為什么CAN總線RS-485更好

      旋轉(zhuǎn)編碼接口  計(jì)算機(jī)自動(dòng)化系統(tǒng)(鍵盤、鼠標(biāo)、打印機(jī)等)  工業(yè)控制系統(tǒng)  劇院應(yīng)用  PLC  雖然RS-485被應(yīng)用到多種場(chǎng)合,但越來越多的行業(yè)似乎轉(zhuǎn)向CAN用于其工業(yè)機(jī)械。
    發(fā)表于 04-03 14:32

    基于RS-485總線的糧倉(cāng)監(jiān)控系統(tǒng)設(shè)計(jì)

    本文主要介紹了以上位機(jī)PC 為核心的RS-485 總線技術(shù)實(shí)現(xiàn)的集溫、濕度監(jiān)測(cè)和報(bào)警等功能為一體的糧倉(cāng)監(jiān)控系統(tǒng),設(shè)計(jì)了一種零延時(shí)的RS-23
    發(fā)表于 08-31 10:18 ?21次下載

    RS-485總線標(biāo)準(zhǔn)及幾種常見的RS-485接口電路介紹

    RS-485總線標(biāo)準(zhǔn)及幾種常見的RS-485接口電路介紹
    發(fā)表于 12-21 14:45 ?0次下載

    RS-485總線芯片的選型_應(yīng)用及注意事項(xiàng)

    全文首先介紹了RS485總線的標(biāo)準(zhǔn)與RS-485總線芯片的選型,其次闡述了RS-485芯片的應(yīng)用電路及R
    發(fā)表于 04-18 16:11 ?2.2w次閱讀
    <b class='flag-5'>RS-485</b><b class='flag-5'>總線</b>芯片的選型_應(yīng)用及注意事項(xiàng)

    基于RS-485總線的無線遙控溫控系統(tǒng)設(shè)計(jì)

    本文主要介紹了基于RS-485總線的無線遙控溫控系統(tǒng)設(shè)計(jì).
    發(fā)表于 06-26 08:00 ?37次下載
    基于<b class='flag-5'>RS-485</b><b class='flag-5'>總線</b>的無線遙控溫控<b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)

    深度解讀RS-485總線

    前面一篇文章總結(jié)了一下工業(yè)HART總線,今天來聊聊RS-485總線。RS-485也是應(yīng)用非常廣泛的一種通信接口,本文來討論一下要點(diǎn),文章稍微有點(diǎn)長(zhǎng),約5000字。 前世今生
    的頭像 發(fā)表于 06-16 15:53 ?1.2w次閱讀
    深度解讀<b class='flag-5'>RS-485</b><b class='flag-5'>總線</b>