Setup for a homemade windmill

Hello a friend of mine has build a windmill and he is producing electricity from 3 car generators, but we have a problem since those generators need a 12v signal to start the generator and therefore i could really need some help to produce a program so the arduino can control those 3 generators.

It needs to control when the 3 generators should start when the windmill reaches a certain RPM

So the arduino will be measuring at a wheel with 20 teeth or something with a indutive sensor and when the windmill reaches 20 rpm it shall start the first generator and then start the second generator at 30 rpm and at 50 rpm it shall start the third generator so the windmill dont go crazy at 100rpm or something. the arduino shall also trigger a brake if the windmill reaches something like 65 rpm.
I would like the arduino to show rpm at a lcd panel also.

I have a arduino starter kit .

Will someone help me build such a program?

Im also willing to pay some money for anybody to help me.

Here is a danish news paper with a picture of the windmill if anybody is interested:)

Thanks in advance

Leon Andersen

First step is to measure RPM - do you have a suitable sensor (Hall?) in your kit?

I can help writing the program - but the big wildcard here is the speed sensor. That part is very hard to do without physical access to this sensor for testing and debugging.

Also, how do you plan on getting the 12V signal to the generators? How does that signal even work, and what currents are involved here?

Hello i was planning to use a inductive sensor (one that detects metal) and program like on this topic Inductive sensor

But we need a command to convert that signal to (60 x signal = 1 rpm)

And about that 12v signal to the generators i will use a 5v relay and external 12v supply to start the generator. so we just need a 5v signal out of the arduino to control them.

The hard part is the inductive sensor - and that you will have to build.

After that it's a matter of counting pulses, know how long between two pulses and it's a simple calculation to rpm.

Then based on rpm you set the pins:

if (rpm > 20) {
  digitalWrite(generator1Pin, HIGH);
}
else if (rpm < 15) { // hysteresis!
  digitalWrite(generator1Pin, LOW);
}

And that for all of them. Easy peasy. Do add hysteresis or you get lots of switching when the rpm is close to the threshold value.

I am really new to this.. i can read c programming but i can certainly con write it.

But my idea for the inductive sensor was to let it put gnd out of the signal cable to the arduino and let the arduino look for that gnd signal. is it possible?

But my idea for the inductive sensor was to let it put gnd out of the signal cable to the arduino and let the arduino look for that gnd signal. is it possible?

Yes, that's how npn open collector sensors work. The output has a pull up resistor, and becomes grounded when active.
http://www.fotek.com.tw/pdf/etc_227.pdf

The issue with that sensor is that it operates at 10-30v and expects the pullup on the output to be at that level.

You will be better off if you can find a 5v sensor, or else use a digital hall sensor switch with magnets place on some rotating part of the windmill.

With a toothed wheel, an optical sensor is another option. Do you have an IR led and IR photodiode in your starter kit? You would place them either side of the wheel so that the teeth block the light as they pass.

An alternative to counting 60 pulses and timing them is to measure the width of one pulse and convert this to rpm using the pulseIn() function.

Hi
Welcome to the forum.

but we have a problem since those generators need a 12v signal to start the generator

Generator == Car Alternator.

There are inductive sensors specifically designed for reading gear teeth for tacho applications.
You cannot reliably use a simple inductive proximity sensor.

Tom... :slight_smile:

cattledog:
Yes, that's how npn open collector sensors work. The output has a pull up resistor, and becomes grounded when active.
http://www.fotek.com.tw/pdf/etc_227.pdf

The issue with that sensor is that it operates at 10-30v and expects the pullup on the output to be at that level.

You will be better off if you can find a 5v sensor, or else use a digital hall sensor switch with magnets place on some rotating part of the windmill.

Hi i think i will buy this sensor because it only needs 5v dc. will it work?

TomGeorge:
Hi
Welcome to the forum.
Generator == Car Alternator.

There are inductive sensors specifically designed for reading gear teeth for tacho applications.
You cannot reliably use a simple inductive proximity sensor.

Inductive and Hall Effect RPM Sensors Explained

Tom... :slight_smile:

Hi thanks:) it looks like a nice forum:)

Offcourse its called a alternator its just my bad english hah.

Cant i use this inductive sensor ? M12 DC 5V NPN NO LJ12A3-4-Z/BX-5V 300mA Inductive Proximity Sensor Switch 4mm | eBay

Cant i use this inductive sensor ? M12 DC 5V NPN NO LJ12A3-4-Z/BX-5V 300mA Inductive Proximity Sensor Switch 4mm | eBay

The 5v is a better fit for the Arduino than the first sensor. It's low enough in cost to give it a try.

What exactly are you trying to sense? What is the size and spacing of the triggering features?

IMHO the simplest sensor is what is called a slotted optical switch. Basically an IR LED on one side and an IR photodiode on the other. The disk with the slots runs in the slot of the switch and the light is blocked or permitted to pass as the disk rotates.

You can also get reflective optical sensors that can, for example, detect blobs of white paint on a black disk if it is not practical to have a sensor straddle the disk.

I'm not sure if your concept of switching in different alternators at different speeds will work. When a second alternator is switched in the load will increase and the speed will decrease sharply, probably well below the switch-in threshold.

