I’m a sucker for interesting robots. Especially if they are built out of Legos. Everybody loves the Legway, but you have to admit that the concept is overly simplistic. The real challenge is building the system around the limited resources of Lego’s RCX.
Now meet another balancing robot courtesy of Maurits Kooiman on Lugnet. This one balances on one wheel and apparently uses two RCX bricks and four sensors along with three tires to maintain balance on the axis perpendicular to its unicycle. The robot balances on the main axis by directly powering the wheel. The axis perpendicular to its unicycle is balanced by the set of rotating tires. The fourth tire seems to be a freely swingy pendulum, but it may in fact be controlled by yet another motor. Check out the video!
The team fed Escherichia coli bacteria diluted caramel and nougat waste. The bacteria consumed the sugar and produced hydrogen, which they make with the enzyme hydrogenase, and organic acids. The researchers then used this hydrogen to power a fuel cell, which generated enough electricity to drive a small fan.
They are also using the bacteria to recover palladium metal from the spent catalytic converters of older vehicles.
Clive Maxfield recently posed the Black Box Brain Boggler in the Logically Speaking column of May’s EE Times. The original article was incorrect and posed an overly simple problem. In fact, the real problem is much more difficult, but possible none the less.
At first, this appears to be deceptively simple. We start with a black box with three inputs–A, B and C–and three outputs (see below). The outputs, which we may name !A, !B and !C, are the logical inversions of the inputs.
The challenge is implementing this black box with only two inverters, a bucket of basic gates, and without a hard coded binary 0 or 1. The bucket of gates presents two levels of difficulty. The former being far easier than the latter. In fact, the first bucket should be easy for any digital design student to solve.
The bucket of basic gates contains AND, OR, and XOR gates. Remember, you cannot connect any of the inputs directly to a binary 0 or 1.
The bucket contains only AND and OR gates. The solutions are extremely complex, but do exist!
He recently posted the clarifications and some purposed solutions on DesignLine. If you are curious, here are the spoilers for challenge one and two. If you enjoy proofs, there are some more logic puzzlers for your unsatisfied brain.
My last project brought up the subject of capacitive touch sensing. You may not have realized this, but capacitive touch sensing is currently on the forefront of electronics. Mechanical touch sensors are known to wear and ‘push-less’ sensors are just cooler. In case you did not know, the scroll wheel on an Ipod uses an array of capacitive sensors along with the infamous touch lamp.
For the engineer in you, Planet Analog has a lengthy overview. Basically, you design a circuit that is highly dependent on the value of a small capacitor. The capacitance in a finger then causes a significant and detectable change in the circuits output.
I recently found a doorknob touch alarm schematic while browsing Discover Circuits’ archives. The project was originally intended as a present for my brother’s dorm room, but a bad capacitor and the lack of a proper oscilloscope caused delays. It has not made it off the breadboard, and it probably will not until his next semester. The circuit contains a few basic elements, an flip-flop based oscillator, a set of delays, a flip-flop as a sensor, and the audible alarm.
The first section of the circuit is an oscillator based on a flip-flop. Clock and D are both grounded while Reset is tied high. Hence, the output Q will only be high if Set (node 6) is high. When the output is low, the transistor Q1 is cutoff. This allows node 6 to be charged with a delay relating to the system of impedances R1, R2, R3, and C3. Once the voltage at node 6 triggers Set, the output changes to high and Q1 is opened. Node 6 then discharges out through the capacitor. Once node 6 is low enough, Set is no longer triggered and the output is automatically reset (because R is tied high) to low and the process is repeated.
The screen capture below shows node 6 charging and discharging as the blue trace. The yellow trace is the output at node 1. You can see that the output turns high when node 6 reaches the switching threshold of the flip-flop (about 1.8 volts). Right afterwards it spikes up due to feedback through C2, but quickly starts discharging. The oscillator switches off when node 6 returns below the 1.8volt switching voltage. Feedback through C2 draws node 6 to ground before the process repeats itself.
In order to change the period of oscillation, adjust the value at C3. If you would like to make the pulses longer, adjust C2. The circuit works best right where it is at, though.
The delay and ‘sensor’
The output of the oscillator is divided down two paths. The time constants of the two delays are nearly equal and can be adjusted with the sensitivity potentiometer. The path to node 11 is the Clock input of the flip-flop, and the path to node 9 determines if there is an alarm or not.
In the capture above, node 9 high than the the clock. Hence, the flip-flop stays high when the leading clock edge triggers it to lock. When the doorknob is touched, your body absorbs some of the charge and node 9 charges slower. This can be seen in the capture below. When the clock edge rises, node 9 is not high yet and low value is locked into the flip-flop.
The designer uses an audible buzzer in order to relay the alarm. This is also my intent for the circuit, but I use a LED in my photos because you cannot see sound. They are both attached to the inverting output of the second op-amp (Q-bar) because it is high when the alarm is triggered.
There is an endless number of uses for this circuit, but I will just name a few crazy ideas:
Using the intended buzzer for your hotel or dorm room. (This is a bit more impressive than the old sock trick.)
Connecting the output to a relay that triggers the doorbell for you house. Just make sure to put it in parallel with your standard doorbell switch. That way you can still hear the Fed-Ex man. (This one has a major cool factor when someone opens your door.)
Tying the output into a security or home automation system. You could have the lights turn on as soon as you touch the door handle to scare the dog away from laying on the door.
There are two major microcontrollers in the hobby domain, the popular PIC and Atmel’s AVR line. PICs are tried and true in both commercial and hobby implementations, but the Atmel AVR offers affordable programming solutions, a free development environment, a free assembler and a stable gcc toolkit that work across the entire AVR line.
The AVR is well known for how simple it is to program. To start, you only need a few resistors and a parallel port. This will burn your code onto the microchip, but if you plan on pursuing larger projects you will need a more complex programmer with ISP support. This will enable the extra features and debugging support.
AVR Studio is available directly from Atmel at no cost. It has an integrated simulator and programming software. However, there is only an assembler available. You will have to purchase more software for high level languages.
If you want to use C/C++, then the gcc-toolkit is available for the AVR, free. WinAVR comes loaded with a gcc, binutils, the avrdude programmer, simulavr, and more. On Linux, you will need to download the packages for your specific distribution or compile your own cross-compiler.
A great community
AVR Freaks is a site dedicated to the AVR line of microcontrollers. There is a large archive of tutorials and a very helpful forum.
Depending on the application, charging batteries can be complex process. Charging methods range from constant voltage to pulsed and random charging. Once power is being delivered back into the battery, you have to know when to stop charging!
Once a battery is fully charged, the charging current has to be dissipated somehow. The result is the generation of heat and gasses both of which are bad for batteries. The essence of good charging is to be able to detect when the reconstitution of the active chemicals is complete and to stop the charging process before any damage is done.
Typically, common household batteries are charged with a current that is kept constant and relieved when the batteries reach a predetermined potential. However, solar cells typically generate a constant voltage of 0.5V and a varying current that depends on the amount of collected light. As such, a consant voltage charging model is easier to implement. I found two respectable tutorials on building your own charger:
The first solution uses a diode to stop the batteries from discharging when there is no sunlight. I highly reccomend including this protection. Unfortunately, neither project implements a charge limit. You have to remove the batteries and test their charge with a multimeter. A shunt regulator is the simplest way to regulate the upper limit.