Hi! My name is Susannah, and I am a rising senior at Castilleja School. I found Bluestamp after I became hooked on engineering in a couple introductory classes at my school. I was the one who got excited about breadboarding and volunteered to take the aquaponics system home over the summer so I could make improvements to it. Long story short, I am so glad I found Bluestamp! This summer has been fun, frustrating, and rewarding. I have learned so much about everything from how people look at you when you take a bike with a flat tire and tons of wires all over it on Bart to how a boost converter works to how I work without a team. Overall, it has been a fantastic summer. Thanks Bluestamp!
Main Project: Capacitor Storage System for Bike Generated Energy
For my main project I chose to make a capacitor storage system for energy generated by a bike. I knew I wanted to do something that had electrical components but also wanted to explore some other areas of engineering. Originally, I used an LM317 voltage regulator to bring down whatever voltage was outputted from the generator to 5.4V so the capacitors would not be damaged. However, after reaching my original goals for my project I decided to work on improvements. I switched out my charging circuit for a regulating buck converter to make the system more efficient and started working on coding for a bike computer.
Updated Project (2.0)
Once I finished what I had originally set out to do I decided to change some things to improve on the project. The first thing I did was characterize my system. I found that my charging circuit was incredibly inefficient. Originally I used an LM317 to bring the voltage down from what the bike generator outputted to an appropriate level to charge the capacitors, but the LM317 does this by releasing the excess power as heat, so there is a ton of power lost. I calculated that with that much loss it would take about an hour of pedaling to charge the capacitors. So, I decided to switch to a regulating buck converter. This component performs the same task, but does it by opening and closing a switch really fast. The net result is that the voltage is brought down but the current is boosted, so the power is conserved. Now it should take closer to 20-30 minutes to charge – less than half as long!
Once the charging circuit was updated I explored some other possibilities for my bike. I thought about having the generator power the Arduino, but decided to keep the battery that was powering it because there was not a way to have the generator do that and have it still charge the capacitors. I also played around with the idea of having some electroluminescent wire as a decoration. I may still pursue that at some point but decided that it would detract from charging the capacitors too much. Ultimately, I chose to work on a bike computer that could tell speed, distance, and riding time.
The bike computer has been quite a challenge for me because it requires a lot of code. For the speed I attached a magnet to one of the spokes of the bike and a reed switch to the frame where the magnet passes. A reed switch closes when a magnet passes it, so for each rotation there is a signal sent to the Arduino. When the wheel is rotating faster there a more signals sent in quick secession. From these signals and measurements of the wheel the Arduino can calculate the speed and distance. I have not yet gotten that far because I ran into some problems with the code. The reed switch requires an interrupt code because alternatively it would either have to be constantly monitoring and waiting for reed switch to close, which would make it incapable of doing anything else (like reading and displaying capacitor charge) or it would have to check at a certain point in the code, making it very likely that signals would be missed. An interrupt code allows the Arduino to perform all the other tasks required and be alerted to do something else whenever the reed switch closes. Currently I have the interrupt code (mostly) working to have an LED light up when the switch closes. Additionally I have written a timer code (also an interrupt code) to tell how long it has been since you turned the Arduino on – a first attempt at telling how long you’ve been riding. One problem I have with the speed code and the timer code is that I need a bigger LCD to display all of them because they can’t cycle through because of being interrupt codes. Unfortunately, the 20×4 LCD I received was broken, so I am waiting on another one and still working on my code. Once I have it all working I will post it.
For my original project I used a dynamo bike generator, generally used to power bike lights, and instead attached it to a charging circuit for two 2.7V/400F super-capacitors (connected in series). The circuit helps stabilize the output voltage to the capacitor from the varying input from the bike generator. The main components that do this are a LM317 and a 5K Ohm potentiometer. The LM317 is a step-down converter, meaning that it takes the voltage coming into it and outputs a lower voltage. Unfortunately, the LM317 is responsible for a lot of power loss because it releases the excess energy as heat. The potentiometer can be adjusted to provide the right amount of resistance to maintain a flow of 5.4V to the capacitors. Other important components of the circuit are capacitors to smooth the voltage fluctuation and diodes preventing the charge from flowing back from the super-capacitors through the rest of the circuit.
Once I got the main circuit working, I decided to create a display for the charge level of the capacitor. This proved to be a little more difficult than expected. I wrote a code for the LCD while I was waiting for my arduino to arrive, but it didn’t quite work. I was curious about the source of the problem, so I had the serial monitor print the raw inputs that were being read and discovered that it was not accurate. In exploring this a little more I decided that the wiring was wrong and causing the arduino to be unable to read the capacitor well. Even with the connections fixed I knew I still had a problem and found that the math equations in my code were not correct to find the charge value. Once I fixed the equations, I decided that since I had the set-up I would program the LCD to also print “motivational” messages based on the charge level.
Interestingly, it took until this point in my project before I realized that the generator was outputting AC current, but I needed DC. Somehow the project was working anyway, but I built a rectifier using diodes and capacitors to convert the current from AC, which moves both directions, to DC, which only moves in one direction and can therefore be used as the energy for polarized components. (Unsurprisingly) It worked so much better.
This project was surprisingly devoid of many major setbacks. One challenge I faced was having parts different than I expected or planned for. A minor example of this is that we did not have the right value resistors so I had to calculate how to use other capacitors in series or parallel to get to the right net value. Another challenge was that at first I did not solder everything together because I wanted to make sure it worked before soldering. However, this made some of the connections weak, causing testing to be difficult due to inconsistent results. Through this project I learned about capacitors and a little bit about coding. I also improved my soldering skills (and learned that soldering breadboards are very frustrating). In addition I learned about the different components and their uses in my circuit. Overall this project was great to practice electronic, programming, and building skills as well as a wonderful opportunity to problem solve and explore engineering.
Here is the Schematic:
Here is the updated schematic:
Here is the Bill of Materials: Capacitor Project BOM
Here is the updated Bill of Materials:
Copy and paste this code into Arduino: Cap-LCD code
Starter Project: Ultrasonic Parking Sensor
The Ultrasonic Parking Sensor alerts the driver he is getting too close to another car or object when parking by emitting a beeping sound when it senses an object closer than a certain distance. There are two ultrasonic sensors in this system; one that emits a sound wave and another that receives a sound wave when it is bounced back by an object. The characteristics of the returning wave are translated to a voltage that is sent through the system. If the voltage is above a certain threshold value, the breakdown point, (meaning that there is an object within a certain distance) the voltage is allowed to go backwards through the zener diodes and make the buzzer sound.
The sensitivity of the sensors can be changed because there is a trim potentiometer in the system that is semi-fixed, however changing the resistance of the potentiometer is possible. When the resistance is lowered the output voltage is greater, so the sensor emits a wave with a greater amplitude, allowing it to travel further.
One part of this system that is very important is the conversion of AC to DC power and DC to AC. The way AC is converted to DC is through a series of diodes that only allow charge to flow one way. The significant changes of voltage are then evened by a capacitor, making the current very close to constant. In this system the analog sound wave is converted into a DC current that travels to the buzzer. The circuit is powered by DC, so it is converted to AC for the sensors.