SingleChannelPWMNode

Project Main Page > This Page

Flash player not available.



Introduction:

This was the first HsNet node ever created (it's not like we have a lot of them right now, but it just felt appropriate )! It's a PWM controller originally designed for the D3's project ("hidden shapes backlit wall" http://www.hackeneering.com/?q=node/18). (external link)
It's objectives are:
  • Switch up to 4Amps loads
  • Provide the Master with smooth transitions between PWM levels (with variable transition speed)

The Results

Pictures of them: http://www.flickr.com/photos/hackeneering/sets/72157626403115344/show/ (external link)
Video of it in action : http://vimeo.com/18570263 (external link)

Hardware Schematics :

Link Revision note Format
Download rev3 Powered by a Pic12F683 featuring a TIP122 PDF

Firmware Source Code:

Link Revision note Compiler
Download rev16 first public release CCS PICC

Implemented Commands documentation:

Command CMD_SET_PWM_TARGET
Cmd Field Value 0x10
Command description Sets the desired target PWM value
Payload size 1 bytes
Payload description Unsigned Char TARGET (between 0 (PWM off) and 124 (PWM Max))
returns as ack empty ACK packet

Command CMD_SET_PWM_SPEED
Cmd Field Value 0x11
Command description Sets the desired PWM delay between steps in ms (16bit).
Payload size 2 bytes
Payload description Unsigned Char DELAY_MSB
Unsigned Char DELAY_LSB
returns as ack empty ACK packet
example The delay of "0x0001" is the fastest (should take the PWM controller ~100ms to get from 0% to 100%)
The delay of "0x000A" should take ~1s to get from 0% to 100%

Command CMD_SET_PWM_BLINK
Cmd Field Value 0x16
Command description Turns the blinking mode on. Smooth looping transitions between two pwm values. To exit blinking mode use the CMD_SET_PWM_TARGET command
Payload size 2 bytes
Payload description Unsigned Char PWM_LOW - "lowest" pwm value
Unsigned Char PWM_HIGH - "highest" pwm value
returns as ack empty ACK packet