Electronic control system (LinuxCNC) - jasonwebb/tc-maker-4x4-router GitHub Wiki

Quick links
MESA 5i25 PCI card - MESA 7i76 breakout - Stepper motor driver - AC relays


MESA 5i25 - FPGA PCI card

The MESA 5i25 is a high-performance expansion card inside of the host machine PC that is specially designed to provide the computing power needed to efficiently and quickly calculate the complex coordinated movement trajectories (including acceleration profiles, look-ahead planning, and more) of all of the motors. These trajectories are chopped up into very fast "step" and "dir" signals for each motor, which are all output in real-time through the 5i25's DB25 parallel port.

Features

  • Supports up to 5 channels of step/dir outputs
  • Provides 34 I/O pins (17 per connector)
  • All I/O pins are 5V tolerant, with pull-up resistors
  • Includes firmware modules such as:
    • Hardware step generation
    • Quadrature encoder counting
    • PWM generation
    • Digital I/O

Useful links


MESA 7i76 - step/dir and I/O daughtercard

The MESA 7i76 is designed to be a kind of breakout board for the MESA 5i25 (or similar) PCI card, essentially allowing for easier access to the pins its DB25 parallel port.

Nearly all of the DB25's pins are broken out directly to screw terminals for easy access to step/dir signals for all motors, as well as spindle encoder inputs. All other screw terminals connect to an additional microcontroller on the 7i76 whose purpose is to handle additional I/O and pass along data to the 5i25 via the DB25's Smart Serial interface.

Features

  • Supports up to 5 stepper motors.
  • Isolated analog spindle control, with a spindle encoder interface.
  • Supports up to 48 isolated general I/O pins for use with limit switches, control panel inputs, coolant control, and tool changer control outputs.
  • On-board RS-422 interface available for additional expansion for a serial I/O daughtercard.

Overview of connectors

Header Functionality
TB1 External power for board.
See page 10 of the manual for details.
TB2 Step/dir signals for 4 motors, with +5V and GND for each.
See page 5 of the manual for details.
TB3 Step/dir signals for the 5th motor, along with spindle encoder inputs and an RS-422 serial interface for expansion.
See page 6 of the manual for details.
TB4 Isolated analog output and control signals for the spindle.
See page 7 of the manual for details.
TB5 and TB6 Total of 48 general purpose I/O pins for use with endstops, relays, lighting and more.
See page 8 of the manual for details.

Implementation notes

TB1 - field (external) power

Pin Connected to
1 Rings of all endstop audio jacks
2-4 -
5 12V input from power supply
6-7 -
8 Ground from power supply

TB2 - step/dir for motors 0-3

Pin Connected to
1 Stepper motor driver ground
2 -
3 X step
4 -
5 X dir
6-8 -
9 Y1 step
10 -
11 Y1 dir
12-14 -
15 Z step
16 -
17 Z dir
18-20 -
21 Y2 step
22 -
23 Y2 dir
24 -

TB3 - step/dir for motor 4, encoders and RS-422

Pin Connected to
1 Ground for ???
2-23 -
24 Ground for AC relays

TB4 - spindle control

Pin Connected to
1 Spindle speed signal ground
2 Spindle speed signal analog output
3 Spindle speed signal Vcc
4-5 -
6 Spindle enable
7 Spindle direction (inverted)
8 -

TB5 - field I/O

Not used

TB6 - field I/O

Pin Type Connected to
1 Input Endstop ??? signal
2 Input Endstop ??? signal
3 Input Endstop ??? signal
4 Input Endstop ??? signal
5 Input Endstop ??? signal
6 Input Endstop ??? signal
7 Input Endstop ??? signal
8-16 - -
17 Output Trigger for dust collector's AC relay
18-24 - -

Useful links


Stepper motor driver board

The machine uses a HobbyCNC PRO Rev1 Chopper Driver Board to efficiently control the stepper motors. This board takes as inputs two logic-level (5V) signals per motor - one to tell the appropriate motor driver to "step", and one to tell it what direction ("dir") to step in (clockwise or counter-clockwise).

Whereas it is the job of the 5i25 PCI card inside of the PC to generate these low voltage signals, and the 7i76 daughtercard's job to distribute and pass along these signals, it is the job of the chopper driver board to translate these signals into high voltage, high current signals to turn the motors.

NOTE: The Rev1 version of this board is no longer being manufactured, and documentation is scarce. Be prepared to do some sleuthing if you need additional insight beyond what is provided here!

Features

  • DC chopper drive control of up to 4 unipolar or bipolar stepper motors.
  • Accepts step/dir signals for direct control of motors.
  • Accepts 5, 6, or 8 wire stepper motors. 4 wire motors are not compatible.
  • Adjusts current to 50% when idle for 10 seconds (time delay is adjustable).
  • On-board connectors for endstops come with built-in 10k pull-ups.

Specifications

  • Current ratings (individually adjustable)
    • Maximum = 3.0A per phase
    • Minimum = 500mA per phase
  • Microstepping = 1/1, 1/2, 1/4, 1/8, and 1/16

Useful links

Enclosure

The stepper driver board is housed in a Pactec DM-4 enclosure with a custom design handcut into the front and back panels. These designs are available in the media/electronics folder of the repo.


AC relays

We use three solid-state relays (SSRs) to turn on and off various AC devices using low-voltage DC signals via the 7i76, effectively allowing for control of such things as the dust collector and coolant pump using LinuxCNC.

Specifications

  • Model number - SSR-40A DA
  • Maximum AC current - 40A
  • Trigger voltage - 3-32VDC
  • Trigger current - 7.5mA at 12VDC

Trigger connections

AC device Triggered by
Spindle power Switch on interconnect panel labelled "Spindle"
Coolant pump Connected to spindle power trigger
Dust collector MESA 7i76 header TB6, pin 17 (OUTPUT0)
⚠️ **GitHub.com Fallback** ⚠️