In 2022 prices of electrical energy have been on the rise in most parts of Europe. In some parts of Europe the electricity supply is immensely disturbed. Therefore I wanted to find a way to reduce the dependency on the grid keeping in mind that electricity is continuously needed in our modern lives. Calculating some numbers proved that a complete grid independent self supply is extremely hard to achieve for an average houshold. So a cost reduction is a more realistic approach but also beneficial.
The Balcony Wind Turbine (BWT) project started in summer last year after some discussions with a colleague who is also doing some outdoor stuff (hiking, paddling etc.) where charging a smartphone in remote areas becomes a problem. Usually I use a small solar panel, useful if it's sunny...
He invented a small wind turbine with foldable blades (canvas) capable of charging a smartphone and he had also experimented with more stationary solutions. From that starting point I had the idea for an own bigger stationary wind turbine for the use at home.
The Hardware PartsTo keep things realistic for a first BWT prototype I looked for electrical machines of several watts and ended up searching in the E-bike motor segment with about 250 W. These are mostly BLDC (Brushless DC) with permanent magnets inside. If used as generator it is in principle a synchronous machine with three phases delivering current. I ordered a used one from a local classified ad with some difficulties concerning transport. The package arrived nearly undamaged with only a small hole in the side.
Unfortunately someone dropped the package on the axle where all the cables passed through...
But with some soldering I was able to extend the cables to a useful length and then checked the functionality with some hand rotating. The machine (<50€) delivers current as expected!
During the design process the electrical machine's starting torque is a crucial factor. I determined this by clamping the E-bike motor horizontally, mounting a lever with known weight and length temporarily and connecting a cord with a vessel at the end. Then I slowly filled the vessel up with water until the load was as big as the starting torque (I had to do this twice, first time I was to fast and got a wet floor -_-).
I ended up with a starting torque of M = 862 Nmm.
The next essential part of the BWT are the blades. A lot of aerodynamical questions had to be kept in mind for the design of such a system. As always: it depends on what you want.
Some essential parameters are:
tip speed ratio: λ
rotor radius: r
number of blades: n_bl
wind speed: v
rotational speed: n
starting torque: M_a
The tip speed ratio λ defines the rotor's rotational speed to the wind speed:
λ = 2*𝜋*n*r/v
It's a preset value, during the design process I chose 2.7 related to my electrical machine. The E-bike motor should not need to spin so fast to deliver it's maximum power output. There is a nice grafic for λ (not translated, but everyone can read numbers...):
The rotor diameter, number of blades is quite dependent on the connected electrical machine's starting torque. Also, the wind speed where the turbine shall start to spin is a design parameter.
But how to make blades?
For quite a while people are using pipe based wind turbines. The blades are cut out of standard PVC pipe (sewage). From the aerodynamic point of view the "pipe blade profile" is nearly as good as a common profile. PVC pipe is very affordable and such blades are quite easy to manufacture at home.
Based on the PVC pipe my colleague had developed a nice design tool for small wind turbines: The RoWiTool III
You can find the download here:
https://www.kleinwindanlagen.de/Forum/cf3/topic.php?t=3502
Besides the tip speed ratio I selected the rotor radius to 0.85 m, set the number of blades to 6 and set the wind speed to 4 m/s, where the BWT should start to spin. The tool calculated a starting torque of 974 Nmm which is the magic number for the connected generator (remember: 974 > 862!).
Then I started cutting the pipe:
The next part was the connection from the blades to the generator, the so called: Rotor hub. The E-bike motor has six screws holding a side lid. I decided to use these threaded holes as mounting points for a rotor hub. For the hub itself I used some strong metal profile steel that I welded together:
Please do not judge my weldings, I ordered the Inverter no long time ago and had no real experience. But I thougth it was a good possibility to improve the welding skills.
After some finishing I needed to drill some holes and attached the blades to the electrical machine for the first time:
As you can see the rotor radius of 0.85 m isn't so small and it's also quite impressive to spin such a repeller slowly by hand. Note: a repeller is the opposite of the more known propeller, it takes the energy from the moving air...
System SetupAgain some physics. I calculated the starting torque of the machine, this assumes that the generator wires are not connected to any load. As soon as an electrical load is connected to the generator, the torque will change with the load resistance. A direct connection to a load is no good idea, the power delivery of such a small wind turbine fluctuates too much, a buffer in between is the better choice. In my case I will use a 92 Ah 12V car battery from Banner which I found in local classified ads:
This thing is quite heavy, the guy who sold it wanted a lighter solution for his camper van, so the battery was nearly unused (75€). Good for me, the BWT is stationary, so weight is no problem.
Doing a small calculation the battery reveals that it is capable to hold 1.1 kWh electrical energy:
92 Ah * 12 V = 1104 Wh
The three phases of the motor need to be rectified to a DC voltage to store the electrical energy in a useful manner. There are approved standard components for rectification so I decided to use a Power Brigde Rectifier SKD 25/12 from Semikron.
A direct connection of a battery load is no good idea due to the small internal resistance. As I stated above this could burden the electrical machine too much, so that the wind turbine slows down to an unfavorable operating point. The better solution is to connect a charge controller that "looks" for an optimal operation point. For solar systems there exist MPPT (Maximum Power Point Tracking) charge controllers which are constantly monitoring the voltage and current output of a solar panel and set the load to a maximum power output (I don't want to go too deep into detail). It's the same principle for the wind turbine, so such a charge controller fits nicely in the concept. The camper market offers a range of products that fulfils the needs of the BWT in terms of source voltage and delivered current. I also got this relatively cheap (75€) unused charge controller from the local classifieds.
The E-bike motor delivers below 75 Volts peak and a maximum of 240 W power. For the real voltage level I carried out some measurements spinning the motor by hand. The maximum sinusoidal voltage output was at around 24 Veff for a dedicated rpm which makes sense for the use as a motor. Spinning faster delivers more amplitude, yes. But we should always stay below the 75 V limit of the charge controller, also by calculating the peak voltage after rectification (diode losses not included):
24 Veff * 1.41 = 33.94 Vpeak
The controller itself has neither hardware setting options nor a display for indicating something but there is a serial bus connection and the manufacturer has released some documentation about the proprietary protocol. So there might be an option reading out and setting some parameters in the future with that device.
We are nearly at the software part...
Before putting all the things together I would like to think about a useful hardware setup. The wind turbine shall be mounted on the balcony on a mast (my current living situation is an appartment downtown in a bigger city) luckily on the highest floor. So there is the possibility of some good wind harvest. For safety reasons the turbines condition should be monitored as good as possible. A superior controller shall monitor the system components like charge controller, battery status and the wind turbine itself. At strong wind condition the turbine needs to be moved in a safe position. This can be done mechanically by applying a so-called furling system where the rotor moves automatically in a safe park position (90° to the wind). Such a mechanic system is designed for a specific wind speed at the end of the turbines operational area and a necessary backup if other safety systems fail. Before that system will be put into operation, an active monitored braking system controls the wind turbines rotational speed. The braking can be done by short circuit the three motor phases (e.g. with a relais + load resistors) which increases the electrical machine's torque so much that the rotor will slow down up to a complete stop.
For an active monitored braking system the BWT's rotational speed and/or the current wind speed needs to be measured so that such system can react when a limit is exceeded. When the BWT rpm is measured the wind speed can be calculated from that, but again for safety reasons a second turbine independent wind speed sensor will be mounted at the mast (redundancy). For my project I will deploy an old WS2300-15 that a friend used for a long time at a weather station of his pilot school. This sensor has a serial output. With the help of Google I found a forum that has already done some reverse engineering for the protocol:
For decoding the data stream I used a PSoC 4 CY8CKIT-049. The controller can be used for this type of wind sensor or measures the time between Pulses (5 V) and calculates the frequency from that. I will place the code in the "main_ws2300-15.c" as additional information.
PSoC 4700SThe actual hardware that shall be used within this project is the PSoC 4700S with its MagSense capabilities. This is the system used to monitor the wind turbine's rotational speed. The benefit for me was the contactless measurement which is quite useful in the environmental conditions where the BWT is placed. Optical systems will gradually run into issues due to pollution. A hall sensor could be an option but could also be disturbed by the motor's permanent magnets, so let's try something new. The detection of a metal target mounted in the moving part of the turbine now is the task for the PSoC 4700S. If the target's proximity is below a certain limit, a time measurement is triggered. Also an LED and an additional GPIO is enabled to "detect a pulse". The PSoC 4700S shall measure the time between these pulses and calculate a frequency from that value. The PSoC will output the calculated frequency via an UART.
I used the PSoC Creator for this project due to some previous experience with this IDE. There was the notice for the ModusToolbox, but at the end all documentation about the CY8CKIT-148 was based on the PSoC Creator. In my opinion the graphic design part seen on the following picture was unique for an IDE and helps a lot reducing development time. Hopefully, the ModusToolbox will get similar capabilites in the near future. The same applies for logical operations. I remember a "breathing LED" Code example completely done in the graphical TopDesign...
The wind turbine's rpm measurement is done with the "Timer_Pulse". As soon as a metal target is detected, the timer value is stored in a buffer. The timer's configuration is essential for the frequency calculation. All in all it's an up-counter with a dedicated time value between the counts. I settled on a 14 kHz clock source whereas the counter has a peroid of 65535 (= 16 bit). If no pulses are detected within this time, the rpm value is zero. For the setting the maximum counter time is:
T_max = 1/14 kHz * 65535 = 4681 ms
This is an interesting number for the slowest rotational speed that can be detected:
RPM_min = 1/4.681 s * 60 = 12.8 rpm
This can be improved by increasing the number of detected pulses per revolution. I opted for mounting two metal targets, which allows to determine 7 rpm as lowest limit.
The CY8CKIT-148 development kit has the possiblity to connect external proximity sensors. Additional to that kit Infineon sent the CY8CKIT-148-COIL, an Inductive Sensing Coil Breakout Board which allows a lot of experimenting with the MagSense feature. In my case I used the CR2 Coil for detecting my two metal targets. The two metal targets were fixed with tape for an experimental setup within the rotational part of the turbine (the tape is not shown in the following picture). The proximity sensor CR2 was mounted on the fixed part of the turbine's structure, then some test measurements were carried out.
In addition to the proximity coil I mounted a hall sensor as reference for measurements with the oscilloscope, not seen in the picture. This allows the calculation of the frequency independently from the PSoC 4700S. The next oscilloscope picture shows the metal target's detection on channel 1 and the hall sensor signal on channel 2. The frequency on channel 1 is twice as much as the frequency of channel 2 what makes sense due to the two metal targets. So the PSoC has to divide the timer values by two (see attached main_MagSense_Freq.c).
The pulses on channel 1 are not constantly set what also makes sense, because after measuring the time between a dedicated number of proximity detections the PSoC 4700S calculates the frequency value, sends it via UART and has a delay before starting the next measurement (CyDelay(), see main_MagSense_Freq.c). Here is the output on the serial bus:
I spinned the turbine by hand in a ramp up to 3.9 Hz, the calculation of the frequency was plausible compared to the hall sensor's frequency determined with the oscilloscope.
So the feasibility as an rpm detection for the BWT is proven. The next step is to think about a hardware setup that can be used in all weather conditions. The CY8CKIT-148 Board has to be mounted in an IP67 box and the proximity coil needs to be protected from the elements. I think I will put a layer of resin or something alike around the CR2 and will have to mount it permanently on the turbine's fixed structure. The box also needs some cable bushings with the same IP rating.
Additionally, the PSoC 4700S shall be used as an interface to monitor some further environmental data. I would like to measure temperature / humidity and air pressure. There are a bunch of sensor types with an I2C bus capable of doing that, but this part of the project is currently not finished. I need to select a set of sensors and have to build up an experimental setup as well, furthermore there is some coding needed. At the end the PSoC should send the data additional to the frequency value through the serial bus connection.
A master controller can monitor all these data and has to decide accordingly (brake or not brake). The wind turbine's condition and also battery and charge controller status will be monitored by this controller, furthermore this could be the connection to a host PC or the internet.
Comments