How to control a motor with only relays and push button?
Your specification is a little unclear, but I'm going to assume that


one button starts the motor forward
one button starts the motor in reverse
one button stops the motor


mainly because the alternative


one button toggles the direction of the motor
one button starts the motor in the selected direction
one button stops the motor


can't be done with only three relays.

Does this give you enough of a hint to get going?



Here's one possible way to do it. Note that this version requires you to hit "Stop" before reversing direction. Can you see why?







simulate this circuit &ndash; Schematic created using CircuitLab

With a little more work, you can eliminate that requirement.



In case anyone is curious, here's the simplest circuit that I can find that implements a "toggle" function:







simulate this circuit

This assumes that K2 or K3 won't drop out in the time that it takes K1 to switch. Adding catch diodes to their coils would help make sure this works, by increasing their "hold" time.

This allows us to implement the "alternative" controller described above, using three buttons and five relays:







simulate this circuit

Note that the motor wiring (in blue) uses its own separate contacts, so the motor power could be different from the power used for the logic (relays).

Note also that K2 switches when you press the "Reverse Direction" button, and K3 switches when you release it. This means that while you're holding the button, the motor is unpowered, which is probably better than instantly slamming it into reverse.



Multiplexer diagram:







simulate this circuit

Ladder diagram:







simulate this circuit