Twinkling LED Heart of Love

“Love is a smoke raised with the fume of sighs,

Being purged, a fire sparkling in lovers’ eyes,

Being vexed, a sea nourished with lovers’ tears.

What is it else? A madness most discreet,

A choking gall and a preserving sweet.” (William Shakespeare)

When in love it can be important to find the right gifts for the right occasions. You know, the kind of thing that would bring a big smile to her face (followed by a wet kiss). It can be difficult to even remember to buy a present, let alone come up with something that will be appreciated. But fear not! I have found the solution to the problem and next Valentine’s Day you will be ready to really impress your sweetheart.

The Twinkling LED Heart of Love is a wonderful DIY project that will melt her heart and turn the next 14th of February into an unforgettable event. The Heart of Love is based on an Atmel AVR ATmega168 microcontroller coupled with 20 red LEDs that… blink randomly! The heart itself can be made of cardboard and, although red is the usual color for love-related objects, you can show your creativity and paint it something meaningful to you and your damsel. Like orange, if you’re both Netherlands soccer fans. Or black, if you’re black metal fans (pentagram is optional). Originality is usually appreciated, so go for it!

Tips and tricks: your Heart of Love is awesome and will surely knock her socks off, but don’t start explaining how it’s made, how the microcontroller works and so on, because she might start yawning and eventually fall asleep.

As for me… I think I’ll settle for a big bouquet of red roses, thank you very much.

Twinkling LED Heart of Love: [Link]

Beverage Temperature Regulator

There’s nothing like an ice-cold drink on a hot summer day, is there? Especially if you’re a beer-loving dude with some free time and some hardware skills.

A fairly simple and fun project, the “Digital Thermostatic Beer Refreshment Regulator” (as entitled by its author) is based on an Arduino and a temperature sensor that control the temperature of the liquid inside the refrigerator (i.e. beer). The Arduino is actually a Freeduino SB and the temperature sensor is a LM35DZ. The beer regulator also possesses a NTE RS1-1D4-21 solid state relay to trigger 5v voltage to manage the amperage of the refrigerator.

The temperature is displayed on a SLCD162 MeLabs serial LCD Display which only uses 1 pin of the Arduino microcontroller. Other parts include some 10k and 100k resistores, pins, connectors, wires and plex-glass for the LCD stand (you can find a detailed parts list in the link). The code is written in C and it can be easily modified to adjust turning of the whole device ON or OFF to match your desired temperature of the beer. Plans for rewriting some of the code to get a more precise temperature are on the way. Also, a more complex display could be added to the project quite easily, since the current LCD is connected using an ethernet jack with Cat5 cable.

Now, I’m pretty sure you can do all these things with a common refrigerator that has a LCD display on the outside and a front panel to set the temperature, so it’s hardly a world changing project. Further more, you don’t risk getting your fingers burnt with the soldering iron or having your kitchen fill with cold beer (maybe that wouldn’t be such an issue to some, but still). However, if you’re a do-it-yourself kind of guy and want to make your own cold beer apparatus, then you can try this one. Salute!

Beverage Temperature Regulator: [Link][via]

I recently ordered some samples from TI, which included the TMP275 digital sensor. The sensor has some nice features which I quote from it’s datasheet:

The TMP275 is a 0.5°C accurate, Two-Wire, serial output temperature sensor available in an MSOP-8 or an SO-8 package. The TMP275 is capable of reading temperatures with a resolution of 0.0625°C. The TMP275 is SMBus-compatible and allows up to eight devices on one bus. It is ideal for extended temperature measurement in a variety of communication, computer, consumer, environmental, industrial, and instrumentation applications. The TMP275 is specified for operation over a temperature range of −40°C to +125°C.

The easiest way to get the temperature out of the TMP275 seemed to be I2C. So I started by designing a board which has all the components needed: the sensor, an atmega8 brain, and some other components needed for the display and for powering the board. The display is a 4 digit 7 segment display from kingbright product code CA56-12GWA. As for the display part of the board, I used PNP transistors on the common anodes and resistors on the segments to limit the current draw on the atmega’s pins. The transistors are not current limited so the display will alaways light-up the same no matter how many segments are turned on.

TMP275 digital thermometer board

For the supply part of the board, I choose to make it portable and power it from a 9V battery, so I needed to use a voltage regulator. The choice was the good old 7805 because it’s cheap and easy to find.

I2C is a pretty common protocol so various libraries can be found on the web. I chose Peter Fleury’s I2C library because it was very well documented. The only external components needed by the TMP275 are a bypass capacitor between VCC and GND and two pull-up resistors required on SDA and SCL lines.

All the I2C stuff is handled by the library, so I only had to write a couple of lines of code to get the temperature out of the sensor:

 i2c_start_wait(sensor+I2C_WRITE);	// set device address and write mode
 i2c_write(0x0);			// write pointer register 00000000 to select temp register
 i2c_rep_start(sensor+I2C_READ);	//set device address and read mode
 temp_high=i2c_readAck();		// Read high byte of temperature
 temp_low=i2c_readNak();		// Read low byte of temperature

After reading the temperature from the sensor I had to display it on the 4 digit display. For that I had to write a display macro, which figures out the numbers and how to display them, basically I used software multiplexing. I even tested it on negative temperatures by placing the sensor in my fridge :) . The readout was correct because I checked with another thermometer.

