Skip to content

2. Connecting the xPro V4

Spark edited this page Dec 10, 2018 · 11 revisions

Quick-Links:

Hookup Guide

Typical xPro V4 Configuration:


xPro V4 Pinout:


Connect stepper motors

  1. Using a multi-meter, resistance Set the Ohmmeter to the lowest resistance scale.
  2. Attach one of the wires to the meter and, in turn, check each of the remaining three
  3. Mark the wire that gave a reading and mark the first wire you started with (coil A)
  4. The remaining two wires will be coil B

NOTE: switching the polarity of either (one) coil will reverse the stepper's direction coils

  • Connect stepper motor wires to 3.5mm motor terminals

Connector Pinouts

Each of the motors has a 4 terminal screw-down block wired as:

Pin | Motor Phase (Output) | Description
----|--------------------- |-------------
1 | A1 | Coil A Positive
2 | A2 | Coil A Negative
3 | B2 | Coil B Negative
4 | B1 | Coil B Positive

Attach one pair to A1/A2 and the other pair to B1/B2. If the motor spin needs to be inverted you can do this in hardware by reversing one of the pairs (e.g. swap A1 with A2 and vice versa), or in software by using the polarity setting.

Connect the motors to the xPro, remembering: NEVER CONNECT OR DISCONNECT BOARDS OR MOTORS WHILE POWERED.

Setting Motor Current

WARNING: Do not force or turn the current trim pots past the detents.

  • Motor current for each axis is adjusted with the "current" trimpot nearest that axis. Clockwise increases current, counter-clockwise decreases current.

  • You want the motor current set slightly above the range you need for your application, but not much higher. Over-driving the motors draws more current and risks overheating or thermal shutdown.

A motor that is receiving too much current may cause it to run "rough". If you experience this try backing off the current and see if the motor runs more smoothly.

Overstressing or overcurrent will cause your motors to heat up substantially. Stepper motors draw the most current when they are not moving so this is when they will get the hottest. Motors that run too hot run the risk of being ruined by demagnetizing.

** Follow these steps to set the motor current:

  1. Set current to zero by gently turning the trimpot all the way counter-clockwise
  2. Send a relatively slow move to that axis, something like g1 f400 x50
  3. Adjust the current up (clockwise) until the motor moves or starts humming (meaning it's stalled)
  4. Try the move again at this new setting. If it's still stalled increase the current some more and try again.
  5. Once the motor is running turn the current down until it stops. Mark this as the low current spot.
  6. Run the motor again and adjust current up until it runs rough or goes into thermal shutdown (see below*).
  7. Now back off until the cycling stops and the motor runs smoothly, and mark this as your upper limit.
  8. When you actually run jobs you want to back off the current as much as you can while still running reliably to somewhere between your upper and lower limit. This will minimize board and motor heating.

*If the motor starts to cycle on and off; this indicates thermal shutdown is occurring. Cycling will occur under thermal shutdown, and only gets more severe as the current goes up - where it appears the motor is stuttering.

4th Axis

####The xPro incorporates 3-axis control with GRBL version 1.1f. The 4th axis, "< A > MOTOR" may be cloned; X,Y, or Z → clone axis)

In order to change which axis commands the ‘A’ axis, simply slide the switch to the desired axis.

Limit Switches / Physical Controls

Once you decide that you're ready or would like to enable homing and/or hard limits, you'll need to enable Grbl "Hard Limits" (Grbl v0.8)/(Grbl v0.9) and connect a normally-open limit switch to each of the limit pins (Limit X-Axis, Limit Y-Axis and Limit Z-Axis).

These Limit(X,Y & Z) terminals are held high with an internal pull-up resistor, so all you have to do is wire the NO (Normally Open) side of the switch terminal to ground. So when you close a switch, the switch will pull the limit pin to ground. If you'd like to have hard limit switches on both ends of travel of an axis, just wire two (or more) limit switches in parallel to the axis limit pin and ground.

Physical Controls (Start/Resume, Hold and Reset/Abort)

In Grbl v1.1f, there are outputs for cycle start, feed hold, and reset runtime commands, so you can have physical control buttons are your machine. Just like the limit pins, these pins are held high with an internal pull-up resistor, so all you have to do is connect a NO (Normally-Open) momentary switch to each pin and to ground. Again make sure you practice good wiring methods to minimize external electric noise on the input pins. Note that just about any switch will work for these - signals are ~micro-Amps.

Output Control Functions

If you have a desire or need for spindle or coolant control, Grbl will toggle these output pins (D12/D11*, D13, A3) high or low, depending on the g-code commands you send to Grbl. *With v1.1f and variable spindle PWM enabled, the D11 pin will output a range of voltages from 0→5V or 0→10V depending the PWM voltage selected. This enables full compatibility with spindles, VFDs, Lasers and more. In addition the coolant output is now an open drain you may directly sink up to 3A, or use to control external relays. Since these pins are all application dependent in how they are used, we'll leave it to you on how to control and use these for your machine.