Revert to 30Hz, otherwise the control range is way too small.
Added time correction factor as our loop can compute differently - this may help stabilize things
Fixed bad declaration for lastTime
Changed to input derivative rather than error derivative