Voltage regulator for brushless synchronous generator

with harmonic excitation winding             

When I set up my home in what some people like to call "wilderness", I built a microhydro system to provide for all the energy needs in my home. For this purpose I bought two generators, to use one permanently and have the other as a spare, to be swapped in case of serious trouble.

The chosen generators are of the Chinese TFDW type. These come with an AVR, that is, an "automatic voltage regulator". In 11 years of continous use, I have had three failures of those AVRs. The first one happened due to a voltage transient caused by a nearby lightning hit, which killed that AVR but very little else, because the original AVR was (mis)designed in such a way that it is extremely sensitive to transients. That time I swapped the dead AVR for the one in my spare generator, and then tried to take apart the dead one, to either fix it or copy it. They come potted in hard black epoxy resin, which is great to avoid failure from vibration, but nasty when it comes to repairing. I managed to take it apart, using a lot of heat, patience and brute force, but after reverse-engineering it I found its design to be so poor that it wasn't a good idea to repair it, let alone build a copy.

I ordered two new AVRs from China. They are very inexpensive. The problem is that none are available that fit the TFDW generator really well. The closest fit is one made for the ST line of generators, which are brush-type machines, but at least use the same excitation winding system as the TFDW. So I bought two GB-160 AVRs, but unfortunately they don't work correctly with the TFDW generators. The combination is unstable, making the output voltage oscillate by several tens of volts at roughly 3Hz.

Shortly later the second original AVR failed, and this time there was no external cause. Simply its little power transformer burned out. Small 50Hz transformers have thousands of turns of very thin wire, which tends to corrode at the soldered ends, due to tiny residues of corrosive flux, or simply oxygen and moisture in the air. Given the emergency I had to install one of the new GB-160 AVRs, and live with dramatically flickering lights and a dancing refrigerator, while I fixed the failed AVR. I had to find a suitable transformer for it, and I had to remove its electronic board from its metal shell, which I did by heating the shell with a blowtorch, to quickly soften the epoxy between the board and the shell before overheating the components. It worked, enabling me to remove the board, and replace the dead transformer on it.
Two years later this AVR started failing again, in a gradual way. The regulation got ever worse, it got ever more sensitive to load transients, very likely due to failing electrolytic capacitors. It has several of them, installed very close to power resistors and other parts that get hot. That's a sure recipe for failure after some years of use.

At that point I decided to finally design my own AVR for this generator. I built it into the shell of the first original AVR, with the terminal block at the same place, for best mechanical compatibility. The result is what you can see in the title photo.

Dynamics of brushless generators

Conventional brush-type generators are simple animals: A DC-powered field winding rotates inside a stator, which can have  a single-phase or a three-phase winding. The DC is applied to the field via carbon brushes and sliprings. At the rated speed, roughly half the maximum rated field voltage and current are needed to produce the nominal output voltage, while at full load nearly the full excitation is needed. For the sake of control loop analysis, those generators have basically a single-pole response, the pole frequency given mainly by the resistance and inductance of the field winding. Additional poles appear only at frequencies so high that they don't cause trouble. Such a generator is easily controlled by any simple proportional or proportional-integral controller. Most AVRs for them use just proportional control, with relatively high gain.

But the TFDW is a brushless synchronous generator, that is, instead of feeding the rotating field winding by means of carbon brushes and sliprings,  it has a second generator mounted on the same shaft, called an exciter machine. This exciter has the field winding in the stator, and a three-phase winding on the rotor. Its output is rectified by a three-phase bridge mounted on the shaft, and the resulting DC goes to the field winding on the rotor of the main machine.

As a result of this architecture, there are no brushes nor sliprings, eliminating the constant maintenance headache related to them. But the AVR for such a generator has a harder job to do, because the generator has a two-pole response: Both the field winding of the main machine and that of the exciter have a slow response, given by their high inductances. And in my TFDW generator both of them happen to have almost exactly the same pole frequency: 4.5Hz.

