Over the past few months, Richard and myself have been trying to get the LPKF PC board mill working. The past few weeks we have been joined by Tennessee, who has been invaluable in homing in on the problems. We’ve been doing this on a weekly basis at pretty much every TON since the start of the summer.
At last report we had the main board in the mill working properly, allowing XY motion, head lift/lower, and chuck open/close. Getting the mill to this stage required replacing a shorted capacitor in the 5-volt power supply.
However, the so-called HF board which controls the spindle drive and tool crib is still non-responsive. It was not clear originally if this board was defective or whether a problem in the main board was impeding communications between the boards.
In August, Chris Ware from LPKF came to have a look, and determined that the problem was in the HF board, and later provided a price quote in the order of $650 for a board (with trade-in), shipping and taxes extra. Not having that kind of pocket change we persevered in diagnosing the problem.
One week we convinced ourselves that the communications were fine (both ends of the board-to-board connection use RS232 driver chips, which are pretty resilient).
Another week we determined that the “overload” light on the HF board was due to a power-up transient not being reset by the firmware, which in turn implied something else was getting the firmware upset.
Another week we determined that the processor was not even running (or, at least, not doing any program ROM accesses).
Another week we determined that the processor RESET line was being held low; it should normally hold low for 10-20ms on power up, then go high allowing the processor to run.
The next week a closer examination revealed that the RESET pin was not making contact in the IC socket anyway. Somehow the pin in the socket had been pushed back and was not springing out to contact the terminal on the IC. However, inserting a small wire to make full contact made no difference.
The RESET pin is driven by a very simple circuit: It is grounded through a capacitor, so on power-up the pin starts off at ground. The processor chip has an internal pull-up current source on the pin which charges the capacitor towards +5V. Once the capacitor is charged enough, the Schmidt-trigger input tied to the pin senses the end of the Reset state and starts the processor running. At least, that’s how it is supposed to work. In our case, the pin was being held stubbornly at about 35mV (when a wire was used to make the socket pin contact the IC pin). Using an external resistor to +5V to try to pull it up only raised the voltage by a few mV, which implied that there was (somewhere) about 20Ω to ground on the pin. On the other hand the external capacitor checked out fine.
This week, given that the socket was clearly defective and the processor condition was unknown, we pulled the processor from its socket and removed the socket from the board. The board (a fibreglass one) suffered some delamination in the process but all the vias are still fine. Cleaning up the solder holes in the board was a bit comical: we had Tennessee with the soldering iron, Richard holding the board, and me holding a vacuum cleaner nozzle to the back of the board, to suck all the holes clear of solder to allow a new socket to be inserted. It worked like a charm (and the vacuum nozzle was grounded metal so no worries about static discharge damaging the board).
Richard is holding the edge of the board (and the camera), I’ve got the vacuum cleaner hose under the board, and Tennessee is holding the corner of the board and wielding the soldering iron. It looks really awkward but was very effective at clearing out the solder from the holes in the PCB.
For next week I will have a new socket so we can see if this magically fixes the problem; if not we will have to try replacing the processor. Fortunately they are still available as NOS from Hong Kong, and they contain no ROM so we don’t have to worry about programming them.