LinuxCNC and Mesa Retain the Bridgeport Mill's DC Servos

Tom Garrett13 min read
Application NoteMotion ControlOther Manufacturer
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

The Supermax mill’s Anilam Crusader II control was functional but dated, and the retrofit ultimately kept the SEM DC servos, linear scales, and most cabinet wiring. LinuxCNC with Mesa interface hardware provided the path to reuse those components; the final build used a Mesa 5i25 and 7i77 with replacement analog AMC servo drives.

The 140 V, 21 A Servo Load

The listed motor values are the first sizing constraint, not proof that a particular drive is suitable. The initial plan described the motors as 140 V and 21 A and considered Granite VSD-XE-160 and Dugong DG2S-16035 drives. The source gives no drive output-current ratings, so it does not establish that either model meets the motors’ continuous or peak requirements.

Quantity Known value or relationship Where to verify it
Motor voltage and current 140 V and 21 A were listed for the DC servo motors. Read each motor nameplate and the motor documentation; identify armature voltage and continuous current for each axis.
Conditional electrical input If 140 V and 21 A apply simultaneously to one motor, V × I = 2,940 W electrical input. Confirm the rating basis and motor operating point. This arithmetic is not shaft output and does not size a drive by itself.
Drive continuous output Must satisfy the motor’s required continuous armature current at the configured voltage. Read the exact drive’s continuous current rating and derating conditions.
Drive peak output Peak current is a separate limit from continuous current. Check peak current and its allowed duration in the drive documentation, then compare with the axis load profile.
Axis thermal load Depends on current over time, not only a short peak value. Use expected cutting, acceleration, holding, and idle periods to assess the motor and drive duty.

For a DC armature, current produces motor torque and sustained current produces heat in the motor and drive. A drive that can briefly supply a current value may still overheat or trip if that current persists. Use the motor’s stated continuous armature current and the drive’s continuous rating as the primary comparison; treat peak capacity as a separate, time-limited allowance. Do not turn an unspecified pulse into an equivalent continuous current without the waveform, off-time, and repetition period.

Check the exact drive manuals before choosing between the proposed Granite and Dugong models or the AMC drives later used in the retrofit. Confirm voltage range, continuous and peak armature current, feedback compatibility, command input type, and regeneration handling. The family names alone do not decide the fit.

The Two Feedback Architectures

The decisive control question is where the position feedback terminates. A pulse-and-direction command and an analog command are not interchangeable descriptions of the control loop: each arrangement assigns command generation and position correction differently.

Arrangement Control behavior Decision consequence
Pulse and direction to a servo drive The controller sends motion increments and direction. If the encoder returns only to the drive, the drive can use it locally, but the host does not know actual axis position from that encoder alone. Route suitable encoder or scale feedback to the controller as well if host-level position error monitoring or correction is required.
LinuxCNC with an analog servo interface LinuxCNC runs the axis control calculations in real time on the host; the Mesa interface carries command, feedback, and I/O signals. The drive powers the motor and performs its configured local regulation. Confirm that the selected feedback signal reaches LinuxCNC and that the drive’s command mode matches the configured loop.

In a closed position loop, the controller compares commanded position with measured position and corrects the error. A drive-mounted encoder used only inside the drive cannot provide the host with that measurement. Conversely, routing a linear scale or encoder to the real-time controller gives it position information, but only if the scale is wired, counted, and scaled correctly in the control configuration.

The original planning notes included both interpretations: a pulse-and-direction drive may close its own loop, while LinuxCNC with an analog interface can run the axis loop in the real-time host. The final retrofit used LinuxCNC, Mesa hardware, retained linear scales, and analog drives. Treat the selected drive’s block diagram and feedback wiring as the authority for the exact division of loops; avoid assuming that the word “closed loop” means the PC sees the motor encoder.

The Controller and Drive Options

The choices considered differed in cost, interface, and how readily they could reuse the machine’s existing analog drives and I/O. The selection should follow the electrical and feedback boundary above, rather than the controller’s advertised connection type alone.

Option considered Evidence-backed characteristics Fit question
DSPMC Ethernet motion controller Described as well known and the most expensive of the listed controllers. Verify its command and feedback interfaces against the chosen drives and scales.
CSMIO/IP-S with Mach3 Considered as an Ethernet motion-controller route; the builder had difficulty finding user experience before choosing. Confirm support for the required axis feedback, analog or pulse command, and all retained machine I/O.
K-Flop USB motion controller Described as the cheapest option; the plan required an additional PWM-to-analog converter for VFD speed control, and the unit was described as lacking opto-isolation and a housing. Account for the added spindle signal conversion and the actual electrical isolation and enclosure requirements of the installation.
LinuxCNC with Mesa hardware Selected for the mill; the final combination was a Mesa 5i25 and 7i77. The plan initially included a 7i76 as well. Map axis feedback, analog drive commands, limits, switches, and other I/O to the chosen card combination.

