Saturday, July 25, 2015

Extracting Electricity From a Candle Flame

During my time in Sweden I decided to help out IYPT Team Sweden with building scientific apparatus to help with solving the problems set for the tournament in July 2014.

First a little background on IYPT: The International Young Physicist Tournament is a competition aimed at senior secondary school (aged 15 to 18) students. A set of physics problems is issued approximately 12 months before the tournament, students then have to conduct experiments and form some kind of understanding of the problem. The competition a debate in the form of a presentation, opposition, and review by three individual teams.

My next few blog posts will go into a little detail of some of the rigs that Felicia and I helped design and build for Sweden. The rigs have been designed and built to gather accurate experimental data from the results of experiments.

Extracting Electricity From a Candle Flame:
The title of this problem was "candle power plant" and specified that a device was to be constructed that converted the thermal energy released by the flame of a candle into electricity.

Our students decided to with with a peltier element as the conversion device. For this we started with a lab demonstration peltier powered fan. The students at first did a quick test heating one of the aluminium plates. This did produce electricity however once I explained how heat engines work the students agreed that we needed to make some changes...


First lashup with the peltier generator.
The Peltier element was removed from its home and sandwiched between an aluminium plate to act as a heat spreader and a computer CPU heat sink for cooling the cold side.
I drilled a 1.5mm hole into both heat spreaders, this was to allow a thermocouple to be connected to each of them.

Closeup showing the holes drilled into
the hot and cold side heat spreaders.



Setup above a candle
Peltier and heat sink assembly



This setup worked a lot better and allowed some useful data to be collected, the heatsink however was not big enough to dissipate all of the heat from the candle.

To try to counter this, the students added a simple convective chimney made from a piece of a dead measuring cylinder. This improved the power output by approximately 20% and allowed the power plant to run longer before overheating. We made sure to keep the hot side at less than 110˚C to avoid damaging the peltier.

Chimney gaffer taped to the heatsink.
After those tests we set about making a more robust power plant that didn't need a retort stand to hold it together. We came up with what you see below, each of the parts is mounted to threaded threaded rods using nuts. The heatsink clamps the peltier between the two heat spreaders with the springs allowing for thermal expansion without crushing the peltier.

Setup connected and
ready for measurements

Electrical load:
To provide an electrical load for the peltier we used a decade resistance box of appropriate power rating. 


Instrumentation:
As with most of the other systems we have built, Vernier lab hardware was used for data collection.




This project required a total of four analogue channels to be monitored:
Two thermocouples, one each for the hot and cold side: Vernier TCA-BTA




A current probe between the peltier and the resistance box.



And finally a voltage probe to measure the voltage across the load resistance. (Specially modified by replacing the clips with banana plugs)



We used an original Labquest for data collection as this was the only interface we had with four analogue inputs.

At peak output the power plant would produce about 2W before things began to overheat. Assuming the candle is around 100w this puts the peak efficiency at around 2%! No powering the national grid with candles by the looks.

References:
Popular mechanics article on building a Thermopile
Spark Bang Buzz on copper oxide TEGs

Wednesday, July 22, 2015

Making custom Vernier compatible sensors


First off I need to make a small disclaimer for this post: I don’t work for Vernier Software and Technology, nor do I receive any form of financial or otherwise support from them.
Their hardware is very well made and easy to use. Their very open approach to doing business is inline with my personal ethics so I just like using their products in my more education oriented work and projects.

As part of helping out New Zealand preparing for IYPT 2015 I made a couple of custom sensors that are compatible with the Vernier Software and Technology platform of data acquisition hardware.
The first sensor is a rotary encoder interface: Vernier sell such a device, called the rotary motion sensor. However unfortunately due to budget constraints purchasing one was out of the question.

eBay to the rescue: One can purchase low cost rotary encoders which are surprisingly good quality for all of about NZ$15 including shipping. They have an open collector output and happily run on 5v.
I sourced a Vernier BTD cable from Electroflash, Thanks Les!

There was one slight gotcha when I attempted to interface the encoder to a LabQuest Mini: The encoder has a quadrature output, whilst the Vernier Rotary motion sensor outputs Clockwise and Counter Clockwise pulses on two of the digital pins… This had me scratching my head until I reread the user manual here: http://www.vernier.com/products/sensors/rmv-btd/