Two poles on the same frequency is somewhat of a problem to a controller. A proportional controller will make the system oscillate, as soon as it has a decent gain. That's what happens with the GB-160 AVR. A PI controller will also oscillate, if the P gain is high enough. A PID controller should be able to control such a machine well enough. But there is a problem: Since the output is an alternating voltage, it needs to be rectified and filtered to take a sample for regulation. And this filtering adds a third pole! If this third pole's frequency is within the same order of magnitude as the machine's two poles, we will get an oscillator even when using a PID controller. And that filter's pole cannot be very much higher than 4.5Hz, because it needs to provide good rejection of the rectified 50Hz signal (100Hz), and it cannot be very much lower than 4.5Hz, because then the AVR's reaction to load changes would be too slow! So, we do have a problem.

I intend to eventually design a "perfect" AVR for this type of generator, but for the moment, as a quick and dirty solution that works well enough, I decided to use the same old principle used in many AVRs over many decades: Make a simple proportional controller, make its phase delay as small as possible, and make its gain  just low enough so the system is stable. And then live with whatever voltage stability it produces. That's the AVR described in this article.

Harmonic and outphased excitation windings

The DC for the field winding needs to come from somewhere, and an AVR needs to get powered in some way too. A simplistic approach is to use the 230V output for both purposes, and many commercial AVRs do just that. In a benign environment (no overloads, no short circuits, and with a speed-regulating prime mover) it works well enough, but when the generator has to supply current surges, for example to start motors (compressors, refrigerators, electric tools) it doesn't work so well, because when the surge happens and the voltage sags, the field current will also sag until the AVR has time to respond. This will exacerbate the voltage drop caused by the overload. And in the case of a microhydro turbine driven generator, this is even dangerous: A short circuit at the output will shut off excitation, so the generator will stop generating, and the turbine will make it overspeed. This can mechanically destroy the machine, due to centrifugal force!

To improve this, many generators have a special excitation winding on the main stator. This is not just a lower voltage winding working parallel to the main 230V winding, because if it were, its voltage would drop whenever that of the 230V winding drops. Instead it's either an outphased winding, typically wound in 90 phase relative to the main winding, or it is an harmonic winding, wound at 3 times shorter pitch than the main winding. When there is a heavy load on the generator, the magnetic field in the stator distorts, weakens in the direction where the main winding works, and thus strengthens in the direction of the outphased winding, so that this outphased winding will increase its output voltage. Also the harmonic contents of the field in the stator will increase, leading to a higher output voltage from an harmonic winding. So, if a harmonic or outphased winding is used to power the generator's excitation winding, this will tend to compensate for the load-induced voltage drop, just like in a compound generator. And in the event of a short circuit, the generator will remain strongly excited. This gives such generators the ability tu supply very large transient currents, for example to start large motors.

The TFDW generator has both an outphased winding and an harmonic winding. I haven't investigated how they are connected, but I assume that they are simply in series. Under typical operation, at nominal output voltage and about one third the maximum load, my generator has roughly 55V on this winding. As shown in the generator schematic above, the output of this winding is rectified and applied to the field winding, with two terminals named "Z" in between. I understand that an older version of this generator model had just a rheostat connected to those terminals, to set the output voltage, while all load compensation was done through the effect of the combined harmonic and outphased windings. Later an AVR was added to provide a stable output voltage that doesn't require adjustment, and this AVR in principle does't need to be very fast or to have high gain, because a good amount of load compensation comes simply from the use of these special auxiliary windings.

There are several models of AVRs for brushless generators on the market, such as the GAVR-8, GAVR-12 and larger ones, which don't use these windings, instead taking all their power from the main 230V output. While they should work with the TFDW generator, I didn't want to use any of them, mainly to avoid the risk of a short circuit on the output causing excitation loss and allowing the rotation speed to run away, possibly destroying the machine.
So, after all analysis of my generator model and of the available AVRs, I decided to build a new AVR that pretty much copies the same functionality of the original one, but in a simpler, more elegant and more reliable circuit. Although I don't think that galvanic isolation between the generator's output and the excitation circuitry is necessary, the original AVR had this, so I designed the new one to have it too.

