BDTP17 โมดูลเซนเซอร์ วัดอุณหภูมิ เทอร์มิสเตอร์ NT18B07 7Channel RS485 NTC Temperature Sensor Module MODBUS RTU

฿480.00

มีสินค้าอยู่ 2

คำอธิบาย

โมดูลเซนเซอร์ วัดอุณหภูมิ เทอร์มิสเตอร์ NT18B07ป7 Channel RS485 NTC Temperature Sensor Module MODBUS RTU

จุดเด่น 

  • รองรับเซ็นเซอร์อุณหภูมิ NTC 10K B3950 ได้ถึง 7 ช่อง ในบอร์ดเดียว
  • ใช้งานผ่าน RS-485 / MODBUS RTU เชื่อมต่อกับ PLC หรือ SCADA ได้ทันที
  • สามารถตั้งค่า Address และ Baudrate ได้เอง
  • รองรับฟังก์ชัน Auto-Reporting ส่งข้อมูลตามช่วงเวลา
  • มีฟังก์ชัน Offset Correction สำหรับปรับเทียบค่าของแต่ละช่อง
  • ใช้ไฟเลี้ยงกว้าง 6–24VDC ติดตั้งง่ายในระบบอุตสาหกรรม

รายละเอียดสินค้า (Product Description)

โมดูล NT18B07 เป็นบอร์ดเก็บข้อมูลอุณหภูมิที่รองรับเซ็นเซอร์ NTC 10K B3950 ได้สูงสุด 7 ช่อง พร้อมสื่อสารผ่านพอร์ต RS-485 (MODBUS RTU) เหมาะสำหรับงานควบคุมและเก็บข้อมูลในระบบ PLC, SCADA, Datalogger และเครื่องบันทึกแบบ Paperless Recorder รองรับการตั้งค่า Address และ Baudrate ได้ ใช้งานง่าย เสถียร และราคาประหยัด


สเปคสินค้า (Specification)

รายการ ค่าพารามิเตอร์
รุ่น NT18B07
จำนวนช่อง 7 ช่อง (NTC10K)
ประเภทเซ็นเซอร์ NTC 10KΩ B3950 ±1%
ช่วงวัดอุณหภูมิ –20 °C ~ +125 °C
ความแม่นยำ ±1% (ขึ้นกับเซ็นเซอร์)
แรงดันไฟเลี้ยง DC 6–24V
กระแสทำงาน 8–15 mA
การสื่อสาร RS-485 (MODBUS RTU)
ค่า Default 9600, N, 8, 1
Slave Address 1–247 (ปรับตั้งค่าได้)
ฟังก์ชันเสริม Offset Correction, Auto Reporting (1–255 วินาที)
การใช้งาน PLC, SCADA, Paperless Recorder, ระบบควบคุมอัตโนมัติ

 

การใช้งาน (Application)

  • ระบบ ควบคุมอุตสาหกรรม (Industrial Automation)
  • ระบบ SCADA / Datalogger
  • งาน บันทึกอุณหภูมิแบบ Paperless Recorder
  • เครื่องจักรที่ต้องการตรวจสอบอุณหภูมิหลายจุดพร้อมกัน

NT18B07 MODBUS RTU Protocol 

1. โครงสร้าง Register

  • Registers แบบอ่านอย่างเดียว (Read-only):
    • 0x0000: อุณหภูมิ CH1
    • 0x0001: อุณหภูมิ CH2
    • 0x0006: อุณหภูมิ CH7
      แต่ละ Register เก็บค่าในหน่วย 0.1 °C ซึ่งค่าที่ได้จะเป็นแบบ 2 ไบต์ (High + Low)
  • Registers แบบอ่าน/เขียนได้ (Read/Write):
    • 0x0008–0x000E: ค่า Temperature Correction (offset) ของแต่ละช่อง (CH1–CH7) — สามารถปรับค่าเพิ่ม/ลดอุณหภูมิได้ตามต้องการ
  • Configuration Registers:
    • 0x00FD: Auto-report interval (0 = query mode, 1–255 = รายงานอัตโนมัติทุก 1–255 วินาที)
    • 0x00FE: RS‑485 Slave Address (อ่าน = 0xFF, เขียน = 1–247)
    • 0x00FF: Baud Rate setting (0 = 1200, 1 = 2400, 2 = 4800, 3 = 9600 (Default), 4 = 19200, 5 = Factory Reset)

