Not a member yet?
Click here to register.

Forgotten your password?
Request a new one here.
You must login to post a message.

05/02/2021 3:05 PM
Welcome espresoman

04/30/2021 2:53 PM
welcome to forum firroaster

04/27/2021 2:27 AM
JA Casey Welcome !

04/25/2021 12:33 AM
Welcome caseyb

04/24/2021 7:27 AM
Working on new stuff, bare with me. smoking

Community Spotlight
Join Date:July 27, 2007
Location:New Zealand
Posts Count:89
Rank:1/4 Pounder

Halogen Radiant Roaster
Hybrid Air Roaster
In Memory Of Ginny

Latest Donations
JackH - 25.00
snwcmpr - 10.00
Anonymous - 2.00
Anonymous - 5.00
Anonymous - 5.00
Users Online
Guests Online: 10

Members Online: 0

Total Members: 7,173
Newest Member: SecondChild

View Thread

Who is here? 1 guest(s)
 Print Thread
RobotDyn AC Light Dimmer Module
Hi guys, I've only seen some scattered mentions of this module so far so I thought I'd create a thread for it.


It has been mentioned somewhere here that this module is a combined ZCD and sort of SSR and that it would work well for controlling heaters, but needs a snubber circuit to control inductive loads like AC fans.

So I was wondering if anyone here is actually using this board for more than just the ZCD and if yes how did you set it up? In particular it has been mentioned that it will work with the Arduino TC4/TC4+ shields and that it can be used both for PWM and phase angle control?

IT IS actually a ZCD and a SSR (True SSR, no sort of... Grin) on same board.

Setup scenarios used so far:
- CONFIG_PWM: PWM pin to TC4 OT1 output, Gnd to Gnd, ready to use as SSR.
- CONFIG_PAC2: PWM pin to OT1 output, Gnd to Gnd, ZCD to TC4 IO2, working as ICC for heater, not tested PAC on OT2, no need, DC fan was been controlled by PWM on IO3.

Vcc pin not needed to be connected for TC4 usage, is provided for other projects.

Snubber can ba added directly on load terminals, if needed.

Nothing to comment or add, it just works as it should... if you want to rave about something, it's the price, simply ridiculous...
Actually I am trying to use the RobotDyn board to control my AC fan pulled from a vacuum cleaner.

I use CONFIG_PAC2 and try to use OT2 (but directly connected Arduino pin 10 to the PWM input on the RobotDyn

I am getting somewhat odd behavior. But then I don't have added a snubber circuit yet.

- ZCD seems to be working, I can see the Arduino's built-in LED pulse and my OT1 heater control works

- PWM on the RobotDyn seems inverted: 0% fan leads to PWM always on = fan at full speed on the RobotDyn

- Going up to around 40% fan, the fan abruptly switches off and there is no gradual control possible

Any thoughts?
First, some terminology/meaning clarification:
In PAC or ICC control modes, the pulse issued by OT1/2 are no more PWM, but short (microseconds) triac control pulses.
The PWM input of RobotDyn is such triac control input, exactly as any SSR input, so PWM label is not 100% accurate for all scenarios.

The above clarification is related to your statement related to "PWM inversion". This simply can't happen, if everything is right done.
In PAC mode, to have on the load 100% power, this means you need to apply rigorously a switch on pulse to the triac, some microseconds after every half sine zero cross pulse. The output power is a timing thing, not voltage level. For example, for 50% load power you need to apply the same pulse as for 0, 100, 25 or whatever %, but delayed differently to the zero cross moment.

The motor behaviour depends a lot on the motor type, if synchronous (induction) or not.
PAC is used to control brushed motors, i.e. those you can see sparks inside.
Synchronous motors can't be controlled directly by TC4, needs an interface converting PWM to variable frequency power, which is bulky and costly.

You can test if the power control of fan works ok, if connecting a bulb instead the fan. If the behaviour is similar with a dimmer, with a smooth linear light decrease/increase, then you should look at the motor.
Edited by renatoa on 10/14/2020 12:20 PM


renatoa wrote:
First, some terminology/meaning clarification:

I see, thanks for the clarification!


renatoa wrote:
You can test if the power control of fan works ok, if connecting a bulb instead the fan. If the behaviour is similar with a dimmer, with a smooth linear light decrease/increase, then you should look at the motor.

Got it, I'll test with a lightbulb first. However I believe I'll still have to add a snubber circuit later? My motor is an AC brushed motor.
Quick update on the situation if anyone will be in a similar situation, that is the fan motor speed somehow inverted and full on when according to TC4 it should be off.

Turns out the RobotDyn works nicely with my fan motor (an universal motor pulled from a vacuum cleaner), the reason I had messy and inverted behaviour was as I started adding features to the "aArtisanQ_PID" firmware for my TC4+ I put the lookup array for the phase delays


in phase_ctrl.cpp) into PROGMEM to save RAM on the Atmega, turns out it didn't like it. I reverted the code line to the original and the fan is working now with the RobotDyn.
Edited by JackH on 10/26/2020 9:10 AM
I have a few of these to play with and have a few scenarios I'd like thoughts on.

