背景:在使用stm32除錯mx64舵機時,由於控制該舵機需要採用rs485通訊協議,因此需要從微控制器的串列埠經過乙個ttl轉485通訊的模組再與舵機進行通訊。
485通訊特點:
485通訊採用差分訊號:可以抑制共模干擾。尤其當工業現場環境比較複雜,干擾比較多時,採用差分方式可以有效的提高通訊可靠性。rs485 採用兩根通訊線,通常用 a 和 b 或者 d+和 d-來表示。邏輯「1」以兩線之間的電壓差為+(0.2~6)v 表示,邏輯「0」以兩線間的電壓差為-(0.2~6)v 來表示,是一種典型的差分通訊。
485通訊距離與速度:傳輸距離最遠可以達到 1200 公尺左右,但是它的傳輸速率和傳輸距離是成反比的,只有在 100kb/s 以下的傳輸速度,才能達到最大的通訊距離,如果需要傳輸更遠距離可以使用中繼。
485多裝置通訊:可以在匯流排上進行聯網實現多機通訊,匯流排上允許掛多個收發器,從現有的 rs485晶元來看,有可以掛 32、64、128、256 等不同個裝置的驅動器。
485通訊方式:半雙工模式,因此通訊時需要切換收發狀態。
485通訊常用電路:
1、手動收發控制的485通訊:
max485 是美信(maxim)推出的一款常用 rs485 轉換器。
5 腳和 8 腳是電源引腳;
6腳和 7 腳就是 rs485 通訊中的 a 和 b 兩個引腳;
1 腳和 4 腳分別接到微控制器的 rxd 和 txd引腳上,直接使用微控制器 uart 進行資料接收和傳送;
2 腳和 3 腳是方向引腳,其中 2 腳是低電平使能接收器,3 腳是高電平使能輸出驅動器,我們把這兩個引腳連到一起,平時不傳送資料的時候,保持這兩個引腳是低電平,讓 max485 處於接收狀態,當需要傳送資料的時候,把這個引腳拉高,傳送資料,傳送完畢後再拉低這個引腳就可以了。
手動收發控制的485通訊電路:
實現自動收發功能:
傳送資料過程:
傳送資料,用的是微控制器的txd引腳,也就是說,在txd引腳上表現資料。
例:要傳送的資料轉化為二進位制,txd引腳上就會依次的用高低電平體現1和0。
當txd傳送0時,三極體不導通,de接高電平,進入傳送模式,485晶元會把di上的電平反應到ab引腳上輸出,因為di已經接地,所以ab引腳會傳輸0。
當txd傳送1時,三極體導通,re接低電平,進入接收模式,485晶元的ab引腳進入高阻狀態,因為上拉電阻把a拉高,下拉電路把b拉低,所以,ab傳輸的是1。
總結,txd發1,ab就發1;txd發0,ab就發0。
接收資料過程:
接收資料,用的是微控制器引腳rxd,也就是說,在rxd引腳上表現資料。
在接收資料的過程中,txd引腳是一直保持高電平的,當txd是高電平時,re是低電平,正好調理成了接收狀態,然後485晶元的ro引腳(也就是接rxd的引腳)就會反應ab傳輸過來的資料。
電路阻值選取:
上下拉電阻r9、r10 —— 1k , 4.7k , 10k
雙絞線併聯電阻 —— 一般120ω
mx64舵機驅動:
mx64舵機官網通訊介面例項原理圖:
通過串列埠ttl轉485模組實現資料電平轉換,然後使用stm32的串列埠驅動舵機。
平台:stm32f405rgt6
舵機:mx64ar —— 韌體版本1.0
軟體部分見另一篇部落格。
——cloud over sky
——2020/1/14
RS485通訊介紹
rs485通訊介紹 rs 485 半雙工 邏輯1 2v 6v 邏輯0 6v 2v 這裡的電平指ab 兩線間的電壓差。一 基本電路實現 1 基礎的rs485電路 需要控制re de cn 來控制485狀態的切換,一般連在一起用io口控制。當cn為低時485處於接收狀態 當r d為高時485處於傳送狀態...
通訊協議學習 485通訊(1)
1.rs 485通訊協議標準 通訊協議是指雙方實體完成通訊或服務所必須遵循的規則和約定,主要實現兩個裝置之間的資料交換功能,通訊協議分硬體層協議和軟體層協議。硬體層協議決定資料如何傳輸,比如要裝置a要想裝置b傳送0x63,0x63的二進位制數為0110 0011,這8個二進位制數要從裝置a傳輸到裝置...
提高485通訊速率的方法
提高rs485匯流排通訊速度的一種設計 引言 工業現場經常要採集多點資料,模擬訊號或開關訊號,一般用到rs485 匯流排,使用一主帶多從的通訊方式,該種方式接線方便只需要兩根遮蔽電纜線,通訊距離遠最大可支援1500m,加深圳市天地華傑公司的中繼器 td 109 還可延長通訊距離,採用差分訊號方式抗電...