====== lamaPLC: PTA8C04 4-channel PT100 Modbus Modul ====== PTA8C04 is a specific model of 4-Channel PT100 RTD Temperature Sensor Module that uses RS485 communication for industrial monitoring, enabling it to read temperatures from multiple PT100 resistance temperature detectors (RTDs) and transmit data via the Modbus RTU protocol for PLCs and other controllers, often mounted on DIN rails. |{{:sensor:pta8c04_1.png?250|PTA8C04 4-channel PT100 Modbus Modul}}|{{:sensor:pta8c04_2.png?250|PTA8C04 4-channel PT100 Modbus Modul}}|{{:sensor:pta8c04_3.png?250|PTA8C04 4-channel PT100 Modbus Modul}}| ==== PTA8C04 Description ==== * Operating Temperature: -40 to 85°C * Working Voltage: DC 12V/24V * Working Current: 14-18 mA * Compatible Sensor: PT100 3-wire or 2-wire * PT100 Sensor Range: Version A -40℃ to +220℃, Version B -40℃ to +500℃ * Temperature Measurement Accuracy: 1% * DIN Rail: PCB board width UM72 (72mm) for DIN35 / C45 rail {{page>:tarhal}} ==== PTA8C04 Probe wiring mode ==== |< 100% 50% 50% >| |{{:sensor:pta8c04_4.png?250|PTA8C04 4-channel PT100 Modbus Modul}}|{{:sensor:pta8c04_5.png?250|PTA8C04 4-channel PT100 Modbus Modul}}| |3-wire probe wiring mode: connect the red wire to P+, and the other two wires of the same color to P- and GND (the ports are not distinguished)|2-wire probe wiring mode: connect the red wire to P+, the blue wire to P-, and G| {{page>sensor:pt100}} ==== PTA8C04 Modbus settings ==== Default settings: SlaveID: 1, 9600 baud, parity: N,8,1 ^holding register addresses^Number of registers^Description^Unit^Note| |0 .. 3|4|CH0 .. CH03 Temperature values|0.1 °C|read-only, 182 -> 18.2 °C| |32 .. 35|4|CH0 .. CH03 Resistance values|0.1 Ω|read-only, 1081 -> 108.1 Ω| |64 .. 67|4|CH0 .. CH03 Temperature correction values|0.1 °C|r/w; read 0xFFFF| |96 .. 99|4|CH0 .. CH03 Resistance correction values|0.1 Ω|r/w; read 0xFFFF| |250|1|Automatic upload of temperature|Second|0: by query (default), 1..255 sec raster| |251|1|Factory data reset|-|Feedback by reset: FF 06 00 FB 00 00 ED E5| |252|1|Data return delay|ms|0..1000| |253|1|RS 485 Modbus RTU Address||Read: 0xFFFF, write 0..254| |254|1|Baudrate||0..8; 0: 1200, 1: 2400, 2: 4800, 3: 9600 (default), 4: 19200, 5: 38400, 6: 57600, 7: 115200, 8: Factory reset| |255|1|Parity||0: none (default), 1: even, 2: odd| ==== Arduino ==== The PTA8C04 is a 4-channel PT100 RTD acquisition module that communicates via RS485 Modbus RTU, which is fundamentally different from the SPI-based MAX31865. To use it with an Arduino, you typically need an RS485 to TTL converter (like a MAX485 module) and a Modbus library. **Hardware Connections** Connect your Arduino to the PTA8C04 through an RS485 converter: * **VCC/GND:** 12V–24V DC to PTA8C04; 5V/GND to RS485 converter. * **A/B Pins:** Connect A to A and B to B between the PTA8C04 and the RS485 converter. * **RO (Receive):** Arduino Pin 2 (if using SoftwareSerial). * **DI (Driver Input):** Arduino Pin 3. * **DE/RE (Enable):** Arduino Pins 4 & 5 (tied together to control direction). **Arduino Example Code** This code uses the **ModbusMaster** library to read temperatures from the first two channels. #include #include #define MAX485_RE_DE 4 // Pins for RE and DE SoftwareSerial rs485(2, 3); // RX, TX ModbusMaster node; void preTransmission() { digitalWrite(MAX485_RE_DE, 1); } void postTransmission() { digitalWrite(MAX485_RE_DE, 0); } void setup() { pinMode(MAX485_RE_DE, OUTPUT); digitalWrite(MAX485_RE_DE, 0); // Start in receive mode Serial.begin(9600); rs485.begin(9600); // PTA8C04 default baud is 9600 node.begin(1, rs485); // Default slave ID is 1 node.preTransmission(preTransmission); node.postTransmission(postTransmission); } void loop() { // Read 4 registers starting at 0x0000 (Channels 1-4) uint8_t result = node.readHoldingRegisters(0x0000, 4); if (result == node.ku8MBSuccess) { for (int i = 0; i < 4; i++) { int16_t rawTemp = node.getResponseBuffer(i); // PTA8C04 provides temperature x10. Divide by 10.0 for Celsius float celsius = rawTemp / 10.0; Serial.print("CH"); Serial.print(i+1); Serial.print(": "); Serial.print(celsius); Serial.println(" C"); } } else { Serial.print("Modbus Error: "); Serial.println(result, HEX); } delay(2000); } ===== Modbus topics on lamaPLC ===== {{topic>Modbus}} \\ \\ {{tag>PTA8C04 sensor Modbus RTU RS-485 communication Platine UM72}} \\ This page has been accessed for: Today: {{counter|today}}, Until now: {{counter|total}}