1. Would I be ok running 8A at 240V with a resistive load (heat element) through one of these with only a heatsink upgrade?

2. Would I need a snubber circuit to power a 6A 240V inductive load? Using phase angle control. Edit: Maybe I can replace the BTA16-600B triac with the Snubberless version BTA16-600BW

From another thread regarding the Robotdyn ZCD/Triac


renatoa wrote:
With original heatsing I am using it for more than one year to drive an 1300W heater from 230V AC, so about 6 Amps.
The heatsink temperature don't exceed 60C, estimated based on ASTM C1055 test (skin touch possible for some seconds at 140F/60C)

Edited by greencardigan on 11/13/2020 10:18 PM
1. So you have response in the quote Grin I would give it a try without heatsink replacement, just to the point where touch with finger no more possible. If this happens in less than a minute, then heatsink upgrade is a must.
Was tempted in a time to mount mine on a heatsink of type RAD-A4463/75, with the triac re-soldered on the opposite PCB side, and the whole dimmer board placed in the internal space of the heatsink, as an enclosure, for more protection. Never did it Grin

2. No idea, not a big PAC fan... used ICC even with a motor and works.
To snub... or replace triac... depends who is easier and cheaper to do Grin
I can buy locally the BW version for about $1.50, if bought online shipping is more than triac cost.
I was wondering about the PCB traces and what current they can handle.

I have some snubber parts and also some BW version triacs from a previous project. I'll try both options.
The width is 2.5mm, assuming it is standard copper thickness PCB (35 um), this give about 34 C degrees temperature increase over ambient, at 8 Amps. Formulas from IPC-2221.

At 25 C ambient will result 59 C for PCB... about the same as the heatsink.
Edited by renatoa on 11/15/2020 1:42 AM
I modified one of my boards and swapped the BTA16-600B with a BTA16-600BW. It doesn't seem to make any noticeable difference in performance. Both the modified board and unmodified board can control my 600W universal motor with smooth dimming using phase angle control.

There was some false triggering with both boards at very low power levels but I think that may possibly be related to my washing machine running nearby causing interference. After the washing machine was off, I ran the non modified board for 20 minutes on 10% power with no issues. EDIT: Both boards are still false triggering and power output is occasionally unstable at low % power outputs (<11%) but my ZCD/Random fire SSR have the same issue at very low power levels.

The heatsink reached maybe 40-45 Celsius (slightly warm but easy to touch) after 20 minutes. I don't have a 1200W vacuum motor to test at the moment

Edit 2: Running my 2000W (probably more like 2150W at 248V) element for about 60 seconds on full resulted in the heatsink being too hot to touch for more than about 0.25 seconds. Definitely need a larger heatsink or forced air flow.
Edited by greencardigan on 11/17/2020 3:15 AM
Some airflow, forced or natural, is a must anyway...
Electronics placement in a complete closed enclosure, without any slot, is a mistake.
The heatsink purpose is to transfer/evacuate heat to air, but if air is still, will saturate sooner or later.
Placing a small 2" fan on top of the actual heatsink could be as efficient as doubling its area.
The cone tree heatsinks that are sold today as combo for some SSR are way too much oversized.
Edited by renatoa on 11/17/2020 6:43 AM
It's around USD9 for the single channel and USD5 for the dual channel in my country. Different dealers though. Is it exactly the same thing?
This dual unit contains the SSR only part, without ZCD.
Is like two SSR on a single board, uncased.

This is the subject of the thread:


renatoa wrote:

This dual unit contains the SSR only part, without ZCD.
Is like two SSR on a single board, uncased.

This is the subject of the thread:

Thanks for confirming that.
I've done another quick test with the 2000W element and this 6K/W heatsink. The heatsink temp reached over 80 degrees C after running for a few minutes.

Setting up a small 30mm 5V cooling fan a few cm away from the heatsink let it stabilise at 58 degrees C under full load.

