通常,在工業(yè)中,我們有幾種機器和設(shè)備(PLC,CNC,變頻器)來控制和監(jiān)視最多樣化的工業(yè)過程。
為了使所有這些設(shè)備一起工作,必須在它們之間建立通信網(wǎng)絡(luò)。
但是,由于電動機,螺線管和其他執(zhí)行器的激活,該行業(yè)環(huán)境中存在許多電磁干擾。
RS485通信標準是通信網(wǎng)絡(luò)的物理層,可以實現(xiàn)多種協(xié)議,例如Modbus,Profibus等。
RS485通信標準適合在行業(yè)中實施,因為它接受幾種網(wǎng)絡(luò)拓撲,例如星形和環(huán)形。
它允許長距離通信,并使用雙絞線電纜。由于我們具有差分通信信號,因此該電纜模型減少了電磁干擾,這有助于更好地抵抗噪聲和電磁干擾。
除了RS485通訊之外,還有RS232通訊。它允許以點對點模式進行網(wǎng)絡(luò)通信,并且遭受電磁干擾的影響更大。
但是,許多設(shè)備具有RS232通信,需要長距離傳輸數(shù)據(jù)。為此,我們需要使用稱為MAX485的集成電路。
該集成電路在使TTL邏輯電平適應(yīng)RS485通信所需的邏輯電平中發(fā)揮作用。
如今,已經(jīng)有使用該集成電路的現(xiàn)成的低成本模塊。它們允許信號調(diào)理并促進不同設(shè)備之間的通信。
因此,由于其堅固性,RS485通信可用于任何類型的環(huán)境。
因此,在本文中,我們將學習如何監(jiān)視環(huán)境溫度以及如何通過兩個Arduino之間的串行/ RS485通信接收測量值。
Arduino Slave(發(fā)送器)將使用DS18B20數(shù)字傳感器執(zhí)行溫度測量,并將測量值通過串行/ RS485發(fā)送到Arduino主設(shè)備(接收器),該設(shè)備將在LCD顯示屏上寫入20 x 4 I2C接收的溫度值。
因此,通過本文您將學到:
在原型板上執(zhí)行電路組裝;
了解RS 485模塊的操作;
了解DS18B20傳感器的工作原理;
創(chuàng)建通信協(xié)議;
使用有線通信網(wǎng)絡(luò)進行遠程溫度監(jiān)控;
現(xiàn)在,我們將開始通過RS485串行通信使用DS18B20傳感器進行溫度監(jiān)控項目的開發(fā)的完整介紹。
通過RS485串行通信使用DS18B20傳感器開發(fā)溫度監(jiān)控項目
在圖3中,我們具有項目組裝所需的原理圖電路。Arduino Uno將成為主機(接收器),它將接收溫度測量值并將在LCD顯示屏上顯示20 x 4 I2C。
Arduino Nano將作為從設(shè)備(發(fā)送器),它將讀取DS18B20傳感器并通過RS485模塊發(fā)送測量值。
現(xiàn)在,讓我們轉(zhuǎn)到設(shè)置項目所需的材料清單。
帶有DS18B20和RS485模塊的Arduino項目
溫度傳感器DS18B20是數(shù)字溫度傳感器,因為要傳輸信息,它使用協(xié)議1-Wire。
1-Wire協(xié)議由Dallas Semiconductor和Maxim制造。
1線總線對設(shè)備使用主/從概念。
微控制器是主機,外圍設(shè)備是從機。
在制造過程中,每個設(shè)備都會收到一個唯一的ID,即設(shè)備標識號(地址),以便在有很多設(shè)備時可以在總線上對其進行標識。
信息格式:
1線僅使用一條數(shù)據(jù)線,并使用長脈沖和短脈沖表示1和0。60微秒脈沖表示0,15微秒脈沖表示1。
在VCC與DS18B20傳感器的信號引腳之間必須使用4K7的上拉電阻,以使微控制器與傳感器之間的通信穩(wěn)定。
將發(fā)射器和接收器電路組裝到原型板上之后,我們可以在圖6中看到原型板上的物理組裝。