Constant Motor speed issue

Hey guys! 
I have been given a project centred around moving a block across different chains. I have done most of what i need to, however the most important thing is for the chain to keep the same speed through its rotation. For some reason, the chain with the motor seems to randomly speed up and slow down at certain sections, and when i manually move the chain with my mouse it also acts very strangely, with the gears slowly down and appearing to stop altogether. What am i doing wrong?