Se que tenía que haberme explicado más y mejor pero a saber en que estaba pensando yo, lo siento.
Referente a la interrupción para el paso por 0 no es posible porque se usa para el presostato, cosa que se me olvidó mencionar, y cómo uso un arduino nano, no me quedó otra que usar esta forma de detectar el paso por 0 y funciona realmente bien.
Cómo el paso por 0 tiene muchísimos menos ciclos por segundo (100Hz) que el presostato o el tacogenerador, pues lo usé así.
Y en un rato probaré tu modificación a ver que tal funciona y te comento.
Muchas gracias por tu ayuda y saludos.
Edito: Hace lo mismo que con el mío, no me dispara el triac.
Me resulta muy raro todo esto porque si a b le quito o le pongo !, gira tanto para un lado como para el otro.