Saturday, May 16, 2026

Testing with a Calcomp 535 - part 2

MEASURING -34 VOLTS IS OKAY WHEN THE SUPPLY IS UNCONNECTED

Two factors contribute to a higher unloaded voltage observed on the -24V rail. First, the nominal AC mains voltage was bumped up from 115V to 120V at some point after the plotter was designed. Second, voltage drop takes place in the transformer secondary windings when it is under load that reduces the output voltage compared to the very high impedance of an unloaded measurement. 

MOVING FORWARD TO TESTING

I tested the logic boards to be sure that there were no short circuits that might damage the power supply rails. After this point, I felt comfortable that the worst I would be facing is incorrect behavior, not dramatic failure. I hooked up the logic board to the power supply, controls and stepper motors, again checking for unexpected short circuits. 

There are two ring counters in the plotter - one for the pen carriage moving left or right, the other for the drum to roll up or down. These drive current through one of three pairs of coils in a stepper motor, with the active coil pair moving each time we shift the ring counter. 

The final circuit is a flipflop for pen up versus pen down on the paper. A falling edge on one side sets the flipflop to 'pen down', a falling edge on the other changes the flipflop to 'pen up'. This either energizes the solenoid in the pen or turns it off to allow the pen to move back under spring tension. 

My first tests used the manual controls on the plotter. This verifies that the motors move one step in each direction and that the ring counters are functional. It is a fairly good test of the plotter circuitry. The circuit for the drum movements worked perfectly, single stepping and then moving 120 steps per second with the fast mode manual control. The carriage left or right controls did nothing - no single step, no fast movement. 

There is something wrong with the plotter concerning the carriage movements. I don't have the plotter assembled enough to power the solenoid since its power travels through the cables which pull the carriage left or right and those are not connected yet. Thus all I can test with the plotter in its current condition is whether the controller card can move the drum up or down one step in response to an XIO Write. 

TESTING THE INPUTS FROM THE 1130

Then I used my bench testing setup to try to make the steppers work with triggers from my breadboard device. The circuitry looks for a falling edge on the control inputs to advance a ring counter in one direction or another - the outputs of the ring counter are fed to the poles of the stepper motor, so that one step of the ring counter causes one increment of rotation on the motor.  

The bench setup uses pullup resistors to 12V and a pushbutton to drop each of two lines to ground when I activate the button. My scope could show me the state of the ring counter which would let me verify that it moves one step in each direction on command.  Alternately a voltmeter on the collector of the driver transistor for each of the three coils will show two at -24V and one at ground, shifting which is grounded as the ring counter advances. 

Indeed, the button press resulted in a one step movement in the direction I requested, exactly the same as the manual control on the plotter. Since this mirrors how my controller card drives the plotter, I fully expected the final testing on the 1130 to succeed too. It was time to connect to the 1130 and try it out. 

TESTING WITH THE IBM 1130 SYSTEM

I hand toggled some commands into the 1130 system so that I could execute XIO Write and XIO Sense Device commands. The goal was to mirror the tests from the bench. 

I coded an XIO Write with the data word set to request an up movement, followed by an XIO Sense Device and then a wait instruction. I should see the status with bits 14 and 15 set in the accumulator register (ACC). The 1130 should have taken a step into the interrupt handler for level 3, which I set up with a wait instruction. The stepper motor should have moved one step. 

I then have an XIO Sense Device followed by another wait instruction. This is in the interrupt handler code. I should see bits 0 and 15 in the accumulator, since the movement is complete. The next instruction is an XIO Sense Device with Reset bit 15 followed by a branch out of the interrupt handler. I should return to a wait instruction following the original XIO Write and Sense Device code. 

I can update the data word and do the above a second time, so that it is now requesting to turn the drum down. This too worked properly. I set up a loop so that my program issued drum movement commands as fast as the prior one completed and we returned from the interrupt handler. The drum moved rapidly, even faster than the manual fast mode control. 

Ultimately, I powered off the Calcomp to test its behavior in that mode. When I issue the XIO Sense Device I should see that no bits are on. Doing an XIO Write to request an up movement should turn on the interrupt request but an XIO Sense Device will show only bit 0 turned on indicating that the movement completed but the plotter is not ready. 

That is exactly how it behaved. Everything I could test was working exactly as it should. 


No comments:

Post a Comment