• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 測試測量 > 設計應用 > 利用RS-485實現多路溫度測量

    利用RS-485實現多路溫度測量

    作者:郭慶亮 中國電子科技集團公司第四十一研究所 時間:2010-03-09 來源:電子產品世界 收藏

    本文引用地址:http://www.czjhyjcfj.com/article/106708.htm

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

      通訊需要嚴格遵循通訊協議,否則通訊是不會建立起來的。尤其是在主采用不同的處理器時,軟件處理一定的仔細查看其說明文件,不能一視同仁。在本電路的實驗過程中,就發現一個波特率設置的問題。波特率的設置公式如下:

      BAUD= Fosc/16(UBRR+1)

      其中BAUD為通訊速率,Fosc為系統時鐘頻率,UBRR為波特率寄存器UBRRH、UBRRL中的值(0~4095)。

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

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

      溫度采集和顯示

      從機模塊完成的主要功能是8路溫度模擬信號的采集和向主機正確的發送這8個采樣溫度,本系統中采用溫度傳感器為AD590。AD590是一個電流型集成溫度傳感器,其輸出電流正比于絕對溫度,當溫度為273開氏度時,其輸出電流為273微安。溫度每變化1K(也可以理解為1℃),輸出電流變化1微安。將電流信號經運算放大器后輸出0~5V(參考電壓為5V)的電壓信號,經過ATMEG16L的10位A/D轉換后變為數字信號存放在從機的緩存區。當主機發出與該從機相應的地址信號后,從機應應答并將采樣后的數據經總線送給主機并顯示在液晶屏幕上。



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 涟源市| 濮阳县| 黄山市| 尉氏县| 新巴尔虎右旗| 安新县| 南宁市| 正蓝旗| 吴桥县| 瑞昌市| 通山县| 日照市| 华阴市| 萨嘎县| 张北县| 会泽县| 丹棱县| 辽源市| 酉阳| 福清市| 荃湾区| 三都| 霍州市| 西充县| 宜良县| 济宁市| 贵定县| 陆川县| 日喀则市| 桃园市| 扎囊县| 和平县| 冀州市| 类乌齐县| 理塘县| 资源县| 平安县| 剑川县| 香格里拉县| 米易县| 马龙县|