I initially thought about building a circuit using discrete logic gates but in the end decided in favour of using an Arduino to interpret the quadrature signal and output the direction pulses. This means that the resolution of the sensor can be customised to suit the encoder and or the application if I want to.

I did some quick maths to work out how long to make the direction pulses in the code... Again using data from the user manual:
Maximum speed on the low resolution setting: 30 revolutions per second = 360ppr * 30 = 10.8kHz
Maximum speed on the high resolution setting: 7.5 revolutions per second = 360ppr/0.25 * 7.5 = 10.8kHz
Period = 1/10.8khz = 92.59µs
So assuming 50% duty cycle at full speed the pulse has to be about 45 microseconds wide.

With the code written I made a bit of a lashup using some terminal strip and the Arduino. After plugging the cable into the digital port and manually selecting the sensor in Logger Pro I was presented with an angle readout that changed with the encoder revolutions :-D




I then turned my attention to making the sensor a little easier to use by making it auto identify to the Vernier hardware. Things like Auto ID resistor values aren’t public knowledge, however Vernier did point me to some Arduino code which put me in the right direction.
The code listed the Auto ID voltages for all of the digital sensors, from that I calculated a voltage divider circuit made from two resistors. The divider was wired to the terminal strip and presto! My custom sensor would Auto ID as a rotary motion sensor!
To do on this project is to investigate whether the digital sensors have I2C memory capability, this would allow me save custom resolution data with the sensor itself.

The second sensor I made was a custom pressure sensor. Vernier also sell a pressure sensor which we had borrowed off of another school. For our applications we were measuring very low pressures and also needed the capability of measuring differential pressure…
Unfortunately the Vernier sensor did not have the resolution we needed, so I set about building something custom…

One application was measuring the pressure inside and between rubber balloons, this required both low range and differential pressure measurements. I purchased a Freescale MPX5050DP pressure sensor. It has a maximum pressure rating of 50kPa and conveniently is amplified so its output can be directly connected to the analogue input of a data logger.














As we were in a hurry to collect data, I stuffed the sensor into a plastic project box and connected an analogue cable I crimped myself. The students worked out the calibration slope of the sensor themselves, which they entered when setting up the sensor.

A week or two later I got the opportunity to borrow the Vernier GPS-BTA pressure sensor and took a look inside the case. At this stage I know that the calibration data and Auto ID data was stored in an i2c memory IC. Now I wanted to work out how…














The memory IC in the sensor is a tiny SOT-23 device which was only engraved with “B15B” sticking these numbers and i2c memory IC into Google wasn’t really turning up useful information, so I took a bit of a punt: I made the assumption that any kind of Arduino or similar tutorial would use a pretty common memory IC and starting with those would narrow things down a lot.
This approach worked incredibly well as by luck the first tutorial that I looked at used a 24AA01 i2c memory IC. Looking at the physical footprint information in the data sheet revealed some numbers that matched whose on the IC in the pressure sensor. Bingo!

I ordered a few of the same IC but in DIP format for easy handling, As the home made sensor was at the school, I dug out a dead TMP-BTA temperature sensor (Someone measured the temperature of a candle flame… Oops) and harvested its cable. I soldered the wires and two pullup resistors to the pins of a DIP socket to test everything in an artful rats nest.



You may be wondering right now how I intended to program the IC with data in the first place. Initially I was thinking that copying the data out of an existing sensor with something like an Arduino microcontroller. Then the I thought about whether Vernier had a procedure for fixing corrupted Auto ID information. Five minutes of Googling led me to this page: http://www.vernier.com/til/2289/ 

With my Labquest 2 connected to Logger Pro, I plugged the IC into one of the analogue ports, After telling Logger Pro I was using a pressure sensor and clicking “Restore Default Configuration” it seemed like it had worked. Holding my breath a little I plugged the IC into a different analogue port… It identified as a pressure sensor :-D



Interestingly the procedure did not work from the Labquest 2 UI so I had to use Logger Pro.

To do on this project is to actually install the memory IC into the sensor so it’s useful, I also have a much lower range (4kPa) differential pressure sensor that we intend to use for cool stuff like pitot static measurements of fluid velocity.

References:
My Analogue Sensor Notes:
My Digital Sensor Notes:

Sunday, August 10, 2014

Twisting Rope in a Repeatable Manner

During my time in Sweden I decided to help out IYPT Team Sweden with building scientific apparatus to help with solving the problems set for the tournament in July 2014.

