Hey! This thing is still a Work in Progress. Files, instructions, and other stuff might change!

3 Channel PWM Controller

545
Downloads
443
Views
Published on March 29, 2011

Description

This is a basic design for a 3-channel PWM controller, like you might use to control a string of 12v RGB LEDs, like these, maybe:

dealextreme.com/p/rgb-multicolored-1-meter-30-led-6w-light-strip-dc-12v-14965 (fun, because you can just cut it to the length you want, in minimum units of ~3 inches)

I've got a few different things I want to do with this, but it was mainly a way for me to try designing and etching my first PCB.

FEATURES:
* Custom Arudino bootloader (kinda)
* Three 200ma(ea) 12v PWM channels
* Three analog input pins
* Runs on 12v (good for use in a car!)
* Minimal part count
* Simple


WIP WHY:
* All the photos are of the first design, which as you can see, had a lot of mistakes requiring jumpering and trace-cutting. I think they have all been solved in the uploaded schematic, but I haven't had an opportunity to print a new one to test.
* The first design schematics are lost, sorry. :(
* I'm using a custom arduino bootloader (will be provided below) and included an arduino pinout but I cannot get the arduino programmer to communicate with my Atmega8. It does serial comms over those lines fine, otherwise. Help appreciated.
* I've /just/ used this in my first design (to be published shortly) so I'm still testing it. Seems to work well these last few hours at least!
* The transistor breakout board (the tc* files) I had to build on a protoboard as we've got a cold snap and I'm a wimp who will not go outside to etch if the weather is less than perfect. As soon as it warms up a bit I'll be printing that and the new mainboard. I might combine them.

Instructions

Print one of each board; populate them in the indicated fashion and connect in the (hopefully) obvious way. If I haven't yet uploaded the custom bootloader and example software to put on the Atmega8, I will PDQ, but there's no secret sauce; it's just an Arduino bootloader coded for an 8Mhz Atmega8 using the internal oscillator, and some simple software to read the analog inputs and PWM each of the three channels at a corresponding rate.

I'll flesh this out later, but anyone looking for the secret to printing a circuit with the ToMcat, you save the file, load it in gerbv, export to svg, load that in inkscape, and use the inkscape plugin I published with the ToM to print. Don't forget to stroke the paths in inkscape or you'll get nothing output. You can compensate for overlap by reducing the via size or increasing the line spacing in gschem.
Tags
This Thing has no tags.
Report as inappropriate

You must be logged in to post a comment.

Good job on your 1st PCB. IMHO Atmega8 is a huge overkill, atiny should have been enough (i rater use PIC 12fxxx). But its a bit harder (Writing your own C or ASM). When you're in need of more power, just change the transistors. There are transistors in the same package that don't mind 1A.

I've never seen the pen plotting on a bare PCB before, i'll check it out.

Thank you!

Atmega8 might be a bit overkill, but I happen to have a whole bunch of them here, so it's what was easy -- and the fun thing is the extra functionality I get for free. For example, I can make it control the lights (or whatever) over bluetooth for the cost of a $13 dongle at mdfly.com and about th
ree lines of code.

Remixes

Liked by

License

BSD License
3 Channel PWM Controller by ScribbleJ is licensed under the BSD License license.

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

More from ScribbleJ