It could be a hardware fault.
First check, and compare, the control board connections to the motors of the three axes. You don't state it in your question but, presumably, the X and Y axes move correctly? If so, then compare the connections for the Z-axis motors with the connections for the motors of the axes that work as expected.
If they are correct then the problem is likely to be with the firmware.
Have you...
- homed the Z-axis yet?
- installed the endstops?
From X Y Z axis only move one direction?:
Using Marlin? Before you do a G28
homing the axes will only move
towards the endstops. But also check your endstops with M119
to make
sure they are triggered at the right time. On older Marlin, you may
need to set DISABLE_MAX_ENDSTOPS
(on a machine that has no max
endstops). Newer Marlin uses USE_XMIN_PLUG
, etc., to specifically
set which endstops are connected. If the switches show the opposite
state (off when triggered) then set the
[XYZ]_(MIN|MAX)_ENDSTOP_INVERTING
flags, as needed.
Likewise, from Building a Prusa I3 3D Printer:
You will probably also find the motor will turn only in one direction. This is normal for now as we don't have end-stops installed and haven't homed the axis - so the software doesn't know how far it can go in one direction or the other.
As Mark states in his comment, the P802M uses a Melzi board. From Github: Repetier-Firmware/boards/Zonestar P802M/:
There are some printers sold under different names like 'Zonestar
P802M', 'Prusa i3 P802M DIY kit', 'Anet A8-B', etc, which have LCD
20x4 with 5 keys controller connected to Melzi V2.0 board via 10 wires
cable. Keys are connected to a single analog input using resistive
divider.