The usual way to control the energy generated by an alternator is by regulating the field current. I think I would be tempted to have all the alternators always connected and just regulate the field current for all three.

I think you should aim for constant speed running with a variable load - that's how large wind turbines work. The alternative is probably to let it run at any speed it likes with some form of aerodynamic device to prevent overspeeding and use an MPPT type controller to match the output to the load.

You should also be aware that a wind turbine reacts almost instantly to changes in windspeed so your alternator load control will need to be very responsive or the whole thing will either stall or overspeed.

...R

Vidoco:
Hi thanks:) it looks like a nice forum:)

Offcourse its called a alternator its just my bad english hah.

Cant i use this inductive sensor ? M12 DC 5V NPN NO LJ12A3-4-Z/BX-5V 300mA Inductive Proximity Sensor Switch 4mm | eBay

If the generators really are alternators, is he using the three-phase direct output of the alternators, or using the built-in rectifiers? And if using the built-in ones, why is he not using the one-wire, self exciting alternators. Then NO 12 volts is needed to start the generation.

Paul

Paul_KD7HB:
If the generators really are alternators, is he using the three-phase direct output of the alternators, or using the built-in rectifiers? And if using the built-in ones, why is he not using the one-wire, self exciting alternators. Then NO 12 volts is needed to start the generation.

Paul

it is because we want to control wich alternator we will turn on.

The wings in the windmill has a self controlling angle so it can kind of self control a stable rpm but when it beginds to be windy we need to turn on the third alternator and thats why i wanna use the arduino for that. and also for showing rpm on a lcd panel. and use that rpm for controlling alternators and a safety brake.

And how is the gear ratio for the alternators? Must be kind of a high to produce any kind of current with that low spinning blades:

Another problem is that you cant stop standard alternator form charging once it is already working to lighten the load of the mill. If that even was a requirement for the OP.

That can be done ofcourse, but in that case you need to either modify the voltage regulators or what might be best option to ditch those completely and put arduino to drive the rotor coils directly via some sort of PWM-driver. That way you'll have full control, but surely things will get much more complicated too :slight_smile:

MarkoY:
And how is the gear ratio for the alternators? Must be kind of a high to produce any kind of current with that low spinning blades:

Another problem is that you cant stop standard alternator form charging once it is already working to lighten the load of the mill. If that even was a requirement for the OP.

That can be done ofcourse, but in that case you need to either modify the voltage regulators or what might be best option to ditch those completely and put arduino to drive the rotor coils directly via some sort of PWM-driver. That way you'll have full control, but surely things will get much more complicated too :slight_smile:

The gear ratio is fine he has run that windmill for about 2 years with 3 contacts he can turn on by himself. but the windmill cant get started if the 3 alternators are turned on all the time. thats why we need arduino to control them:)

The 3 alternators are charging 3 big Truck batteries.

So i need someone to help me writing a program with these requirements.

1 : show rpm on lcd from a 5v inductive sensor i allready have ordered from ebay.
The inductive sensor will be pointing at a teeth wheel or something with lets say 20 teeth.

2 : with these rpm readings i wanna control when to turn on those 3 alternators (alternator 1=20 rpm /alternator 2=30 / alternator 3=30 rpm or something)

3: an output to a brake or something to slowly bring down rpm if it goes crazy at 70 rpm or so.

Many thanks so far:)

Vidoco:
Hi thanks:) it looks like a nice forum:)

Offcourse its called a alternator its just my bad english hah.

Cant i use this inductive sensor ? M12 DC 5V NPN NO LJ12A3-4-Z/BX-5V 300mA Inductive Proximity Sensor Switch 4mm | eBay

This is what the ebay site says about this sensor;

It is a component widely used in automatic control industry for detecting, controlling, and noncontact switching.
When proximity switch is close to some target object, it will send out control signal.
As it is capacitive type proximity switch, its detecting object target is not limited to only conductor, but also liquid and even powder things, like plastic, water, glass, oil, etc.
It's widely used in machine, paper making, light industry for limiting station, orientation taking count, speeding trial ect.

It is not inductive, it is a proximity switch.

  • Note:
  • 1.Please allow 1-2cm error due to manual measurement. pls make sure you do not mind before you bid.

With 1 to 2cm error, you will not be able to detect individual teeth.
Tom... :slight_smile:

Vidoco:
So i need someone to help me writing a program with these requirements.

Start by getting a sensor for speed and writing a short program to count the pulses and calculate the speed and display the results on the Arduino Serial Monitor. As I suggested in Reply #12 I would use an optical sensor. But whatever sensor you decide on the first requirement is a simple program to prove that it is working reliably.

You can't consider the control part of the program until you have reliable data.

...R

Hello all i have now made a program that works.

I have used a (ir obstacle avoidance sensor) and a 8pcs. relay to control alternators

but we have a problem

1 problem. the lcd display doesent work when there is so cold as we have it in denmark -10 Celcius degrees so i would like to use a 4 digit 7 cegment display that i have from the arduino package.

2 problem is that when the windmill turns around it rotates the axle the ir snesor looks at very quickly and then stops wich results in the arduino thinks the windmill still goes 10rpm and therefor activates the relay.

Can anybody make that changes to the program to fix those problems.

Many thanks in advance

Regards

Vidoco

Program.ino (2.8 KB)