These new type of digital sensors are great, because you don’t have to worry about analog to digital conversion, all the  ADC is done inside the sensor. I mainly started working with this sensor because I want to incorporate a temperature reading function into a future project. Now that this part is done, is time to move onto the next one, ultrasonic range finder, which I’m guessing wont be as easy as the temperature reading.

I tried to comment every line of my code, but if you feel you don’t understand something, just post a comment and I’ll reply.

router-roundover

In the first part i presented some of the woodwork on the satellite speakers and a first schematic of the crossover. These days i had time to finish the front baffles, made the edges round, cover the speaker with dark colored carpet and install the drivers and crossover for testing and voicing.

The rounding of the baffle’s edges is done using a 8mm round-over bit on the router. Make sure you get the board fixed so that u can push the router in the edge.

roundover bit 8 mm router bit

Once this is done i applied the first layers of black paint and glued the baffle on the rest of the cabinet. While i was waiting for it to dry i carpeted the back plate. When you chose to use carpet it’s a good idea to install the back plate a little inside the cabinet and this way to leave an edge. This will allow you to glue the carpet and not leave any visible marks at the joints. After the back plate the sides, top and bottom will be carpeted in one piece.

backplate-spkr spkr back plate 2 spkr side spkr side 2

The front baffle was cut with 3mm more on each side so that the carpet would go right at the same level

The satellite speakers are almost done at this point, it is time to install everything inside for the first tests. I chose to fill the cabinet about 70 to 80 % with wool and this way lower the total Q of the speaker to somewhere around 0.8. This can be a high value but since i will use active filter on the subwoofer matching will be easier.  The first version of the crossover network was done in air just for testing. It seems the waveguide gain was slightly higher than expected so the initial L-pad had to be changed. Also the cut frequency was little too high for the tweeter. Since i wanted the option of bi-amping i decided to add a tweeter protection circuit i had in my schematics notebook which I’ve seen used in some professional speakers. After these changes in crossover came another session of listening tests. There was still a part in the upper midrange (voice sibilance) i found to be too emphasized. Adding a resistor of about 1.5ohms in series with the inductor in the high pass filter lowered the Q and smooth the sound.

filtru1 filtru 2 zobel

In the last picture you can see the Zobel network which is an impedance equalization

These are 2nd order filters so you need to reverse polarity of the tweeter, connect the plus of the tweeter to the minus of the filter and vice versa. Otherwise you will have a big dip in the frequency response caused by the phase shift of the filters. Another thing to be careful about is not to connect ground of the high pass and low pass filters if you’re using bi-amp connector. The strap at the connector takes care of that. The radiator i used on the TIP transistors may be an overkill but better safe than sorry.

I did an experiment with a baffle step circuit. From a certain frequency the directivity of the speaker becomes focused and this may appear as an increase in sound pressure level. A baffle step attenuates the response a little from that frequency up. Usually i don’t use it for i didn’t find it necessary. In this case however i got better response on bass at the expense of overall efficiency. However once i will add the subwoofer to the system this circuit might not be necessary. In this case the circuit is made of a 2.7mH inductor in parallel with a 8 ohm resistor connected before the crossover. Baffle step circuit is impractical when using bi-amping though.

Here is simulated baffle step responses using Edge software:

baffle step uneq baffle step eq

To be continued:

- Measurement of on-axis and off-axis frequency response

- Building the subwoofer

June 30th, 2009

LiIon Battery Charger

LiIon Battery Charger

Even though not much information is published about Lithium Ion Batteries, we find them more and more often powering our portable electronics. While their price sometimes can go pretty high, LiIon batteries offer higher capacity from less weight and volume and faster charging. Laptops, portable media players, cell phones, cameras, etc. almost all use the LiIon so there is a very high probability to recover the battery from a damaged device and this way get all the advantages at a small price.

Like with other batteries, inside the LiIon type there are one to four cells connected in series, each at about 3.6-3.7V. Higher capacity is obtained by connecting series groups of cells in parallel. All is nice though until the battery gets empty, then the tricky part starts. Conventional chargers don’t work on LiIon and can even destroy them. There are some generic charges on the market but either they’re very expensive or they’re for small batteries.

Newer batteries communicate with the charger telling the settings to be used for charging. Even older batteries have a thermistor that monitors temperature and a protection against complete depletion. This being said, in this project is presented a DIY solution for a LiIon Battery Charger. There are some things you must know about the battery so that you can safely charge it.

First of all you must know the pin-out, you risk damaging the battery and/or charger if you connect it the wrong way. Then you must know the number of cells but you can determine this by dividing the battery voltage rating by 3.7V, you must also know the capacity and thermistor value. The charge current can vary between half and full capacity rating, the lower value the safest but the slower.

The charger presented in the link is based on application note AVR450 from Atmel. The project uses the AtMega8 microcontroller and it  features adjustable charging settings as well as Smart Battery Interface. Schematics and code for the Atmel are available as well as information on how to operate it. Good luck!


LiIon Battery Charger: [Link]

  • Meta



  • © 2007-2009 YourITronics | Any logo, trademark and project represented here are property of their respective owners|Wordpress                           RSS