2. ค่าพารามิเตอร์การสื่อสาร (Default)

  • Baud Rate: 9600
  • Parity: None
  • Data Bits: 8
  • Stop Bits: 1 (หรือเรียกว่า 9600, N, 8, 1)

3. ตัวอย่างคำสั่ง MODBUS RTU อ่านค่าอุณหภูมิจาก CH1:

  • Master ส่ง:
    01 03 00 00 00 01 84 0A
  • Response จาก Slave:
    01 03 02 00 DB F8 1F
    • 0x00DB = 219 → 219 ÷ 10 = 21.9 °C

อ่านค่าอุณหภูมิจาก CH2 (ค่าลบ):

  • Master ส่ง:
    01 03 00 01 00 01 D5 CA
  • Response จาก Slave:
    01 03 02 FF 90 F9 D8
    • 0xFF90 = 65424 → (65424 – 65536) ÷ 10 = –11.2 °C

อ่านค่า Temperature Correction ของแต่ละช่อง:

  • ใช้ฟังก์ชัน 0x03 กับ Reg 0x0008–0x000E, ค่าที่ได้ต้อง ÷10 เพื่อแสดงเป็น °C

สรุปฟังก์ชันย่อย (Quick Reference)

ฟังก์ชัน Register / รายละเอียด Purpose
0x0000–0x0006 อุณหภูมิ (0.1 °C) Read-only
0x0008–0x000E Offset Correction (0.1 °C) Read/Write
0x00FD Auto-report interval ตั้งเวลาส่งอัตโนมัติ
0x00FE Slave Address ตั้ง ID ของอุปกรณ์
0x00FF Baud Rate ตั้งความเร็วในการสื่อสาร

การใช้งานในโค้ด ตัวอย่าง (ESPHome)

ตัวอย่างต่อไปนี้ แสดงแนวทางการใช้งานใน ESPHome

uart:
  tx_pin: GPIO17
  rx_pin: GPIO18
  baud_rate: 9600
  id: uart_bus

modbus:
  id: modbus1
  uart_id: uart_bus

modbus_controller:
  - id: modbus_device
    address: 0x01  # Slave address
    modbus_id: modbus1
    setup_priority: -10

sensor:
  - platform: modbus_controller
    modbus_controller_id: modbus_device
    id: temp_sensor_1
    name: "Temperature Sensor CH1"
    unit_of_measurement: "°C"
    address: 0x0000  # Register CH1
    register_type: holding
    value_type: U_WORD
    filters:
      - lambda: |-
          if (x > 32767) return (x - 65536) / 10.0;
          else return x / 10.0;

โค้ดด้านบนใช้ holding register address 0x0000 เพื่ออ่านค่าจากช่อง CH1 และแปลงข้อมูลเป็น °C อย่างถูกต้อง


สรุป

  • NT18B07 ใช้ MODBUS RTU ตามมาตรฐาน, default 9600, N, 8, 1
  • ฟังก์ชันหลัก: 0x03 (อ่าน), 0x06 (เขียน)
  • Register สำคัญครอบคลุมค่าประหยัดทยอยอ่านจริง, ตั้งค่า offset, auto-report และการตั้งค่าสื่อสาร

ทิปส์หน้างาน

  • สื่อสารไม่ได้ ให้เช็คก่อน: พิน A/B สลับไหม, มี terminal resistor 120Ω ปิดท้ายบัสหรือยัง, GND อ้างอิงร่วมกันหรือไม่
  • ช้า/หลุด: ใช้ 9600,N,8,1 ก่อน ถ้าสายยาว >100 m แนะนำ twisted pair + shield และต่อลงกราวด์ด้านเดียว
  • ค่าติดลบผิดเพี้ยน: อย่าลืมแปลง signed 16-bit ก่อนหาร 10
  • หลายอุปกรณ์บนบัส: ตั้ง SlaveID ไม่ซ้ำ, ถ้าเกิน ~16 โหนด ใช้ repeater
  • Offset/Auto-report: ทำครั้งเดียวแล้วบันทึกค่าไว้ (อย่าเผลอรีเซ็ต Baud=1200 ด้วย 0x00FF)

รีวิว

ยังไม่มีบทวิจารณ์

เฉพาะลูกค้าที่เข้าสู่ระบบ และเคยซื้อสินค้าชิ้นนี้แล้วเท่านั้น ที่เขียนบทวิจารณ์ได้