Problem Overview
A bench-test configuration using a Dynomotion KFLOP motion controller with a third-party breakout board (BOB) and a stepper drive fails to produce shaft rotation. The KFLOP appears to accept axis configuration, but no motion occurs. This article isolates whether the fault is on the controller side, the BOB wiring, or the stepper drive input stage, and walks through a voltage-toggling diagnostic that locates the fault without an oscilloscope.
Prerequisites
- KFLOP controller with PC-side host application installed (KMotion, Dynomotion configuration utility, or user C-program).
- A known-good bench power supply sized for the stepper bus voltage; voltage underrating causes torque loss but will not prevent stepping.
- Steppers with datasheet voltage and phase-current ratings (even if the bench supply does not match the production supply).
- Winford BRK2X13 BOB (or equivalent BOB whose pinout matches the KFLOP JP7 header).
- TTL-compatible stepper drive (example referenced: Centent CN0165).
- Digital multimeter capable of DC voltage reading to 0.01 V resolution.
- KFLOP-to-PC USB or Ethernet link so the controller can be reconfigured live without firmware flashing.
KFLOP JP7 Pinout and Step/Dir Output Map
The KFLOP routes its digital I/O through header JP7. Outputs are accessible as pairs of step and direction lines for each axis, typically allocated as follows when using the KFLOP default axis configuration:
| JP7 Pin / Bit | Signal | Axis | Function |
|---|---|---|---|
| 15 | OPTO_OUT15 | Axis 0 | Step pulse |
| 16 | OPTO_OUT16 | Axis 0 | Direction |
| 17 | OPTO_OUT17 | Axis 1 | Step pulse |
| 18 | OPTO_OUT18 | Axis 1 | Direction |
| 19..25 | OPTO_OUT19..25 | Axis 2/3 or GPIO | Reserved or user-defined |
Configuration Download vs Firmware Flash
A common confusion when first configuring KFLOP is the distinction between two distinct operations:
- Configuration download (live): The host application writes axis parameters, I/O maps, and trajectory settings into volatile KFLOP memory each time the controller is initialized over USB. This is the recommended workflow for bench work and production alike.
- Firmware flash: Reflashing the KFLOP's internal firmware image, normally only needed to upgrade the controller or to run without any PC connection (standalone mode). It is not required to make axes move.
Flashing should be left at factory defaults unless a specific standalone-embedded requirement exists. The KFLOP can be restored to the original factory state via the New Version button on the configuration / flash screen of the host utility.
Why this distinction matters in troubleshooting
If a configuration-download parameter is wrong (for example, the step pulse width or the polarity of the direction bit), the issue can be fixed by editing the configuration and re-downloading. If firmware-flashed settings were changed inadvertently, the controller state diverges from the live configuration and the symptom persists even after correct parameters are downloaded. Always keep the two separated.
Stepper Drive TTL Input Requirements
The Centent CN0165 user manual states the relevant input characteristics:
The CN0165 uses high-speed opto-isolators for the Step Pulse and the Direction inputs to provide maximum noise immunity. The Step Pulse and Direction inputs are compatible with TTL drivers and require no additional components.
Equivalent drives (Gecko G201/G202 family, Centent CN-series, comparable commercial units) accept a TTL-level pulse train: a logic high above ~2.4 V and a logic low below ~0.4 V, with edges transitioning within a few hundred nanoseconds for reliable pulse detection at high step rates.
| Parameter | TTL Min | TTL Max | CN0165 Typical |
|---|---|---|---|
| Vih (logic high input) | 2.0 V | 5.5 V | >2.4 V |
| Vil (logic low input) | -0.5 V | 0.8 V | <0.4 V |
| Step pulse width | 1 µs | — | 1 µs minimum |
| Direction setup time | 200 ns | — | 200 ns typical |
Step-by-Step Diagnostic Procedure
- Power the BOB and drive. Confirm that the BOB and the stepper drive have their independent supplies (or shared logic supply) energized. Verify the drive's power LED is illuminated and that there is no fault LED active. For the CN0165, a faulted drive will refuse to accept step pulses even when logic is correct.
- Connect KFLOP to the host PC and open the host utility. Confirm the KFLOP communicates (no red error banner, version is reported). Do not flash firmware at this point.
-
Download the configuration that allocates:
- Axis 0 step → Output 15
- Axis 0 direction → Output 16
- Axis 1 step → Output 17
- Axis 1 direction → Output 18
- Toggle the step output manually. In the host utility, force Output 15 (Axis 0 step) ON, then OFF, then ON again. Each transition should produce a single rotor step.
- Measure at each node with a digital multimeter on DC volts:
Voltage Measurement Table
| Test Point | Expected (TTL) | Pass Criteria | Failure Indicates |
|---|---|---|---|
| KFLOP JP7 pin (output side) | 0 V ↔ 3.3 V or 5 V | Transitions cleanly between LOW and HIGH when toggled | KFLOP output or configuration issue |
| BOB input pin | Same as above | Reaches the BOB with clean levels | Cable/connector fault |
| BOB output pin (drive side) | Same as above (buffered by BOB if applicable) | Transitions cleanly | BOB buffer failure, solder bridge, or wrong jumper |
| Drive Step Pulse input, referenced to drive GND | 0 V ↔ ~5 V | Transitions cleanly into TTL band | Ground mismatch, opto-coupler wiring reverse, or drive fault |
| Drive Direction input | 0 V or ~5 V (static) | Changes when direction toggled | Direction output not mapped, broken wire, or inverted logic |
Diagnostic Rule of Thumb
If the first measurement (KFLOP JP7 pin) toggles between 0 V and logic high but the motor does not respond, isolate the BOB and drive by injecting a manual TTL pulse from a function generator or by momentarily shorting the drive's Step Pulse input to 5 V (after enabling the drive with no motor connected). If the motor steps when externally driven, the fault lies between KFLOP and the drive (cable, BOB, ground reference, or drive input polarity).
Common Wiring and Configuration Faults
| Symptom | Likely Cause | Remedy |
|---|---|---|
| No motion, no voltage toggle at JP7 | Configuration not downloaded; wrong output assigned; firmware altered | Re-download configuration; verify axis-to-output map; restore factory firmware via New Version button |
| Toggle at JP7, no toggle at BOB input | Cable/connector fault | Re-seat IDC header, swap cable, crimp new connector |
| Toggle at BOB input, no toggle at BOB output | BOB buffer failure or wrong jumper setting | Inspect BOB for solder bridges; verify buffer IC power; check enable jumpers |
| Toggle at drive input but no motor step | Drive fault, missing motor power, or wrong current setting | Cycle drive power; verify bus voltage and current limit per motor datasheet |
| Motor vibrates but does not rotate | Wrong phase sequence or insufficient current | Swap one phase pair; increase current limit within motor rating |
| Random direction changes | Noise on direction line or missing pull-up | Add RC filter per drive datasheet; shield cable; verify KFLOP output drive strength |
| Missed steps under load | Insufficient torque, acceleration too high, or pulse width too narrow | Reduce acceleration; increase pulse width in configuration; verify supply voltage |
Ground Reference Considerations
Opto-isolated stepper drives have two ground references: the logic-side (signal) ground and the power-side (bus) ground. When probing with a multimeter, the negative lead must be placed on the drive's signal ground, not the KFLOP ground or the BOB ground. If the two grounds are not tied together at the receiving end, the opto-isolator input may see a floating reference and never satisfy Vih/Vil thresholds even though the line is being toggled.
Verification
After applying the corrective action identified by the diagnostic:
- Issue a slow jog command of 100 steps at 100 steps/second from the host utility.
- Confirm the rotor advances 100 microsteps (or full steps, depending on drive resolution) without vibration or hesitation.
- Repeat with direction reversed and confirm the rotation reverses.
- Increase step rate gradually to the rated maximum of the motor/drive combination. Verify no audible squeal or resonance, and that the rotor keeps pace without missed steps.
- Repeat for Axis 1 using Outputs 17 and 18.
Operational Best Practices
- Keep configuration-download separate from firmware-flash operations. Document which firmware version is loaded for each KFLOP.
- Label BOB cables clearly: step lines are not interchangeable with direction lines, although pin numbering on JP7 may put them adjacent.
- Use shielded twisted-pair cable for step/dir runs longer than 0.5 m. Tie shield to chassis ground at one end only.
- Verify torque margin: the bench supply may be substantially below the motor's rated voltage, which is acceptable for bench tests but will not represent production performance.
- After a successful test, retain the configuration file and back it up alongside the KFLOP firmware version.
FAQ
Why does my KFLOP axis not move even after I press "download configuration"?
The configuration download writes axis parameter values into KFLOP volatile memory, but it does not start motion. The axis must be enabled and a move command (jog, point-to-point, or trajectory) must be issued before the step pulse output toggles. Verify that the axis state machine is in the "enabled" state in the host utility before issuing motion.
Should I flash my KFLOP firmware to fix a non-moving axis?
No. Flashing the firmware changes the KFLOP's internal program image and is not required to make axes move. Keep the firmware at the factory version unless standalone operation is required; use configuration download for axis and I/O setup. If firmware was inadvertently modified, restore via the "New Version" button on the configuration/flash screen.
Which KFLOP outputs do I assign for two stepper axes using a Winford BRK2X13 BOB?
For a KFLOP whose JP7 pinout matches the BRK2X13, the typical assignment is: Axis 0 step = Output 15, Axis 0 direction = Output 16; Axis 1 step = Output 17, Axis 1 direction = Output 18. Confirm against your KFLOP revision's documentation before commissioning.
How can I tell if the KFLOP, the BOB, or the drive is the fault when no steps are observed?
Toggle the step output from the host utility and measure DC voltage with a multimeter at: (1) KFLOP JP7 pin, (2) BOB input pin, (3) BOB output pin, and (4) drive step input referenced to the drive's logic ground. The first node where the voltage fails to transition cleanly between 0 V and ~5 V identifies the faulty segment.
My stepper drive uses opto-isolated inputs. Does that change the wiring for KFLOP?
Yes. The drive's logic ground is isolated from its bus ground; you must wire the KFLOP/BOB signal ground to the drive's signal-ground terminal, and the KFLOP output must source or sink current through the opto-isolator LED per the drive's input-polarity specification. The CN0165 manual confirms TTL compatibility with no additional components, but the ground reference and polarity must still be correct.