Self adjusted voltage regulator

The proposed project is two parts:

  1. Electronics: Power MOSFET H-Bridge...to control the VARIAC motor.
  2. The arduino part that has two major functions:
    A. Control the direction of the motor
    B. Move the dc motor ENOUGH to get back to the desired voltage say 230 V

My need for advice and guidance is ONLY in part B

To narrow down my request; I need to build a very simple arduino ANALOG input (representing the AC source), controlling three LEDs RED, YELLOW, GREEN. If the Voltage above the PREDETERMINED VOLTAGE
It turns RED, Green LED for BELOW, YELLOW right on Target.

Once I have that I will add the motor movement that represent the adjustment needed to keep the source at 230V

If such sketch already exists, please provide me with the links....

Best regards

Hi,
Use a transformer on the output, the secondary can be 6Vac or 12Vac, that will isolate the arduino from the mains.

Then rectify and smooth the secondary, use a potential divider to get your desired output into the 0 to 5Vdc range.
The smoothed output will be peak voltage, but in this case scale the divider to give the RMS feedback you want.

Then use that feedback and compare it with the SET Voltage.
Adjust the motor UP or DOWN to get the difference ZERO or to within acceptable boundaries.

I am sure there was another auto-transformer thread around quite a while ago.

Tom... :slight_smile:

Thank you Tom for the overview.

I am breaking this project into small parts, and tackle it accordingly. There is no need to reinvent the wheel.
I am snooping around to get the sketches that I need for each part.

Hi,
Small parts, great idea.
This is what I had in mind, feel free to edit/modify etc etc.


Tom... :slight_smile:

arishy:
I need to build a very simple arduino ANALOG input (representing the AC source), controlling three LEDs RED, YELLOW, GREEN. If the Voltage above the PREDETERMINED VOLTAGE
It turns RED, Green LED for BELOW, YELLOW right on Target.

You will need to add some margin for "right on target". How small you want this margin is may determine how complicated the code could get.

The analog input will have some degree of ripple from the AC source so the voltage you read will vary. You can reduce this by having a larger capacitor in the circuit TomGeorge posted above, but a larger capacitor will also delay the response time to actual changes in voltage.

I expect you will not want your motor drive to constantly 'hunt' up and down so, like a servo, it will want some 'dead band'.

You will have to decide how accurately you want to adjust the voltage and how fast a response you need.

There may not be any 'off the shelf' code that does exactly what you want, but a very basic version of this would be quite simple:

  rawValue= analogRead( inputPin );
  voltage = rawValue * someCalibrationValue;

  upperLevel = PREDETERMINED_VOLTAGE + TOLERANCE_VOLTAGE;
  lowerLevel = PREDETERMINED_VOLTAGE - TOLERANCE_VOLTAGE;

  if( voltage > upperLevel ){
     // above
  }else if( voltage > lowerLevel ){
     // in the middle
  }else{
     // below
  }

Yours,
TonyWilk

I know it's really old technology, but why not use a constant voltage transformer? Surplus, they are pretty cheap.

Paul

Great responses and the project IS shaping up !!

Paul: Why ? because I have an "ulterior" motive which is a variable AC source. For what ?? :

dc to variable dc converters are efficient if Input and output are CLOSE to each other. So, if the demand for a specific **INPUT RANGE ** arise rather than building it, I use this concoction (the project in hand)

Tony: very valuable input. Since this is a private lab project, I am not worried about DELAY. And you mentioned greater accuracy will entails more complicated design. I love the challenge. That is how I learn.

As for avoiding a crazy motor (and noise) actions, that will be another challenge.

Tom: Thank you for taking the time to explain your concept which I will follow

UYHS........Use Your Hand ....Stupid !!!

I am talking about using the handle on the Variac.

Here you have it...I did it to myself. Just kidding

1 Like