The new AVR

This regulator is an excellent example of a very simple circuit that works in a much more sophisticated way than what's apparent at first sight.

Whenever the generator isn't running, or running very slowly, the relay is in resting position, holding the Z contacts closed. This allows the generator to self-excite as soon as it reaches a sufficient speed. As the speed increases further, so does the voltage. Through D1-D4 and the resistors in that part of the circuit, the optoTRIAC will get enough input current to turn on as soon as the generator's voltage exceeds roughly 40V. The zener diode is still far from conducting, and so Q1 stays off. As the generator's speed keeps increasing, and also its voltage, eventually the relay pulls in and opens the connection across the Z contacts, but by this time the optoTRIAC is solidly on, leading to the triggering of Q3, which keeps the Z contacts essentially joined by the TRIAC.

When the generator's voltage reaches the setpoint, at nominally 230V, the zener diode conducts enough current to cause a voltage drop across R6 that brings the transistor into conduction. At this point the transistor will rob current from the optoTRIAC, which will turn off. This leads to Q3 turning off on the next zero crossing of the generator's excitation winding's current. The circuit now goes into pulse-width-modulating mode: The voltage on C1 is a DC level with a significant amount of 100Hz ripple on it. This ripple makes Q1 change its conduction in such a way that the optoTRIAC turns on and off at a 100Hz rate, a small change of the generator's voltage causing a small shift on the DC level on C1, changing the amount of the ripple waveform that lies above the point that turns Q2 off, so that the duty cycle of Q2 varies from zero to 100% when the generator's output voltage varies over a few volt.
While Q2 gets 100Hz pulse-width-modulation, the field voltage follows this in a somewhat strange way, since the generator's excitation winding outputs a mix of outphased 50Hz and 150Hz voltage, producing a waveform that changes with generator loading. But this strangeness in the resulting voltage waveform doesn't cause any trouble, because it's happening at frequencies where the high inductance of the field winding performs a very good smoothing action. The field current is a pretty smooth and clean DC. The rectifier bridge in the generator not only rectifies the AVR-controlled AC into a DC, but also acts a as a free-wheeling diode for the field winding.

It has to be understood that this AVR does not regulate to a perfectly fixed voltage. Instead it regulates the output into a small voltage range, that is, the generator's output voltage will drop by a small amount when the load increases. In most applications this is acceptable, and in some cases it's even desired. If necessary this behaviour could be compensated or even overcompensated by compounding the 230V input to the AVR by means of a suitable current transformer and load resistor that senses the generator's output current. Overcompensation can be used to make the generator increase its output voltage with load, to cancel the voltage drop in long transmission lines to the places where the energy is used.
When the generator is stopped, the relay will drop and short out the Z terminals before the optoTRIAC turns off, thus the generator remains excited until it's running too slowly to self-excite.

An interesting detail is how thermal compensation is implemented in this AVR. Relatively high voltage zener diodes, like D5, suffer from a pretty strong positive thermal coefficient. If left uncompensated, the generator's voltage would rise in warmer weather, and would also rise while the AVR warms up during use. So I compensated for this by using the much smaller negative thermal coefficient of Q1: When both D5 and Q1 get warmer, D5's voltage rises, requiring a higher voltage at its cathode. At the same time Q1's base voltage drops slightly, at the operating level where in average it robs just enough current from the optoTRIAC. The lower base voltage causes a lower current to flow through R6, which in turn reduces the current flowing through D5, and thus through  R3, R1 and R2. The resulting lower voltage drop on those resistors provides the required higher voltage at D5's cathode, while keeping the generator's voltage constant.

