0
\$\begingroup\$

New here so please bear with me ;-)

I have a salt chlorination system for my pool, which includes a unit that tests the water for Chlorine and PH. It has an 'RS-232' port on it, which is supposed to be for external data capture. I then want to collect the data for my home automation system.

Unfortunately there is NO documentation for any of this, except that the User Doco for the device says 'For external Data capture' on the system diagram. The port is labeled as RS-232.

I am trying to work out the pinout (GND, RX, TX) and voltages of the 4 ping RJ-10 (or RJ-11) interface.

What I have found so far is:

+--------------+------------------+---------------+-------------+
: pin          : Direct to Ground : V to ground   : Assumption  :
: (wire color) : (BEEP from MM)   : when ON       :             :
+--------------+------------------+---------------+-------------+
: 1 (YELLOW)   :      YES         : 0v            : GND         :
: 2 (RED)      :      NO          : 0v-0.004v     : RX          :
: 3 (GREEN)    :      NO          : 9.54v         : TX          :
: 4 (BLACK)    :      YES         : 0v            : GND         :
+--------------+------------------+---------------+-------------+

Are my assumptions correct?

I really only want to receive data, as I believe it only sends data over the port, not receive commands. I am assuming the presence of the 9.5V on Pin 3 means this is the transmit pin?

I assume also I need to connect the ground from the device to the ground of the ESP8266 and can use with PIN 1 or 4 as the connector?

I want to use an ESP8266 to read the RS232, but it only takes 3.3v so will need to use a voltage divider to bring it down to 3.3v? (like described here https://electronics.stackexchange.com/a/186182/245164) Is that correct? And ground the bridge to the common ground (as described above?

Thanks in advance for your responses.

G./

\$\endgroup\$
  • \$\begingroup\$ rs232 should have a negative voltage on the TX pin. RX is usually slightly positive (but usually ballpark 1V) measure resistance pin1 to pin2. \$\endgroup\$ – Jasen Mar 14 '20 at 5:49
2
\$\begingroup\$

Standard RS-232 uses both positive and negative voltages, usually in the ballpark of +/- 10V. Because generating high voltages and negative voltages requires some extra circuitry, a lot of devices today use the RS-232 signaling with standard logic levels instead, like the 0V/+3.3V of your ESP8266.

Since you're measuring +10V from your sensor, that suggests that it's standard RS-232 and will also output -10V. If you have a scope, watch it when it's sending data and confirm the two levels that it toggles between. It should be idling at the negative voltage, so it's a bit unusual to be measuring a positive voltage like that unless it's sending a lot of zeros.

If you're only receiving data from the sensor, you could probably get away with a voltage divider and diode to keep the signal between 0-3.3V, followed by an inverter (as the negative voltage corresponds to a logic 1 and positive is 0). If for some reason you end up needing to send data, you'll need an RS-232 transceiver to convert the 0-3.3V to the higher positive and negative voltages needed by standard RS-232.

Another option is to find the RS-232 transceiver chip on your sensor. If it's using 0-3.3V on the logic side, you could potentially remove the chip and connect the logic levels directly to your ESP if they're not too far away from each other.

One other thing to consider is that if the sensor has the ability to receive commands over that port, you should tie off its input to something to prevent the floating pin from triggering random input data. Ideally this would be to the negative voltage, but if that's not available you might have to figure something else out.

And one final suggestion to confirm the pinout and basic functionality: connect it to a USB-serial adapter on a computer, start up a terminal app, and make sure you can see the incoming data.

\$\endgroup\$
  • \$\begingroup\$ Thanks Justin. Would a chip like this suffice? maximintegrated.com/en/products/interface/transceivers/… I have 5v available at the ESP end (it’s a D1Mini Pro) so can drive the IC. \$\endgroup\$ – grillp Mar 14 '20 at 8:07
  • 1
    \$\begingroup\$ No since the ESP uses 3.3 levels you need a tranceiver that works with 3.3V. There are ready made modules for this, no need to buy a chip and make it yourself for prototyping. \$\endgroup\$ – Justme Mar 14 '20 at 8:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.