First a little background on IYPT: The International Young Physicist Tournament is a competition aimed at senior secondary school (aged 15 to 18) students. A set of physics problems is issued approximately 12 months before the tournament, students then have to conduct experiments and form some kind of understanding of the problem. The competition a debate in the form of a presentation, opposition, and review by three individual teams.

My next few blog posts will go into a little detail of some of the rigs that Felicia and I helped design and build for Sweden. The rigs have been designed and built to gather accurate experimental data from the results of experiments.

Twisting Rope in a Repeatable Manner:
The name of this problem was "Twisted Rope" and was based on the phenomena that a rope will form loops and or coils when it is twisted sufficiently. 


Loop formed by further twisting.


Slightly twisted rope.
Really twisted rope!
We set out to build a rig that could quantify when and how fast a rope would twist up as accurately as possible. The rig had several components...

Sliding Carriage:
The most important part of the rig was a sliding carriage which one end of the rope was fixed to: This allowed the rope to be twisted whilst the tension in it was measured. The carriage was also used when the rope was allowed to contract under a constant tension.


The sliding carriage.
The carriage was made from a simple piece of wood and two lengths of PVC pipe.

The sliding of the carriage required two very parallel steel rods for it to run on. Building the rig frame such that the rods were parallel and rigid required a lot of thought and careful adjustments.
Most of our rigs are built using lab retort stands and rods, this rig was no different. Once the rig frame had been assembled with all attachments and bracing, there were no fewer than 28 lab boss heads holding it together.


Looking along the rig.

























Twisting the Rope:
We initially started by using a hand crank to twist the rope up, however this proved tiresome and the winding speed was not consistent. Therefore we fitted a cordless drill to the rig, it was powered by a variable power supply so the speed could be controlled. A two position knife switch was wired to allow reversing of the motor. 

Cordless drill clamped into place.
Variable power supply and knife switch for
powering the cordless drill motor.
We later found out also that the winding speed influences the behaviour of the rope's looping somewhat. The video below shows this phenomena.


Counting the Turns:
In order to count the number of turns in the rope we used a Vernier magnetic field sensor and a magnet attached to the drill chuck. A simple threshold detection in Excel when importing the resulting data was used to count the revolutions of the drill chuck and thus the rope.





Measuring the Rope Contraction:
The rope contracts as it's being twisted: Evenly at first, until such point that the rope loops. We tried two approaches to measuring the movement of the carriage.
The first was to use a Vernier CBR 2 which is an ultrasonic range sensor. The sensor was mounted at one end of the rig with a cardboard flag as a target mounted to the carriage.

Cardboard flag as a target.













Early setup with CBR and cardboard flag.




Vernier CBR
This setup worked ok for measuring the linear contraction, however ambient noise prevented us from acquiring sensible data whenever the rope looped.
I quickly tried making a crude rotary encoder by fitting a slotted pulley to the end of the rig. That is there's a string that runs from the carriage over the pulley and then down to a mass hanging from the end.

Close up of the pulley and light sensor.
DIY encoder at the end of the rig.











A light in a tube was shone through the slots in the pulley and a Vernier light sensor was used to count the light-dark transitions. This worked ok, however the pulley had too few slots to give the kind of resolution I wanted.
Our next approach for measuring the contraction of the rope was to borrow a Vernier rotary motion sensor and use it in place of the pulley at the end of the rig. The motion sensor comes with a stepped pulley attachment.

String hanging over the 10mm pulley on the rotary sensor.
What it says.
This worked quite well and when the contraction data was compared with data from the force sensor we were able to detect the stretch in the string during looping events.

Measuring the Tension in the Rope:
During tests where the rope was not allowed to contract, we needed to be able to measure what tension it was under. A Vernier force sensor was mounted at the end of the rig for this.

Force sensor rigidly mounted to the rig.
Force sensor and mass hanging from the string.
During tests where we kept the rope under constant tension by hanging a mass, we still had the force sensor hanging from the string: This gave us data with which we attempted to quantify the magnitude of the stretch in the string. The stretch proved to be quite significant whenever the rope looped suddenly.



Gathering Data:
All of the vernier sensors were connected to a LabQuest Mini and then the data was gathered using Logger Pro.



References:
Available Vernier sensors: http://www.vernier.com/products/sensors/
Logger Pro: http://www.vernier.com/products/software/lp/