Granite VSD-XE-160 and Dugong DG2S-16035 were drive candidates, not proven selections for the stated motor ratings. One planning note raised a concern that a Granite dual-drive configuration might not pass encoder position through. Treat that as a design check: verify the exact configuration’s feedback path in its documentation rather than designing a host-level loop around assumed encoder availability.

The later build did not use the contemplated Mach3/CSMIO and Granite combination. It used LinuxCNC and Mesa, retained the SEM motors and scales, and replaced the old Anilam drives with analog AMC drives. The reported reasons included lower cost than the alternatives considered, the ability to get running with existing analog hardware, and available configuration information for the AMC drives.

The LinuxCNC and Mesa Selection

For this machine, LinuxCNC with Mesa hardware was the practical selection because it preserved a working analog-drive and scale installation while removing the dated Anilam computer controls. The final account identifies a Mesa 5i25 and 7i77 connected to a PC motherboard through a PCI slot. A 7i76 was part of the earlier expansion plan, but it was not named in the final installed combination.

The Mesa cards supply the interface between the host control and machine signals; the card alone does not define the complete servo loop. LinuxCNC must be configured for the axis command type, feedback source, scaling, polarity, and timing used by the actual drive and scale. The real-time host performs the axis control calculations in the analog arrangement described for this retrofit, while the drive provides motor power and its configured local regulation. The precise analog command meaning and drive loop settings depend on the selected drive.

This architecture also explains why simply comparing Ethernet, USB, and PCI connections can mislead. The bus is one part of the system; the critical design boundary is which component calculates axis corrections, which component generates the command waveform, and where the encoder or scale data is consumed. Read the controller and drive documentation together and draw the signal path before wiring.

The Retained I/O and Feedback Plan

The builder kept the SEM servos, Anilam linear scales, and almost all main-cabinet wiring because the existing E-stop, limit-switch, and related circuits were working. Replacing functional safety and machine wiring was not required to replace the computer control. Retention still requires point-by-point verification after the new controller is connected: legacy wiring that remains physically intact can be misassigned or configured incorrectly at the new interface.

List each signal before removing or reconnecting anything: axis feedback, drive command, axis enable, limit switches, E-stop-related contacts, and auxiliary relay outputs. Record the terminal and wire identity, electrical type, and expected normal state from the machine documentation or measurement. Then map each signal to a Mesa input or output and validate it individually before enabling motion. The source does not provide pin assignments or voltage ranges; obtain those from the card, drive, and machine documentation rather than inferring them from wire color or the old controller’s connector.

In the final machine, the old bulky 24 V supply was replaced with a 24 V switched-mode supply because the remaining supply load was six small relays. That is a specific installation decision, not a general supply-sizing rule. For any replacement, calculate the relay coil and other connected loads and check the supply’s output rating and the control circuit’s required voltage before substituting a supply.

The VFD and Spindle Boundary

The spindle VFD is a separate control path from the DC servo axes. The initial K-Flop plan called for a PWM-to-analog converter to command VFD speed. The eventual project used a Mitsubishi VFD for the spindle, tested it successfully after the main motor was rewound, and was wiring the VFD in its own cabinet with a relay board for spindle commands and servo-drive enable functions.

Keep the spindle speed reference and discrete control signals distinct in the I/O map. Identify the VFD’s accepted speed-reference type and the required start, stop, and enable behavior from its documentation; then configure the selected motion-control interface or conversion hardware to match. The source does not give the VFD model, analog reference range, PWM frequency, or terminal assignments, so none should be guessed.

The spindle motor had previously been rewound for star connection, then rewound again with selectable star and delta connections after winding damage. The project reported testing the Mitsubishi VFD successfully with the repaired motor. That history makes the motor’s nameplate and the actual connection configuration part of the drive check: confirm the motor connection and rated voltage against the VFD setup before assigning speed commands.

The Retrofit Sequence

  1. Inventory the working machine. Record the motor and drive nameplates, scale type, signal wiring, E-stop and limit circuit behavior, VFD data, and every relay function. Separate the axis power and feedback path from spindle and auxiliary control.
  2. Choose the loop architecture. Decide whether the axis will use pulse-and-direction with feedback local to the drive, or a LinuxCNC real-time axis loop with feedback returned through the Mesa interface. Confirm that the selected drive accepts the planned command and that the controller can read the chosen feedback device.
  3. Size each drive from actual ratings. Compare each motor’s armature voltage and continuous current with the drive’s voltage range and continuous current. Check peak-current duration, duty, cooling, and regeneration requirements separately. Do not approve a model based only on the motor’s 140 V, 21 A values or a model name.
  4. Select the Mesa interface and host. The implemented mill used the 5i25 and 7i77. Decide whether additional daughter-card I/O is necessary by counting actual signals; the 7i76 appeared in the plan but not the reported final build.
  5. Preserve functional circuits deliberately. Retain the working scales, wiring, limits, and E-stop circuitry only after tracing and labeling their connections. Replace only failed or unsuitable components, as the builder did with the noisy but otherwise working Anilam servo drives.
  6. Configure one axis at a time. Enter feedback scaling, direction, command scaling, and drive enable behavior from measured signals and manufacturer data. Keep motion commands constrained during initial checks; confirm that commanded direction and measured direction agree before testing travel.
  7. Add spindle and auxiliary control after axis signals are mapped. Wire the VFD reference and relay functions separately, validate start/stop and enable behavior, and then test coordinated machine functions.

