I have done this one before.
If you do find a schedule online, treat it as a rough guide and I do mean a rough guide.
It is better to actually walk into their office and speak to them in person.
Now PELNI does not go directly to Batam, it terminates at a neighbouring island called Bintang.
Getting a taxi across the island followed by a ferry trip across to Batam is very easy.