Wednesday, February 24, 2016

Reimplemented buffer logic for 1442 card reader/punch, resolving 3d printer issue


Debugging the virtual 1442 functionality

My practice when I find that a particular section of logic or function is very troublesome is to redesign and reimplement - often getting to a more solid behavior as a result. I will do this with the logic that writes to the two buffers for the 1442 - pre-read and pre-punch. This will replace some multiplexed address and write signals, which could be causing glitches as the control signals switch.

Instead, I will put the addressing and control of the buffer memories each in its own process, which will look at the control signals and proposed addressing signals from the various processes (push content to pre-read, handle XIO read or write, fetch from pre-punch, and copy pre-read to pre-punch).

The main processes to handle the copyover, fetch from pre-punch, push to pre-read and completion of XIO Read/Write were modified to trigger these buffer processes and to tell them in what cycle they should handle the read or write to the buffer. I hope to test this tonight, but I have quite a bit of day-job work and a car that needs its battery replaced.


I disassembled the extruder on the printer and found a manufacturing defect in the bracket that bolts to the servo motor, upon which the pivot is installed that presses the filament into the knurled gear on the end of the servo shaft.  The bracket is held to the servo motor by an M3 6mm bolt. The bolt fits into a recessed hole, to keep the head of the bolt from interfering with the operation of the pivot. Due to the depth of the recess, the 6mm bolt bottoms out in the servo motor before it clamps the bracket firmly.

The bracket shifts, jams the gear on the extruder shaft and that causes it to release too little molten plastic. My solution is to substitute a 4mm long bolt, which should hold the bracket tightly in place. I also think I have to clean out and open up the nozzle so that it extrudes the proper amount. More on this in a couple of days when I have time to work on it again.

Absolute worst case is that I buy an extruder from ebay and hook it up, so I am satisfied with my bargain printer kit. It is suited to a hobbyist who can sort out spare parts, diagnose problems and understands the underlying technologies. Someone who needs tech support or very complete instructions will not do as well with this kit.

For example, the machine initially behaved bizarrely, heating both the bed and extruder when it first powered up, while shuffling all thee motors back and forth about 10mm perpetually. I created a video it including the control panel showing it mis-performing and asked for a link to replacement firmware.

A couple of days later, I got an email claiming to have watched my video and diagnosing the problem as a bad thermistor on the bed which needed replacement. Fortunately, I had earlier discovered a response from the company to a different user (on an Amazon feedback post) with a link to the firmware. I downloaded that firmware and fixed the problem, without touching the thermistor they mentioned.

I can see a chain of actions and emails from a naive user, culminating in several replacement parts being shipped from China but not fixing the problem - other than accidentally. This kit suits me but wouldn't work for many.

No comments:

Post a Comment