(日本語) MAX485 モジュールにより、Raspberry Piは プロトコルの産業オートメーション、Modbusコミュニケーションおよび長距離のシリアルデータ伝送のために広く利用されている、。このガイドでは、接続、設定、使用方法を説明します。 Raspberry PiでRS485モジュールをMAX485する Pythonを使用しています。
あなたが必要とするもの
- ラズベリーパイ (GPIO対応モデル(例:Pi 3、 Pi 4)
- MAX485 RS485モジュール
- RS485デバイス (例えばModbusセンサー、産業コントローラー)
- ジャンパーワイヤー
- インストールされたPython ラズベリーパイに
ステップ1: MAX485モジュールの理解
(日本語) MAX485 これは TTL-to-RS485トランシーバ これにより、Raspberry PiはRS485信号を送受信できます。
主な特徴:
- ハーフデュプレックスRS485通信をサポート
- 上で動作します 5V電源 (Raspberry Pi 3.3Vロジックに対応)
- [使用] TX、 RX、 DE、 RE 通信制御用ピン
ステップ2:ラズベリーパイにMAX485を配線する
MAX485ピン | ラズベリーピピン | [関数] |
---|---|---|
VCC | 5V(ピン2) | パワーサプライ |
GND | GND(ピン6) | グラウンド(Ground) |
RO(ロー) | GPIO15(ピン10) | RS485データ受信(RX) |
DI(ディー) | GPIO14(ピン8) | RS485データ送信(TX) |
RE(リー) | GPIO18(ピン12) | 受信可能(LOWから受信) |
「DE」 | GPIO18(ピン12) | ドライバ有効(HIGH送信) |
(A) | 線のRS485 | RS485デバイスに接続する |
B&B | RS485 Bライン | RS485デバイスに接続する |
注意: (日本語) RE(リー) そして、 「DE」 ピンは一緒に制御されます GPIO18送信を有効または無効にします。
ステップ3: Raspberry PiでUARTを有効にする
-
Raspberry Pi設定ツールを開きます。
sudo raspi-config
-
に移動します。 インターフェイスオプション>シリアルポート.
-
シリアルコンソールを無効にしますが、 シリアルハードウェアを有効にする.
-
Raspberry Piを再起動する:
sudo reboot
-
を確認します。 シリアル装置は利用できます:
ls /dev/serial*
あなたは見るべきです
/dev/serial0
.
ステップ4:必要なPythonライブラリをインストールする
- Raspberry Piを更新してください:
sudo apt update && sudo apt upgrade -y
- Pythonシリアル通信ライブラリをインストールします。
pip3 install pyserial
ステップ5: RS485経由で通信するPythonコード
RS485経由でデータを送受信するための基本的なPythonコード
import serial
import RPi.GPIO as GPIO
import time
# Define GPIO pin for RE/DE control
RS485_CONTROL = 18
# Set up GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(RS485_CONTROL, GPIO.OUT)
# Configure the serial connection
ser = serial.Serial(
port='/dev/serial0', # Raspberry Pi UART port
baudrate=9600, # Set baud rate to match RS485 device
timeout=1
)
def send_data(data):
GPIO.output(RS485_CONTROL, GPIO.HIGH) # Enable transmission
time.sleep(0.01) # Small delay before sending
ser.write(data.encode()) # Send data as bytes
time.sleep(0.01) # Small delay to ensure data is sent
GPIO.output(RS485_CONTROL, GPIO.LOW) # Enable receiving
def receive_data():
GPIO.output(RS485_CONTROL, GPIO.LOW) # Enable reception
data = ser.readline().decode('utf-8').strip()
return data
try:
while True:
send_data("Hello RS485 Device!\n")
print("Data sent!")
# Wait for a response
response = receive_data()
if response:
print(f"Received: {response}")
time.sleep(2)
except KeyboardInterrupt:
print("Exiting...")
finally:
ser.close()
GPIO.cleanup()
ステップ6: Raspberry PiとのRS485コミュニケーションの適用
- 産業オートメーション -Modbus RTUを使用してPLC、センサー、およびコントローラと通信します。
- 長距離通信 -RS485サポート 長距離データ伝送 最大1200メートル。
- マルチデバイスネットワーク -同じRS485バス上の複数のデバイスを接続します。
- スマートエネルギーメーター -Modbus互換のエネルギーメートルを読んで下さい。
- IoTとデータロギング -センサーデータを収集し、クラウドサーバーに送信します。
トラブルシューティング
-
コミュニケーションなし
- 配線接続をチェックし、確実に AおよびBライン 正しく接続されています。
- それを確認する UARTが有効になっている 使用する
sudo raspi-config
. - 確認する RS485デバイスは同じボーレートを使用します Pythonで設定します。
-
アクセス許可拒否エラー
- ユーザーを追加する
dialout
シリアルポートアクセスのグループ:sudo usermod -aG dialout $USER sudo reboot
- ユーザーを追加する
-
受信したデータのゴミ箱の文字
- 両方のデバイスの使用を確認 同じボーレートとシリアル設定.
- チェックする シールドケーブル より長い距離に必要です。
おわりに
(日本語) MAX485モジュール Raspberry Piが通信可能 RS485それを理想的にさせます 産業オートメーション、Modbusデバイス、長距離シリアルデータ伝送.このガイドに従うことによって、確立できます Raspberry PiとRS485デバイス間の双方向通信 IoTや組み込みシステムプロジェクトのために。 🚀