I'm not sure what heatsink temperature I should be setting as an upper limit?
Maximum power that can be controlled by this triac at 110V is 1760W, so I assume your 2000W are at 220V.
So the current is 2000/220 = about 9 Amps.

The power dissipation of this triac, at 9 Amps is about 9W, from datasheet.
The K/W figure of a heatsink is called "Thermal Resistance", and tells us that for every Watt absorbed by this heatsink, the temperature will increase by 6 (Kelvin/Celsius) degrees.
9W * 6K/W = 54 degrees increase, over ambient.
54 + 25 (the ambient) = 79 degrees should be, in theoretical/ideal conditions.
So you are close.

Regarding max heatsink... is not critical from metal point of view... the silicon junction is where damages occurs.
It seems to be 85 C for the case, and 125C for the junction, for the BTA series triac, so you are close, very thin margin...
Again from the datasheet, we should notice there is another thermal resistance, internal of triac, between Junction to case, whose value is 2.1 C/W. This tell us that for 9 Watts, the junction is 2.1 * 9 = 19 C degrees hotter than the case.
80 C measured at the case/heatsink plane equates to 99 C at the junction level. Always, independent of heatsink used.

So, if you want 85C at junction level, you should look for 85-19=66 C at heatsink.
This value give us the maximum thermal resistance of a heatsink capable do the job even without fan: (66 - 25 ambient)/9W = 4.5K/W.

I would look for a bigger heatsink, in the 3-4 K/W ballpark thermal resistance, to be safe even without fan.
Something like these:

If living in a hotter climate, thus higher ambient, or having the heatsing in a case without ventilation, someone should crunch again the numbers above, according to his own conditions.
Edited by renatoa on 12/05/2020 7:15 AM
Thanks, that's useful info. I actually already have a 3K/W heatsink ordered so that should do the trick.

I suppose the sil pad also adds a little to the thermal resistance.
I finally received my 3K/W heatsink and did some more testing with it, and also another smaller heatsink. Ambient temp was 29 degrees C. In both scenarios I was switching about 9A (248V, 28.4ohm element) and left them running for about 20 minutes.

1. 3K/W heatsink with Sil pad and no forced airflow.
The heatsink fin temperature rose to about 61C but the tab on the BTA16 was still 85-90C.

2. Smaller heatsink (from old GPU or motherboard) with Sil pad and small 5V 30mm fan.
the fan kept the heatsink fins down to 40C but the BTA16 tab was again at 85-90C.

Maybe I will try again with silicone grease instead of the Sil Pad. Also try a small fan on the 3K/W heatsink.
greencardigan attached the following images:
screenshot_20210101-183736_01.jpg screenshot_20210101-183739_01.jpg
Is normal what you experience, I mean the contact point to be hotter than surface, this is what we call thermal resistance (of the heatsink).


thermal resistance ... a measurement of a temperature difference by which an object or material resists a heat flow

They would be equal only when the heatsink has zero thermal resistance, which is possible in theory only.

9 Watts * 3 degrees / Watt => 27 C degrees between the contact point and the heatsink surface. 61 + 27 = 88.


Please also be aware that the thermal resistance for a heater is specified for the most optimal mounting position, more exactly with the fins surface vertical, to allow convective air flow. Look at the original heatsink fins orientation.
As it is now placed in the picture, i.e. horizontal, the hot air needs to travel a short distance, the fin width, in order to escape in the environment, which make the thermal resistance bigger than specified. Not much, but bigger. Simple to fix, just rotate heatsink 90 degrees.
Same, and much worse, happens for a closed enclosure.
Edited by renatoa on 01/01/2021 3:35 AM
Jump to Forum:

Similar Threads

Thread Forum Replies Last Post
RobotDyn Transistor DC Relay Module Dataloggers/Controllers/Rate of Rise Meters 2 01/14/2021 3:41 AM
Hottop 2k+ Light Roast Profile HotTop Roaster 9 09/21/2020 3:07 PM
90% of my roasts, even light City roasts, have an underlying burnt/acrid taste. What gives?! Roasting Coffee 27 08/04/2020 6:50 AM
Hottop (Light) Roast Profile, Baked Coffee HotTop Roaster 3 01/12/2020 2:19 AM
Roaster for light commercial work WHAT SHOULD I BUY OR MAKE 4 04/14/2019 7:45 AM
Homeroasters Association Logo, and all Content, Images, and Icons © 2005-2016 Homeroasters Association - Logos are the property of their respective owners.
Powered by PHP-Fusion Copyright © 2021 PHP-Fusion Inc
Released as free software without warranties under GNU Affero GPL v3
Designed with by NetriX