Controlling DC generator with Arduino

Hello all,

I am working on a Vertical Axis Wind Turbine (small scale concept model) for a project. I am going to use a DC motor as a generator to output a regulated 5V at a nominal wind speed. My goal is to use an Arduino to slow down the motor (in high wind conditions) and I was wondering if this is possible. I have seen examples of DC motor control but only to set the speed to a certain value.

I would like real-time control of the generator where the end result is the turbine always rotating at a nominal speed, say 10 rpm, regardless of the wind (neglecting efficiency drawbacks). In my mind, the process would be: - measure the current from the generator - compare it to the current produced at the nominal wind speed - if the measured current is greater, slow down motor until they are equal

And be able to do this in real-time in varying wind speeds

Any help is greatly appreciated!

If this is a standard brushed DC motor used as a generator, I think there are only two possibilities for "slowing it down" -- mechanical braking or current draw.

To increase current draw you can use a variable load, but the range is limited to what you can achieve by a direct short circuit. That is unlikely to be enough to prevent destruction of the wind turbine in high wind, so you need a mechanical brake or disabling mechanism in addition.

b_stran: - if the measured current is greater, slow down motor until they are equal

That does not make sense. The usual way to slow a generator is to increase the current (i.e. the load) up to the maximum permitted current. At that point you need a mechanical brake to bring the turbine to a halt.

If you are using a DC generator I don't see the need to control the turbine speed other than to prevent it breaking up in very high winds. And that just requires a mechanical brake to bring it to a halt.


Nothing so far specified suggests any purpose for a microcontroller.

What they do with the big wind turbines is to vary the pitch of the blades on the turbine (and they can "failsafe" to a feathered position to prevent runaway (I have seen video of big wind turbines that failed and ran away - not a pretty sight as things explode)). You could increase the load on your generator to control the speed, but if that fails, you are into the runaway situation with the resulting overspeed. As for measuring the speed, consider a hall effect or optical sensor on the motor or turbine to give you speed - a brushed motor is not a good way to read the speed