Dim 100v lights with Arduino

I need to dim a string of 150 5w christmas lights that run on 110 volts AC or DC. I have used IRF640 MOSFET with a bridge rectifier to dim just a few bulbs as a test and it works just fine, but when I plug in the full string it turns on to full power, and the transistor gets really hot. The transistor is rated for 200V and 18A, so I am not overpowering it by any means; why isn't this working? How might I do it differently (within a budget of less than $100); I need to do this times 6, so cost adds up pretty quickly.



What's the rectifier rated at?

Also, dimming an AC source with PWM is a bit sketchy. The PWM frequency can really clash with the AC cycle. Househould dimmers use triacs and cut off at the cross point (on the switch from 170 to -170 volts) at 60hz.

I'd suggest you google more about dimming AC lights.


I have gotten this to work!!

The problem I was having was with inrush current; incandescent light bulbs have an initial inrush current around 10x the normal operating current during the heating of the elements. Even though my transistors were rated well over the operating current of around 6A, they were reaching avalanche breakdown during the current inrush.

My first and most primitive solution to this problem was to install a simple toggle switch, allowing the lights to start from line power, and then be switched to power through transistor after the bulbs were heated. The result: Success! The problem: in this circuit the lights cannot be dimmed to 0% without completely resetting the switches and starting the process over.

The next solution is to insert a 1ohm NTC thermistor in the line before my transistor, the thermistor caps the current inrush at 9A, well below the 18A capacity of my transistors. This would allow the circuit to run without any further tampering or startup procedures. I'll be testing soon to confirm.

A note on using PWM with incandescent lights:

Incandescent lights work exceptionally well with PWM by way of MOSFET transistor. With a 200V 18A transistor I was able to control a 150w halogen light without any other components. The bulbs dim very smoothly, and with a great deal of control available. The only limitation on current seems to depend on the current limitation of the NTC thermistor; 9A has been the highest current I can find one rated for. I have researched many different approaches for dimming high voltage high current lights, and this looks far easier and cheaper than anything else I have come across. The circuit should cost no more than $5 with heat sync included. I decided to make my own heat syncs out of 18ga copper sheet, and was able to keep the temperature of the transistors below 80degF with cooling fan, and approx. 110degF without.

Also, I was able to control these lights up to 6A without a resistor or buffer transistor on the gate supply, however I think I will be including both in future tests.

Hope this is of use to someone, hopefully I haven't missed any crucial details

Happy building!

I just stumbled upon this thread and was wondering if you could possibly provide information on where you purchased the transistor and thermistor? Also, do you by any chance have a wiring diagram for your project? I would really like to look at it to see how you have all of this wired.

I am looking to create a christmas light show next year (starting my project now), and have been wondering how to dim the christmas lights. After hours of browsing forums and the various Arduino communities, it seems that you have found the best solution yet. Im hoping to purchase a few of the transistors to test this all out with some christmas lights.

Thanks for any and all assistance/info you can provide!