Zero crossing detector

I am doing a gate controller circuit for SCR. I will be needing a zero crossing detector from the main to detect the sine so I could synchronize with my arduino to fire the scr at the perfect time. But so far the i have tried using basic zero crossing circuits like comparator comparing the sine wave with a ground but to no avail. Any other suggestions?

http://www.dextrel.net/diyzerocrosser.htm

There is a simple one using an XOR gate in this old issue of byte here:
http://www.strikequick.com/BYTE/BYTE%20Vol%2000-07%201976-03%20Cassette%20Interfaces.pdf

It is the bit-boffer on page 20.

H11AA1

http://www.jameco.com/Jameco/Products/ProdDS/18825.pdf

I assume the input to your comparator is isolated from the AC? i.e. From the secondary of a transformer?

But so far the i have tried using basic zero crossing circuits like comparator comparing the sine wave with a ground but to no avail.

That's how I did it... Is the comparator "firing"? (Is the output changing state?) If the comparator is running from a single supply, it might not work near ground. If the comparator is running from positive & negative supplies, it should work fine and put-out a square wave.

If you have a single supply, you can set the reference voltage higher, and calculate when the actual zero--crossing occurs.

Actually, it's probably better if you set the comparator reference to around 45 degrees (half the peak AC voltage). The actual-exact zero-crossing is difficult to detect. If your detection circuit is detecting small voltages, a little noise on the AC line near the true zero-crossing can give you a false-trigger. The peak is even more difficult, since the AC voltage vaires a bit. Somewhere in-between is more ideal.