PDController function run once per interrupt

Otherwise multiple errors accumulate for given interrupt calculations.
Also, capped PWM signals to between 0 and 255, otherwise the uint8_t
parameter taken by setSpeed will see a value of 250 instead of -6 or
something.