Hi Adam. I had to read your reply several times to see what was happening. You mentioned holding L2 open, and that confused things for me. Also your line “Now, if I push the button while it is still traveling towards L1 it stops and if I push the button again it returns to L2” doesn’t make sense. If you press the button when it is traveling towards L1 it will not just stop – it will stop and immediately reverse.
Let us recap on how the circuit works. The 555 is basically a bistable latch. It has two states – a ‘set’ state where pin3 goes high, and a ‘reset’ state when pin3 goes low. Taking pin2 to a voltage below 1/3V (V=the supply voltage) will ‘set’ the output. Taking pin6 to a voltage higher then 2/3V will ‘reset’ the output. In this circuit, pins2&6 are tied together and held at 1/2 of the supply voltage, so the output is reset by taking both pins higher than 2/3V or set by taking the pins lower than 1/3V. When the pins return to the 1/2V level, the 555 will stay at the last commanded state.
The relay connected to pin3 will energise and run the motor one way when the 555 is set, and de-energise and reverse the motor when the 555 is reset. So the motor direction is dependent on the state of the 555 – not the limit switches. They are only there to limit the motor travel. Operation of the push button is like this. When the 555 is reset C2 discharges to 0V via R3. When the button is pressed, that 0V charge on C2 is impressed onto pins2/6. As pin2 goes below 1/3V that sets the 555 and pin3 goes high, energising the relay. With pin3 high, C2 will charge up via R3 to around 12V. So next time the button is pressed, pin6 goes high, resetting the 555. And so on ‘Ad Infinitum’.
From your description of events, the 555 is being reset in error. I don’t think it is the diode in backwards – that would cause it to blow. If it has blown it would be unlikely to give this problem because without it the 555 would falsely set – not reset.
My problem is that I am not there, meter in hand, to do a diagnosis – I can only react to tests that you do. So can I ask you to do a few more?
1. It is fairly obvious that pin6 is going above the 2/3V level in error. Would you check the voltage on that pin to be sure it is 1/2V. If it is not, R1 or R2 is the wrong value or the 555 is faulty.
2. Assuming that is correct then the likely problem is static from the mains wiring to the motor getting to pin6. Temporarily disconnect the motor. Now operate the push button several times (a few seconds apart) to ensure the relay goes on and off. If you cannot hear it clicking then measure pin3.
3. If all is OK so far then it is mains pickup on pin6. One of these should effect a cure:
a) Dress the mains wiring to the motor and limit switches away from the PC board.
b) Move the PCB as far away from the motor/wiring as possible.
c) Remove C1 from its present position on the PCB and wire it directly across pin 6 and pin8 of the 555 holder in order to keep the wiring to the cap as short as possible.
If it still malfunctions after these actions, will you let me know at what stage it goes wrong? Good luck!