For this thermal compensation to work properly,  R6 must have the correct value relative to the other resistors in the circuit, and Q1 and D5 need to be at roughly the same temperature. I implemented the latter by placing the transistor very close to the zener diode, keeping them reasonably separated from power resistors, and installing the AVR in my generator in such a position that D5 and Q1 do not get exposed to warm air rising from the parts that get warm, mostly the four input power resistors and the relay.
It's also very important to understand that the value of C1 is critical, and needs to be optimized for the generator's characteristics. If you use this AVR for a generator different from the 10kW TFDW, you should absolutely try different capacitances, and pick the correct one. The capacitance value has two effects: One is that the smaller it is, the less phase lag it will cause, aiding stability and speeding up the response. The other is that the larger it is, the more gain the AVR will have. More gain causes tighter regulation, but beyond a certain value the system will become unstable and oscillate, typically at a few Hz.

In my original design I used 4.7F for C1, which is also the reason why I used 4.7F for C2 - simply to use two identical capacitors and thus reduce the number of different parts needed. That's also the reason why the six power resistors are of the same value - I tailored the circuit so that I wouldn't need to buy several different values of power resistors. R7 and R8 came from my junkbox, by the way, recycled from old TVs, as their values are fairly uncritical.

When I made the first test, with 4.7F at C1, my generator oscillated. Not as bad as with the GB-160 AVR, but still it oscillated. So I started reducing the capacitance value. At 1.8F it still oscillated, at 1.5F it was marginally stable, and at 1.2F it was fully stable. So I kept 1.2F, despite the fact that the only suitable capacitor of this value that I had at hand was a special high-current type with 4 terminals, a real waste in this application! It's the big blue one in this photo, which shows my AVR in its final form, ready to be installed, complete with some hot glue immobilizing large parts that might otherwise vibrate.

If the value of C1 is changed by a large amount, R4 also needs to be changed slightly, to keep the adjustment range centered around 230V. With 4.7F the correct value is 8.2kΩ. Below 1F probably 10kΩ is needed.

To complete comments on the circuit design, I may add that R8 and C2 form a snubber network to aid TRIAC turn-off, and that most likely these are not necessary, but I added them for safety and peace of mind. R7 is sized to limit the worst-case trigger current pulse to a value that both Q2 and the gate of Q3 can take, and if you use this AVR with a generator whose excitation winding delivers a very different voltage than the 55V of mine, you should scale the value of this resistor accordingly. The TRIAC is rated at 600V peak and 16A RMS, while the optoTRIAC is rated at 800V peak, so this AVR should be able to control pretty large generators. I used this oversized BTA16600 TRIAC because I had some of them, they are inexpensive, widely available, and have an insulated tab, which facilitates mounting.


After having to hack the original AVRs out of their epoxy potting, due to 3 failures in 11 years, I wanted to make my design more reliable than that.  I made a transformerless design. The resistors have generous power and voltage margins. No electrolytic capacitors were used, because those are a very common cause of trouble in long-term use. To the extent possible the parts are used far below their maximum ratings. The rectifier diodes were placed behind resistors, and with capacitors across them, making them almost indestructible by voltage spikes. In addition there is a varistor to clamp voltage transients, which may be unnecessary to protect this AVR, but is useful to protect other parts of the system, and prevent flashovers. The original AVR instead has its diodes directly connected to the 230V input, without any protection at all, which caused their destruction by a transient from lightning hitting ground 600m away. The PCB was sprayed with acrylic lacquer after soldering, to prevent corrosion.
My main reliability-related worry is the relay. To avoid a transformer, the relay has a 110VDC coil with 29kΩ resistance, which is made from extremely fine wire. If anything corrosive gets at the soldered ends of this wire, it might easily corrode through and make the relay fail. I considered using a relay with a 220VAC coil instead, which would allow saving 8 components in one strike and also be much more reliable thanks to the much thicker wire used in an AC relay coil, but I was worried that during generator startup and slowdown, at low speed and low frequency an AC relay might chatter and get damaged. If you want to copy this AVR, and you have a suitable 220VAC relay at hand, try it with your generator. If it doesn't chatter, use it in place of my DC relay and its power supply!

