Voltage drop with rectified AC

I'm making a circuit to operate a sprinkler valve that cleans a filter while my sprinkler system is running. I took a 27v AC signal from the sprinkler controller and put it through 4 diodes and a smoothing capacitor and a voltage divider. On the leads I have 4.1VDC, but when I add the positive side to a digital pin set as an input and the negative side to a ground the voltage drops to 2V. I will try and upload a drawing of the schematic, but maybe someone knows immediately what I am doing to cause the drop? I thought the pins were high impedance and wouldn't cause a large voltage drop.
Rectifier

Show a picture of your setup.
And post your code.
Your 2V measurement indicates you are doing something wrong somewhere...

Calculation shows that the open circuit voltage (unregulated) across 680R is: 3V and NOT 4.1V.
==> (2 x 21/2 x 27)/(3.14 x (5100 + 680)) x 680 ~= 3V.

If you connect a load, then the current drawn by load makes a drop across 5100R resistor.

I would suggest you put a 7805 (5V) regulator and increase the 22 uF capacitor to 1000 uf/50V.

1 Like

Where did you find this formula???

Thanks for the quick response! I'll see if I can get a 7805 and a 1000uF, 22uF was just the biggest I had on hand. Checking with a meter AC voltage came out as 27.6V, Across both resistors 35.1V and 4.1V across the 680R, with the Arduino disconnected. Not sure why the math isn't working out... been too long since I took circuits
Bridge Rectifier output

Vdc=Vrms∗√2−2∗Vd =27.6*sqrt(2)-2*.7= 37.63
37.63*(680/(5100+680))= 4.42V

So not too far off, but I'm sure I'm missing something

Your calcs are fine!

22uF is a bit low. In your calcs you assume that the max voltage (peak AC) is held by the capacitor.
Since your load is small, 22uF may be sufficient. Actually, your measurement shows it is sufficient...

This has been covered in any text book of "AC Circuit Analysis"'s Rectfication Section.

I seem to have read different books...
Pi was never in there...
Maybe it is when cap is too small...
But then frequency should also be there...

I'm sure I did something wrong... Forgive my soldering skills


AC red and Black go left to sprinkler control
DC red and black go left to Arduino pin 8 and ground
Yellow is signal for the relay from pin 7
Green and White are positive and negative for the relay from Arduino 5V
Dark Blue is a manual button to run the valve when the system is not running on pin 9

The manual button works, but I haven't tried from the control valve, because I noticed the voltage was 2V instead of 4V when I was checking my connections. The drop occurs even when there is no power to the arduino

// Relay signal for valve
const int valvePin = 7;
// Rectified voltage when system is on, from master valve output
const int systemRunningPin = 8;
// Pin connected to the manual trigger button
const int manualTriggerPin = 9;

void setup() {
  pinMode(valvePin, OUTPUT);
  pinMode(systemRunningPin, INPUT);
  pinMode(manualTriggerPin, INPUT_PULLUP);
}

void loop() {
  // Check if the system is running
  if (digitalRead(systemRunningPin) == HIGH) {
    // Run the valve for 15 seconds every 15 minutes
    runValvePeriodically((unsigned long)15 * 60 * 1000); // 15 minutes in milliseconds
  }

  // Check if the manual trigger button is pressed
  if (digitalRead(manualTriggerPin) == LOW) {
    // Manually trigger the valve for 15 seconds
    digitalWrite(valvePin, HIGH);  // Open the valve
    delay(15000);  // Valve remains open for 15 seconds
    digitalWrite(valvePin, LOW);   // Close the valve

    delay(1000);  
  }
}

void runValvePeriodically(unsigned long interval) {
  static unsigned long previousMillis = 0;
  unsigned long currentMillis = millis();

  // Check if it's time to activate the valve
  if (currentMillis - previousMillis >= interval) {
    // Save the last time the valve was activated
    previousMillis = currentMillis;

    // Activate the valve for 15 seconds
    digitalWrite(valvePin, HIGH);  // Open the valve
    delay(15000);  // Valve remains open for 15 seconds
    digitalWrite(valvePin, LOW);   // Close the valve
  }
}

Ignoring the voltage drops of the rectifying diodes, the unregulated DC Voltage (theoretical):
VUDC = 2 x Vpeak/3.14 = 2 x 1.41 x VRMS/3.14 = 2 x 1.41 x 27/3.14 = 24 V.

The recommendatioons are:
Filter the unregulated DC voltage with 1000 uF to 3300 uF range capacitors.
Use regulator to get a stabilzed DC supply.
Do not take power from a voltage divider.

Sorry but this must be wrong. Peak voltage is always higher than average voltage...

Your soldering could use a bit more tin in the bottom right of the diode bridge.
Do you have a schematic and a picture including the arduino?

digital pin of what?

You are not using this as a power supply to feed your arduino I hope???

Never connect powered devices to a non-powered Arduino.
Which Arduino are you using?

No not a supply just a signal for to trigger a relay.


I didn't know that, I will not do that anymore!

It's an Uno R3 clone

Then you should not see a voltage drop. Try a different pin other than 8

1 Like

I recommend not to use those thick copper wires. These will damage your header.
Use header pins or less thich wires.

1 Like

Did you change the meter to DC to measure the voltage across the resistors?
What model DMM do you have?
Untitled

If you remove the relay connections and just connect the input circuit you have, what DC volts do you measure,
Between A and Gnd, connected to the Arduino and not connected.
Between B and Gnd, connected to the Arduino and not connected.

With the meter in AC volts, measure the above again.

Also measure the 27Vac with and without the Arduino connected.

Thanks.. Tom.. :smiley: :+1: :coffee: :australia:

1 Like