Testing console printer interface

The testing plan for the console printer has three phases. First, I will use a test rig to validate the signals, timing and behavior I expect from the Electronic 50 Typewriter mechanism I leveraged, second will involve testing with the logic instantiated in the fpga 1130 but using a prototype driver board, then finally I will test the final production build of the board and connections.

Arduino based test rig to explore interface approach

Tuesday - My test rig was built with an Arduino microcontroller (Mega board) and the relay shield, giving me four relays to drive the 12V solenoid activations and a enough input pins to sense all the reed switch and photocell inputs from the E50. I put a pluggable breadboard between the Arduino rig and the E50, allowing me to change which tilt, rotate and other solenoids are selected by each relay, as well as changing other status signals from the typewriter mechanism.

Arduino microcontroller with relay shield to drive solenoids

The tilt and rotate solenoids seem stiff - dried grease from age affects many of these older machines. I will clean and lubed the entire mechanism to ensure more reliable operation. I have successfully shifted case and fired the typeball for simple characters, plus operated the mechanism that moves the carriage left and right at low and high speed. Everything is looking quite good.

Driving the mechanism with my test rig
Steve Cook, a typewriter enthusiast and former engineer repairing these machines for IBM, kindly provided me a few key pages from the service manual, which has resolved all the questions I had about the shift mechanism, the shift status switch (yes, it is a switch that reports whether the typeball is positioned with the upper case half or lower case half facing the platen), and the mysterious looking RSH solenoid. That is the rack transfer solenoid, which selects which side for rotation from the home position. I had correctly worked out all the other signals from the connections to the removed logic board.

Solenoids and grooved cam drum on underside of carriage
Logic board of E50 - not used in this project
I should receive the components for the driver board tomorrow, whence I can build a prototype single driver, verify the design and then fire off an order for a PCB to mount under the typewriter frame in place of the existing logic board. As an added bonus, the power supply from the E50 will give me all the clean 5V power I need to drive the LEDs in the console display panel and other places on the replica 1130.

E50 Power Supply - 12V for E50 and 5V for my other logic boards
The machine is quite messy, with excess oil in places it doesn't belong, sticky partially dried lubricant in places that should have fresh oil or grease, and the universal problem with the IBM typewriters of disintegrating foam inside. Soundproofing becomes a viscous tarry substance or shreds and floats into places it shouldn't be. I am going to clean it off with isopropyl alcohol then lubricate it properly - that should improve performance and reliability.

Wednesday - After about six hours of scraping off the soundproofing, then cleaning and relubricating the typewriter, I am ready to resume testing of my interface. I had to pick up the appropriate oil (Mobil 1 0W-20), grease (Mobile 1 synthetic) and cleaning supplies in order to finish the cleanup. I have my driver board parts, but they are very tiny surface mount parts (e.g. 0805 size resistors), which are harder to prototype without creating the board first. Will run tomorrow out to find some kind of prototyping board suitable for mounting the transistor, but use old school style full sized resistors for ease of construction. Should finish up the prototype and test Thursday, plus the design of the production board and send it off to be manufactured.

Circuit prototype for solenoid driver for E50

Friday - Prototype tested, works very well, thus on to PCB ordering. Having my set of challenges forcing the PCB design software to produce clean output - it keeps placing signal lines or vias (holes connecting signals on different layers of the board) on top of each other, touching components or overlapping the lettering/outlines of the silkscreen layer. Finally produced clean design files and shopping around for best combination of price and delivery time.

Sunday - finished and ordered the PCB boards to manage button and switch inputs and the LED outputs. It took lots of thought and hand routing to get the connections made among the fourteen chips and other parts. The automatic routing built into the PCB software was unable to converge on a solution, forcing me into manual mode. The other boards, for the LED panel and typewriter solenoid drivers, were easily handled by the automatic routing algorithm and needed just a few hours of tweaking to get into production ready state.

Bottom side of input control board PCB I designed
Top side of the input control PCB I submitted to the fab
   My boards are using surface mount components, which are difficult to solder by hand, so I have bought the parts to build my own solder reflow oven, where I can place all the parts into solder paste on the board at once, then heat it in the oven with the proper temperature ramp, causing the solder to melt, pull the parts into proper alignment and then cool to hardened high quality solder connections. I should have the oven completed by Tuesday evening. I am using a PID controller (proportional integral derivative) with a thermocouple, tied to a solid state relay to modulate the heat in an inexpensive toaster oven. It is essential to follow a specific heat profile, set by the maker of the solder paste being used, to produce good solder joints:

   - first, the board temperature is raised slowly to almost the melting point of solder, typical target rates are 1-2 degrees C per second.

   -  next it is raised a bit and held steady to boil off the flux and clean the surfaces that will be bonded, long enough to eliminate any voids that may form around air bubbles or liquid flux. A representative soak phase is about a minute.

  -  the oven should then move the temperature up quickly to a safe margin above the melting point of the solder paste being used, which then flows over the bonding surfaces. Surface tension of the liquified solder will pull the solder away from the gaps between pads and will drag components into alignment with the pad to which they are being attached. The time to complete this step may also be one minute long.

  - the board is then cooled at a moderate pace to minimize thermal shock, causing the solder to solidify. Once cool enough, it is removed and checked to ensure all joints are properly done, perhaps cooling at 2 C per second.

The solder is in a paste that is smeared on the pads, then each part is pushed into the paste where it sits waiting for the melting phase inside the oven. Because solder, flux and the components contain materials like lead that are unhealthy, the oven can never be used for food. I will mark it as contaminated by hazardous materials to avoid inadvertent misuse in the future.

After a bit of practice with the reflow oven, I will wait for my boards to come back from the manufacturers (Oshpark and Sunstone) then assemble them. All of the components to install on the boards are on their way from Digikey or already on hand. 

No comments:

Post a Comment