Long Distance Transmission of Analog Signals for Soil moisture Sensing

I'm a student and I have a project to ideate and design a automated irrigation system. I have designed the pump and sprinkler system....the Arduino board is close to the solenoid valves but some sprinklers will be away from the Arduino by ~150m..the problem I am facing is that I am using the regular resistive (LM393 based) soil moisture sensor which gives analog output. I think the analog signals will face loss and attenuation by the time they reach the board if directly transmitted through wire. Could someone suggest some feasible ways in which I can transmit the analog output of the moisture sensor to distances of nearly ~150m. Also I had heard that there is some way to convert this to an optical signal and transmit with less loss over long distances but I don't know how to implement it in this situation . Could someone point out a reference or tell how to implement this.. Thanks a ton

Radio signal?
Lora, nRF24, hc12, …

nice to see you have a very firm grasp of the biggest problem facing you.

Do You really need to read the entire scale of the sensor? One way could be to set a trigger level close to the sensor and send a well pulluped digital signal.
Losses of signal is not the real issue but picking up noice is, i want to say.

The wire length will cause a problem when the total wire resistance becomes greater than the resistance of the sensor. You can measure this with your DVM.
Use #14 AWG wire or similar size to minimize the loss due to wire resistance. If noise pickup is a problem, bury the wire. How many months will your project be in operation?
Paul

The loss depends on the resistance of the wire compared to the lowest possible resistance of the sensor. If the resistance of the wire is many times less than the resistance of the sensor then the loss will be minimal. In any case, if you know the resistance of the wire you can account for it in your circuit and calculation.

Not much loss, use quad shielded cable, AWG 22 at 150 m resistance is only = 15 Ohm for each wire, since you have already LM393 add 1 more for voltage follower.

4-20mA instrument transmitters are typically used for this if sending by wire.
OR Wifi or LoRa as suggested above.

Some of these probe sensors have an analog and a digital output so as Railroader says, go digital.
If it is the sensor I think it is, your biggest future problem will be corrosion of the probes.

Capacitive sensor overcomes that but again, analog so convert at the sensor.

I believe an LM393 is a comparator. If so you either have an on/off signal or your trying to use the LM393 as an amplifier with will likely be unstable.

Ignoring the LM393 device for now, the easiest way is to convert you voltage signal to a current signal then (within limitations) the distance will not be a issue. This is why 4-20 ma devices exist.

let's think about that for a moment.....
of course you need power for the unit, that means there are lots of options.

but, if you have an analog sensor and want to know if that value goes below some set value, LM393 is as good as anything.

but, it does mean the analog part is remote.

IMHO, it could work, but there are other options.

#1) just have a local sensor, controller, relay, solenoid for water and be done with it.

#2) LoRa cuts the cord
#2a) RS484 modules are common and there are libraries, so wired is possible

this thread is more like an X/Y PROBLEM exercise.

Question to the OP :
if you could have a remote controller monitor soil moisture remotely. that is measure and control.
Do you REQUIRE it to send signals back ? if yes, then WHY ?
I would assume historical data logging.

I'm new to this. So if I do convert the voltage signal to 4-20mA current signal by adjusting the net resistance of the wire (Also I think I will switch to the Capacitive Soil Moisture Sensor) and I am able to get it to the arduino board without any noice or loss. How does the arduino board read this. Do i have to convert it back to a 1-5V analog voltage signal? Or is there some feature of Arduino that directly reads the analog current signal which I am unaware of?

Thanks

You are worrying much, much too much about the loss of the cable. If your LM393 circuit is like this, then there is a 10kΩ resistor to Vcc. The resistance of the cable will therefore be very small in comparison with that resistance and with the resistance of the sensor.

If there is any issue with interference, simply put a capacitor across the input to the LM393 circuit board: much cheaper than buying screened cable!

You don't need to use 4 to 20 ma. Any current range will work, except very low currents.

You would need an analog amplifier. Like an LM324. And build a small voltage to current converter.

So if you change to a Capacitive Soil Moisture Sensor, what is its output? The few I see are still analog outputs.

image

OR

image

In the first circuit R1 will be at the Arduino and Vin will come from the moisture sensor and M1 will be with Vin and the amplifier.
Note This diagram does not include any protection components.

ANOTHER IDEA !!!

You can use an LM555C timer to convert voltage to PWM. A simple circuit is not linear but you can figure out the non-linearity in the processor.

With the resistance of 150m of cable being relatively so small, there is no need for all this complexity.

To minimise corrosion it's probably well worth only powering up the sensor electronics when taking a reading.