I hope to eventually design an AVR for this generator that doesn't need a startup relay.

The PCB 

I designed this board specifically to fit the metal shell of the original AVR. Unless you are replacing an original TCEL CF-400 AVR and want to re-use its shell, there is probably little point in exactly copying my board design. Anyway very likely some of your components will have different footprints than mine. But if you want to use it, here it is. Click on it to get the high resolution version.

Please note: There is a bug on this PCB! Pin 4 of the optoTRIAC is connected to pin 1 of the TRIAC, instead of pin 2! I'm getting old and I'm starting to do stupid things, I know. I had to cut away that trace and replace it by a wire. And I was too lazy to re-design the board just for publication on this page.

Don't worry about the reversal of pin 4 and 6 of the optoTRIAC. That's not a bug, since those pins are totally interchangeable. Likewise it doesn't matter on which output terminal of the optoTRIAC R6 is. I privileged easy layout over slavishly following the way I drew the schematic, and then I was too lazy to change the schematic accordingly! You will understand, I hope...

R4 is split into two series-connected resistors on the board. This is because I didn't have any suitable 0.5W resistor at hand, so I used two 1/4W ones in series, 4.7 and 4.3kΩ.
Note that all traces have proper clearances to the borders of the board, and those that have relatively high voltage between them also have that clearance between them. This is very important, and is something many newcomers to PCB design tend to get wrong.

Here you can see the soldered PCB. Note that a generous amount of solder was used, and the terminals of large parts were bent over before soldering, to avoid failures from vibration. I used good old 60/40 tin/lead solder, as I'm unconvinced of the reliability of lead-free solder.

You can see the location of the wire bridge that fixes the bug I made in the design.

I made this PCB by the photographic method, using presensitized board material bought on eBay, and printing the design with a cheap inkjet printer on Pictorico Ultra Premium transparency material. That method is practical and works every time. What I dislike is that the copper on these boards seems to be very thin, and the board surface is groovy, and the copper too - but it's good enough to work. I need to find some better quality presensitized board material for more demanding PCBs.

Recently I made some experiments with the toner transfer method, but with my laser printer it simply doesn't work, neither using magazine paper nor using special transfer paper. And the results I have seen on PCBs made by other people by the toner transfer method are poor, with attacked, porous copper traces. That doesn't happen with the photographic system, so I will stick to this for now.


The AVR is working cleanly, providing a significantly better regulation than the original one, thanks to its gain having been empirically adjusted as high as possible within stability constraints, by selection of C1's value. But there are still a few volt of droop when the load varies between zero and maximum. Not enough to have practical effects, though. As I write this web page, the generator with this AVR is powering my home.

I would expect this AVR to work with most 230V brushless generators that have a separate excitation winding, be it harmonic, outphased, or a combination. It should be possible to use it with a wide range of generator sizes, from the smallest all the way to 100kW and somewhat beyond. It can be used with 230/400V three-phase generators by sensing only one phase, or the circuit could be modified by changing the sensing rectifier to a three-phase bridge and adjusting some component values. If this is done, C1 can be very much smaller for a given gain, due to the much higher ripple frequency and lower ripple amplitude of a rectified 3-phase signal, and this should allow higher gain and thus tighter regulation.

Of course it can also be used with brush-type generators that have an excitation winding, like the Chinese ST line. Since these are far less critical regarding  loop stability, I would suggest to start testing with 4.7F for C1 and 8.2kΩ for R4 (3.9 and 4.3kΩ in series, if you use 1/4 watt resistors). Most likely it will be stable, and have a droop of less than one volt.

Back to homo ludens electronicus.