One drive in the project was damaged after it was connected the wrong way around. Treat motor polarity, supply polarity, and command polarity as independent wiring checks; confirm terminal designations against the exact drive manual before energizing. A reversed motor command may produce motion in the wrong direction, while a power connection error can damage the drive.

The Commissioning Checks

Separate control-logic problems from thermal or power-stage problems by observing command, feedback, current, and temperature together. A direction mismatch or feedback count that moves opposite to the command points to wiring or configuration. A drive trip under sustained load, excessive motor heating, or rising current after the axis has stopped points instead toward load, current-limit, tuning, cooling, or mechanical causes. Read the drive’s actual fault indication and measured current; do not infer a fault code that the drive has not reported.

Observation Likely boundary to inspect Measurement or check
Axis moves opposite the command Motor polarity, feedback direction, or sign convention Compare a small commanded move with the actual motor and scale direction before extending travel.
Position drifts or following error grows Feedback wiring, scaling, loop configuration, or mechanical load Compare commanded and measured position at the control and inspect drive status.
Motor or drive heats under sustained operation Continuous current, load, cooling, or duty mismatch Measure current during representative operation and compare it to the continuous ratings.
Hunting while stationary Feedback resolution or loop tuning Check scale counts and displayed position behavior; the retained scales were reported to have 0.01 mm resolution and some hunting at rest.
Spindle does not follow its speed command VFD reference type, scaling, or control wiring Compare the requested speed signal with the VFD’s indicated reference and configured input mode.

Test limits and E-stop response with motion disabled or otherwise controlled according to the machine’s documented commissioning process before allowing axis travel. Then verify each limit input changes the intended control state and that the control cannot continue commanded motion into the limit. Test axis enable, disable, and power-up behavior separately from ordinary feed motion; a working old circuit does not automatically prove the new interface has interpreted it correctly.

The Encoder Resolution Decision

The machine retained its Anilam linear scales, reported at 0.01 mm resolution. The builder observed some hunting at rest and considered adding rotary encoders at the servo ends, either to replace tachometers used for velocity feedback or to replace or augment the linear scales. Those options solve different measurement problems.

A motor-mounted encoder measures motor rotation. A linear scale measures table or quill position downstream of mechanical transmission. A motor encoder may improve motor feedback resolution, but it does not directly measure backlash, coupling slip, or motion between the motor and the table. A linear scale observes actual axis travel at its mounting point, but its resolution and signal quality constrain the controller’s position measurement. Decide whether the required feedback is motor velocity, motor position, or actual table position before choosing which sensor to replace or augment.

Before adding encoders, confirm their electrical interface, count format, direction, and resolution with both the drive and Mesa/LinuxCNC configuration. The evidence gives no encoder model, pulses per revolution, scale interface, or signal level. Read those values from the sensor documentation and verify measured counts against a known axis movement. Do not remove a functioning scale merely because a motor encoder has a higher nominal count resolution; first establish whether it gives the position measurement the application needs.

Frequently Asked Questions

How do I choose between LinuxCNC with Mesa and Mach3 with an Ethernet controller?

For the described mill retrofit, LinuxCNC with a Mesa 5i25 and 7i77 let the builder retain analog drives, linear scales, and most existing wiring. Choose the alternative only after confirming its command, feedback, and I/O interfaces against the exact drives and machine signals.

How do I know whether a 140 V, 21 A servo drive is correctly sized?

Confirm that those values are the motor’s armature ratings and identify the continuous current for each axis. Compare them with the drive’s continuous current and voltage ratings, then check peak current duration, duty, and regeneration from the exact drive documentation.

How do I tell whether the PC sees servo encoder position?

Trace the encoder or linear-scale signals to their destination. If feedback terminates only at the drive, the drive may close its local loop while the host lacks that position measurement; host-level following-error control requires feedback routed and configured at the controller.

When should I stop commissioning and contact support?

Stop axis testing if motion is uncontrolled, feedback direction is uncertain, a drive reports a fault, or measured current exceeds the motor or drive limits. If the exact drive mode, analog scaling, or feedback mapping remains unresolved after checking its documentation, contact official support for the controller or drive manufacturer before returning the machine to service.

Back to blog