Traics and Bandaids. An SCR is a unidirectional triac and a triac is a bidirectional SCR. The same class, only different.
SCR's and Triacs are current controlled, but watch the quadrant issues. It will tell you the polarities required. There is also sometimes a difference in the parameters as well.
Back to basics for the time being:
1. Suppose you had a DC source connected to a load and you 1) interrupt the load ad 2) you short the SCR. In BOTH cases the SCR will turn off, right?
So you now have this Ac thing which has voltage and current out of phase by something. So you turn it on at zero voltage and a few ms later it turns off because the voltage is 50, but the current is zero. You can't have that.
So, you detect a zero cross and start providing continous pulses to the gate. The off time should be at least the turn off time or more. The on time at least the turn-on time or more.
Now another voltage zero cross comes around, and then you turn off your pulses.
You need some sort of table to convert phase angle to voltage UNLESS your doing power control.
Start-up is a little different, because you have to start gradually applying power. Let's say start at 0.5% of full voltage.
At every half cycle you can increment the voltage paying attention to the current. If it is exceeded, you have to turn off the drive.
You maybe able to immediately turn off the drive if some peak current is exceeded.
The other complicated issue is to determine what is the polarity of the gate current and the quadrant your in. That's probably whay back to back SCR's are better. You CAN PROBABLY trigger both SCR's simultaneously, but only one will respond.
You are really only concerned about each half cycle, not full cycle. Does taht make any sense?
Your not going to get a variable pulsed efect at the high frequencies, only the low ones. You will still turn on the device, but you cannot wait for it to turn off by itself because it turns off at two places (0 voltage and 0 current).
You can easily see why a pulse less than the turn-on time is pointless and an off time > than the turn-off time is pointless. I'd start with 2x those values. Then try to figure out what a minimum increment should be.
Lamps make things tricky, because the cold resistance is 15x less than the hot resistance. So, not you can see the benefits for overrating the triac by bunches. If you current limit, you don't have to over rate by much.
Triacs can turn on spontaneously if dv/dt is exceeded, hence the need for a snubber.
Hopefullly, you can see all of the things getting in the way.
1. Inductive load (continuously pulse as work-around)
2. Cold resistances (slow start, current limit as a work around)
3. Polarity of trigger signal (trigger transformers, back to back SCR's as a work around)
Work with half-cycles, not full cycles.
Detect zero voltage crossing cycles.
You need a table of rms voltage vs phase angle.
You need to measure current.
Further complications if needed.
1) Voltage compensation
2) Actual power control.
This device in industry might be a 0-10 V, 0-20 mA or 4-20 mA controlled device with 0-20 mA being the most common.
The Eurotherm power modules implemented current limiting in the modules.
The earlier power modules were two transformer triggered SCR units. The latter versions used industry standard signals of 0-10 and 0-20 mA.
Take a look here:
https://en.wikipedia.org/wiki/TRIAC and pay particular attention to "triggering Modes"
They don't do as good of a job here:
https://en.wikipedia.org/wiki/Silicon-controlled_rectifier, but it's in the details.
You can easily reverse the polarity of the gate by reversing the leads of the trigger transformer.