9 Watt LED Desk Lamp

A desk Lamp was realized with a 9w LED module, a salvaged Pentium slot heatsink and an AtMega 8. Two switch mode supplies were used, one to provide 5v for the AVR and the other in constant current mode to supply the LED .

The Lamp has 3 modes of operation, off, on and ambient light sense mode.
The AVR senses the temperature of the heatsink to control the fan speed.

1) Schematic  2) Board  3) Bottom of Lamp  4) Top of Lamp  5) Enlightened Lamp

CNC Cutting board inlay

On short notice I was requested to make a turtle inlay into a cutting board.

The source image was clipart provided by Google, polished with a bit of Photoshop, added as a part material in CAD and traced as splines to create a CNC toolpath. The toolpath was created twice, once for the base and once for the inlay. An offset of 100 microns was implemented between tool paths to reduce interference and facilitate a clean fit. The stock was machined on a Syil SX3 SNS milling machine.

The black walnut inlay is roughly 8mm deep into silver maple. While the materials were chosen for contrast, silver maple does not machine well even with a sharp tool and leaves a fuzzy fibrous edge.  The entire project, from image source to glue up, was completed in under two hours.

WindPOV Weather Station

A wind turbine powered weather station displaying temperature, humidity and wind speed by persistence of vision using 8 white LEDs along a wing tip. The turbine blades were cut from a length of 4 inch PVC pipe.

A 12v stepper motor salvaged from a floppy drive is used as the generator. The stepper body is mounted to the turbine, the shaft is held stationary. This allows the for the omission of slip rings to transfer power to the persistence of vision display. The controller, sensors and display system are mounted to the motor and rotate along with the turbine blades.

The 4 phase AC from the stepper is rectified with 8 schottky diodes and shunted to 36 volts by three 1 watt 12 volt zener diodes in series. The shunt serves two purposes, to prevent the DC input voltage from exceeding the switch mode buck regulator maximum input, and to provide electrical braking to the turbine in the event of high wind speeds. The resulting input voltage is switched down to 3.5 volts by way of a TPS5420 buck converter.

The MCU controlling the common anode POV display is an AtMega88, chosen for it’s ability to operate at up to 10Mhz from 3.5 volts. The temperature and humidity are sensed with an SHT21 via I2C and absolute position by a hall sensor salvaged from a floppy drive. The hall sensor allows for positioning the POV display as well as calculating rotational speed. A resistive divider was added to sense the voltage generated by the stepper.

The cut in speed appears to be around 100 RPM as the SMPS requires at least 5.5 volts to start up. At 1500 RPM the open circuit voltage of the stepper is just over 60 volts.

The latest version (filmed Mar 03/12), using the same PCB but with a larger wingspan, a bigger stepper motor and 5mm red LEDs is now online at: http://krazatchu.ca/wp/2012/03/02/hackaday-windpov-project/

Testing video in front of box fan, displaying name, not so interesting:

Capacitive Water Sensor

A capacitive sensor was developed as a feedback method to measure the moisture content of a system. It was based on an AtTiny2313 running on the internal RC oscillator  @ 8 mHz.

The analog comparator of the AVR was set to trigger a timer when the capacitor reached a level of charge. The timer value was filtered with a composite rolling average and used to set the output of a LED bar graph as well as generate an analog level  by PWM. Once the measurement was taken, the input of the analog comparator was held low to discharge the cap, the timer was reset and the process was repeated indefinitely.

The output scaling values were set by measuring the frequency with a digital storage oscilloscope. After removing the scope probe, a 10nF capacitor and a 10M resister were added across the input to compensate for the effect of the probe.

Source: 2313_cap_sens.c

1) Schematic  2) PCB

DC Servo Drive


  
This is a DC Servo drive built in the summer of 2009 for the project “Topology of Dubai” which can be found online at SocialHardware.net. An Atmega88 @ 16 MHz is running a PID loop and outputting PWM locked antiphase. The H-bridge is controlled via the ir2184 gate drivers.

This type of servo drive finds use in motion control systems and CNC equipment. Click the image for a larger view.

Schematic and PCB in Eagle format: servo drive.zip
Servo software for MEC-S3 version 0.16: Servo MEC-S3 v16.zip

Arduino Proto Board

An Arduino compatible proto board was realized as part of a larger project. Provisions were made to include additional features for future use. The board is based on the Atmega128 and includes an AT86RF230 for 802.15.4 RF communication, a DS1307 RTC with a 1 farad supercap backup, an FTDI232 for USB to serial bridge, an SN75176 for RS485 communication, numerous port headers including an 8bit LCD connector and two  buck mode power supplies providing 5 volts and 12 volts at 2 amps based on the TPS5420. The intended  code written for the board consisted mainly of RF communication and motion control algorithms.

1) Schematic  2) Board  3) Toner transfer  4) RF section  5) Reflow  6)  Populated Board

Data Logging Weigh Scale

Implemented here is a data logging digital weigh scale. The original scale was gutted, leaving the four strain gauges, one per leg.  The main controller is an AtMega32. An AD623 is used for differential amplification of the strain gauge signal. The LCD is a graphic 128 x 64 module. There is a DS1307 RTC for time keeping, an FTDI232 for USB to serial bridge and via the 74hc244 for level shifting, an SD card slot for data storage. The off board power supply used a MAX710ESE for switch mode boost/linear buck.

The code, upon boot, calibrates the scale and then indicates ready. The user is weighed and then identified by passing the previous weight thru a window function. Finally the current weight is stored and the previous two weeks are displayed in graphical format. After a short delay the scale turns itself off by toggling a flip flop tied to the enable line of the MAX710. Of the available 32k flash, 28k was used mostly due to the large LCD fonts.

IR LED Matrix with DMX-512 Control

A complete computer controlled lighting system implemented as an art installation was realized using the DMX-512 protocol. OpenDMX was used for sending packets along a multi-drop RS-485 bus. AtTiny2313?s were converting DMX into 8 PWM channels per vertical drop. The resulting matrix consisted of 8 rows and 15 columns with 8 IR LEDs per cell. A PC power supply was used for supplying the total of 960 LEDs with just over 19 amps of current. The PC ran DMXcontrol for visualization of music and audio.

1) Schematic  2) Board  3)  OpenDMX  4) PCB  5) Vertical  6) Horizontal  7) Video (below)