InMojo Digital AC Dimmer Module lite v.2 is ideal for AC voltage controlling applications. This v.2 is a enhanced version of our Digital AC Dimmer Module lite v.1. Module contains a Triac triggering coupled with zero-cross detection mechanism for programming the intensity of incandescent lamps or fan speed controlled through a micro-controller.
Changes from Digital AC Dimmer Module lite v.1
1. Low voltage side and high voltage side is completely isolated and the isolated distance is kept under 8mm
2. 100V/240V support and the heating issue has been significantly fixed using a different R2, R3 resistors
3. Diode bridge now supports up to 400VAC
4. Stocked TRIAC BT136S comes with the modules supports 4A MAX. i.e 400W (100V) or 880W (220V).
5. All copper traces are 105um and the PCB can withstand 10A recommended MAX (check here: http://www.desmith.net/NMdS/Electronics/TraceWidth.html) so that can handle Max 1000W (100V) and 2400W (240V) load when using a different high current TRIAC. (NOTE: If need higher currents you need to change the TRIAC)
6. 4 mounting holes to mount on a different surface
Connect the utility power at AC IN connector and intended control device in to LOAD connector. An indicator is provided on-board to test the Triac trigger mechanism. Indicator will be full bright when LOAD is 100% ON state.
All the parts are listed in the schematic diagram except for the TRIAC. This is because typically you can use any TRIAC with the SOT-428 footprint. For your information all our assembled dimmer modules are assembled with BT136S (manufacturer part: 771-BT136S-600F118).
Check our download section below to get our Arduino sample code to connect with Arduino.
*** Care should be taken when dealing with AC voltages.
1. Arduino code supports both people living in 50Hz countries and 60Hz countries. Please select the correct frequency on the code #define and compile it again. Check out the comments given in the code for details.
2. If you need to control higher loads, we accept design alteration depend on your specifications (purchase count 50+ only)
If you have any trouble setting up the provided sample code or need help to setting up with PIC micro-controllers feel free to contact us at firstname.lastname@example.org
|Open Source||Hardware||Docs & Files||Software|
|Open Source Hardware Definition v1.0||Creative Commons - Attribution - ShareAlike 3.0||Creative Commons - Attribution - ShareAlike 3.0||Creative Commons - Attribution - ShareAlike 3.0|
|Destination & Service||Shipping Time||Cost|
|Worldwide - Standard||7-14 Business Days||$9.00 for first item, $4.00 for each additional item|
|Worldwide - Express||3-5 Business Days||$25.00 for first item, $8.00 for each additional item|
Consider altering the design to include a heatsink. The SOT-428/DPAK package by itself can only dissipate a maximum 1.5 watts of heat. The included triac will generate more than 1 watt of heat for every amp of line current that goes through it. So I wouldn’t use the existing design with more than 1.5 amps of line current. Upgrading to an 8 amp triac wouldn’t help much - a heatsink would still be required to safely handle more than 1.5 amps (assuming operation at room temperature w/o a fan).
Testing the AC dimmer now. The sample code is working great, but I'm unable to edit it to achieve the effect I want. The sample code here constantly cycles through a dimming routine. Rather, I want to simply update one variable to control a static level of light, not a constant cycling of the dimming function. Imaging using a potentiometer that would control the level of light. With DC light, I would simply write a var from 0-255 to a PWM out. How would I achieve same effect here?
your board works great with regular light incandescent bulbs.
i am now trying it on AC 240V LED light bulbs. While the boards and code work, i can see a very faint flicker, especially in the lower brightness states.
i hope someone would know how to reduce the flicker, maybe by using an ac capacitor to smooth the ac signal?
i also opened up a "professional" chauvet dmx 4 channel ac dimmer to check how they do
they also use the MOC3021SM opto and use the BTA16 as a triac and more
hi everybody ;-)
jut to tell everybody that in Italy it work very well no problem i'ts started at first shot
compliments to mr inMojo
now Pizza and manga ;-)
i need to know if could i variate an fan speed whit your Digital AC Dimmer,
the motor is an common 220v 50kz brushless
and if colud i use it to variate temperature of an resistance too
may be very intristing to contol temperature whit arduino
Hi I would like know the bom list of this pcb, specially resistor's manufacturer part. Do you know? Tell me please
I'm trying to hook it up to a single power source and dim using Arduino... and confused trying to read the schematic and photo.
The power line goes in the AC 110V and the connects up on the green connector on the other side?
and the pin I should connect to the arduino is TRIAC correct?
The gerber files show the part to be 35mm x 45mm while the pdf PCB layer print file show the part to be 2.31 in x 2.97 in (58.7 mm x 75.4 mm). Can you confirm that the gerber is the correct size?
Hi, as far as I understand the only limitation to usee multiple dimmers is the number of interrupt pins that the microcontroller can handle. If I use use a Teensy 3.1 (in which any digital pin can be set up as interrupt), can I use, say, 5 or 6 dimmers on the same board?
Could someone confirm that the Zero Crossing signal on my board is working properly? 0 I've attached an oscilloscope plot with Channel 1 (yellow) is a capture of the Zero-Crossing (ZC) line and Channel 2 (blue) is the AC input. Note that the ZC signal goes from Vmin=1.32v and Vmax=3.3. The peak of ZC maps directly to the actual zero-crossing on the AC line, but this is hardly the digital TTL signal I was expecting. Further, the MCU I'm using needs Vmin to be at least < 1v. Thoughts? Thanks!
Did you have a part number on the LDAC you used? I don't see it on the schematic
I would assume that like the triac you can use a any LDAC?
I would like to set up a light level like in the code from 0-128. But my bulb always dimm from the 0-128. How can I set up a light level in the code and stay that at level? I would like to make an application when I have a button which can modify the light level. Can you give me an example?
Hi everyone, i have to make a digital dimmer 220VAC with arduino. This is my project: with one button i will increase the brightness of a lamp and with the other one it will decrease.. My questions is.. which component should i buy?
how did you calculate the max 10 Amps and the width of the copper traces? When I run the calculations, I do not get this result? How thick are the copper traces?
i got a lot of flicker problems but then found this code, which works great:
the code needs some cleaning up, because it misses some stuff. but works fine.
the main difference is that it does not use an interrupt but uses
Hi, I received the module, nice! Smaller than I expected, cool. One question, we have 3 wires AC here: one is ground. I connected the other two wires to the module and let the AC ground wire pass through untouched (not connected to the module) from my AC in, male, plug to my load, female, plug. Is that ok?
Then, assuming I keep sample code untouched, I have to connect:
GND-> to GND on Arduino
TRC -> to pin 3 on Arduino
ZCR -> to pin 2 on Arduino
VCC -> to 3V3 on Arduino
A little confused by the firing angle calculation. I understand the half cycle timing of 8.33ms (8333us), but where does the 8.33us come from in order to get 65 for the dim time calculation? Thanks
Would this work with an Arduino Due (actually a linux UDOO board, that is Due compatible)?
Hi, is it possible to connect multiple ACs and control them separately through the Arduino?
Hi, I am using the code supplied. It is working with some blinking (the best I could get) only with middle dimming values (50-90). I am using 65 to get the dimtime. With other values blinked even more (I have tried several). Do you have any suggestions? Best regards.
This little card works great, but I have a question; When I run a slightly modified version of the sample code for Arduino the program stopps running when I unplug my 230V mains. When I plug it in again the program runs as it should without resetting or restarting the Arduino. Is this normal behavior? If I want to disconnect my load (a fan in my pellet burner) should i do it at the dimmer modules output?
If I may guess, I think it has something to do with the trigger function ...
Hi, three questions...
What are the power ratings for the resistors?
What kind of signal does the arduino send to the zero-cross pin? Is it just a digital pulse signalling the zero crossings? Or does the 4N25SR2V-M detect and signal the crossings?
What is the voltage range for the dimmer input?
Trying to use this dimmer to control speed of inline duct fan. Im using a Arduino Leonardo. I noticed that the interrupt pins are different compared to the UNO but I made sure I was using the right one - pin#3 for interrupt 0.
Unfortunately no luck. The fan comes on when I run the sketch but changing the dimming level has no effect. Still full blast. Used a multimeter to confirm that the voltage going to the fan does not change when I change the dimming level.
Any thoughts anyone?
Does this dimmer work with bulbs operating at lower voltages as well? For example 12 volts AC?
I'm using this to power a string of incandescent bulbs. The bulbs (24 @ 20W) pull approx 4.5A. I was hoping to use 14ga solid copper wire to run the AC through, but 14ga is too big for the holes. I probably don't need 14ga wire. Is there a recommended wire gauge to use with this dimmer module? For this type of load is it ideal to use solid or stranded wire, or does it matter? - Thanks
i spent about 3+ hours debugging. My fault was that VCC was connected to 5 volts, not 3.3. The only indication (that i found) of the 3.3 is on the schematic. Being old school, I assumed VCC was 5 volts. This as a warning for others. I suggest that on the circuit board "3.3V" replace "VCC", and for the example code to document the VCC (3.3v) connection as well. The good news is that the 5v did not hurt the circuitry and everything worked properly once i made the switch.
Hi I bought this dimmer control version 2.. I m using 60 hz but my problem is that it does not run through the main loop i deleted everything from the main loop and still the code runs the same way.
I want to know how can we get the dimmer to work on a steady value since it is not running through the main how to program it so that it reads a value and then stays there and reads another value and changes it state?
Being extremely new with all of this I have a question. I started all this electronic fun with the raspberry pi and would very interested if you can interface this with the rpi? If so how?
I notice your design does not include any inductors/chokes or capacitors. Theoretically this means this circuit would suffer from buzzing and EM noise problems.
Is this the case?
Is it possible to control this from other micro controller like 8051 .? if so pls do let me know , how to integrate with other ..
Hi I m trying to build a smart window for my senior project ...My window glass has the option wherein I control the degree of opacity of the glass from dark to clear state.... I have some questions
1) Will I be able to use the dimmer control with my arduino Mega microntroller? If yes then
2)I want to know which version(V1 or V2) of the dimmer will be suitable for my project?
3) Can we buy just the PCB board for V2?
Very simple question, from an inexperienced Arduino user. My goal is to be able to create a repeating cycle of slowly dimming 110v AC incandescent lights over the course of 1/2 hour, and then slowly increase over 1/2 hour to full power, and repeat this indefinitely. Will this unit + my Arduino be able to make this work? Only looking for whether it's possible right now. I'll buy the dimmer module and figure out how to make it work if it can work. Thanks!
I made the connections, the lamp which is connected to the LOAD is flashing, how to correct it ?
I have question about this AC dimming module ver 2,Can any body explain me
how does it work? as per my understanding the dimmer has two switches, One for UP and another for DOWN.
The module P1 has 4 connections,
1(gnd), 4 (+3.3V)
2 is for Dimmer (To be connected to pin 2 of Arduino UNO)
3 is for Zero Cross (To be connected to pin 3 of Arduino UNO)
Is this connections are OK ?
Hi, how are you?
I have an angle grinder (Makita 9557HN, 840W, 110V) that runs too fast for my needs (11.000 rpm). It's a bit dangerous for amateurs like me.
So, can i use this digital dimmer to decrease the rpm of the grinder, controlled by my arduino? Is the 1000W maximum load enough for what i want?
I know that lowering the rpm also will low the fan speed and the grinder probably will get overheated, but can this work?
(sorry for my english)
Thanks for responding so quickly to my last post. I have another question, what is the minimum current requirement to power this circuit?
When I use the given sample code for 60 Hz, the light dims fine, but it seems to not be running of the main loop. If I delete the main loop, the light will still dim in the same way it was before. I do not understand which part of the code to change to fix this. How can I make it dim according to a potentiometer input?
Will this module save energy when dimmed to fx. 30%, og will the resistors just eat the remaining watts?
The sample code shows the light getting dimmer, is there a way I can reverse this and have the light get brighter instead?
Has anyone had a huge amount of heat build up on the triac? I'm trying to control two 300 Watt cartridge heaters on 110ac (50Hz) and the sample code seems to work great, but the triac gets unbelievably hot - you can smell it. I don't mind replacing it with a more heavy duty one, but I really didn't think I would be outside the workable range. I'm calculating 5.45 amps off rated power consumption, or 4.58 from measured resistance (I won't be able to measure the current until tomorrow). Any ideas?
I too ordered and paid the extra $10 to get V2, yet received V1 !?!
When I first hooked it up, I was getting very strange, inconsistent behavior with the software provided. Although the math for 60Hz looks right to me, I got it behaving correctly by lowering the 65 calculated in the firing angle. Using 56, it works exactly like it is suppose. But at 57 or anything above that, I start getting instable flashing and other strange behavior.
Having said all that, it is now working great for me.
Mine does not seem to detect zero crossing very often. I have about 110VAC, but it only interrupts less than once per second with the sample code.
Is my unit defective? Perhaps the new resistors to support 240 are too much?
I ordered 2x ver 2 of the module and got ver 1 in mail (2 of them). I did report this to support email but did not get any response. I feel a bit betrayed now. as i payed 10 dollars per module extra and got design that i did not like. What should i do now ? Somebody has done mistake that cost me money and made ma unhappy. :(
I accidentally switched my +5 volt line and my ground on this board. Now it isn't working. I suspect I blew the chip out or something along those lines. Is there a likely part I can replace on the chip I have, or should I just get a new one? Thanks!
Would it be best to have separate arduino for dimmer and lets say for temperature sensor?
I plan to use this module as dimmer but if it will affect usability i have considered that i add second arduino to be just temp sensor and user interface with rotary encoder and then send pwm values by i2c to dimmer dedicated arduino. I'm i on right track ?
Hi! I've tried this dimmer with the supplied code (220V, 50Hz, 40W incandescent lamp) and initially it appears to work, but each time the lamp soon goes into its own rhythmic "blink", irrelevant of the delays I put in the program. Resetting the Arduino or re-connecting to the socket doesn't help. What might be causing this?
I am really interested in adquiring one of those dimmers (v2). Is there any updata about when is it going to be available?
Thank you for your work! :)
InMojo supports the Open Source Hardware Definition v1.0