Struggling to change directions in Stepper motor using AccelStepper library?

Check that your motor coil wires aren't crossed. If you swap one of the coil A wires for a coil B wire, you can get one-directional rotation and weakness.

See also: Stepper motor only goes one direction

Also:

How strong is your 9V power supply? An inadequate supply relative to your stepper could give strange results.