MM440 Encoder Module Troubleshooting: HTL Wiring and P0400 Setup

David Krause15 min read
SiemensTroubleshootingVFD / Drives
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

Problem Overview

The Siemens MICROMASTER 440 (MM440) encoder module (catalog 6SE6400-0EN00-0AP0) is an optional plug-in card that closes the speed-feedback loop on a sensorless VFD. When the encoder channel-B LED stays OFF, channel-Z stays solid, and parameter r0061 hovers near zero, the drive cannot resolve rotor position. This is a classic HTL single-ended wiring fault, not a hardware failure. The fix is to (1) verify firmware ≥ V2.0, (2) re-terminate the encoder to HTL push-pull with the correct pull-down resistors, (3) set P0400 = 1, and (4) re-check the r0061/r0090 readout at low speed.

The Encoder Module will only function with the MICROMASTER 440 inverters and must have Version 2.0 or above software installed. The version level of software is shown in parameter r0018 or on the inverter nameplate (firmware format x.xx). Down-level firmware ignores the module and leaves r0061 stuck at 0.0. Refer to the official MM4 Encoder Module Operating Instructions (Issue 01/02) for the compatibility matrix.

Affected Hardware and Firmware

Component Catalog / Version Notes
MM440 inverter 6SE6440-2U__-__A__ (all frame sizes) Sensorless drive that accepts the encoder module
Encoder Module 6SE6400-0EN00-0AP0 Single-channel or dual-channel HTL/TTL plug-in
Required MM440 firmware ≥ V2.0 (read via r0018) Below V2.0 the module is silent and r0061 stays at 0.0
HTL encoder (typical) RS 291-4333, 64 PPR, NPN or PNP, 4-core cable Open-collector outputs require pull-down to VE
Measuring wheel RS 337-2409, 10 mm bore Mechanical coupling for line-speed feedback
Compatibility warning: A 64 PPR encoder is electrically fine for the MM440 (the module accepts 50–2048 ppr), but open-collector HTL encoders must be biased externally. The MM440 Encoder Module does not contain internal pull-ups/down for the A, B, Z lines when DIP switch is set to HTL; you must add 1.5 kΩ – 2.2 kΩ resistors between each signal and VE (the encoder supply common) for PNP sourcing outputs, or between each signal and 0V for NPN sinking outputs.

Root Cause Analysis

The reported symptoms map to a small set of root causes, listed in order of probability:

  1. HTL wiring polarity inverted or unterminated. Channel A pulses while B is OFF almost always means the B-line pull-down/pull-up is missing or the cable conductor is open. The MM440 module front-panel LEDs (A, B, Z) reflect the logic state at the screw terminal, not at the encoder body.
  2. Encoder output topology mismatch. A 4-core moulded-cable encoder with one supply and one 0V (no dedicated complementary driver) is almost always an NPN open-collector type. Driving it with HTL-D (push-pull, 0V common) leaves the B output floating; the MM440 reads it as logic 0 → LED OFF.
  3. P0400 = 2 (TTL differential) selected on a single-ended HTL encoder. The differential receivers look for AN and BN complements that simply do not exist. The module still shows pulses on A because the non-inverting input is biased, but the quadrature detector never latches, so r0061 jitters at random sub-multiples of motor speed.
  4. Software version < V2.0. The encoder module is electrically present but invisible to the parameter system. r0061 is hard-wired to 0.0 and the LEDs latch at power-on (Z solid, A/B indeterminate).
  5. Shield not bonded at the drive end. Capacitively-coupled noise on a long moulded cable makes the comparator thresholds unreliable; the Z LED will glow steadily because line noise crosses the 2.5 V threshold continuously.

Parameter Reference

Three parameters cover 90 % of encoder faults on the MM440. Read them with the BOP-2 or Starter/Startdrive in monitor mode (drive must be in run ready state, motor can be stopped).

Parameter Access Function Expected value @ standstill Expected value @ 5 Hz, 64 PPR, no gearing
P0400 R/W Encoder type select: 0 = none, 1 = HTL single-ended, 2 = TTL differential, 3 = HTL differential 1 (for the RS 291-4333) 1
r0061 RO Actual speed feedback from encoder module (Hz). Sign follows channel-B phase relative to channel-A. 0.0 ± 0.05 ≈ 5.0 (matches P0700 / P1000 setpoint, drift < 0.5 Hz)
r0090 RO Actual motor speed as computed from encoder pulses per second / PPR × motor pole count. Should track r0021 within 1 %. 0.0 ≈ 150 rpm (4-pole motor at 5 Hz)
r0018 RO Firmware version of the MM440 control board ≥ 2.00 ≥ 2.00
P0408 R/W Encoder pulses per revolution (must be set even if you use P0400 = 1) 64 64
Math sanity check. For a 4-pole motor, mechanical speed (rpm) = 120 × f / p = 120 × 5 / 4 = 150 rpm. Channel-A frequency = (150 rpm × 64 PPR) / 60 = 160 Hz, not 78 Hz. If your Fluke meter reads 78 Hz on channel A at 5 Hz reference, you are either driving the motor at ≈ 2.4 Hz mechanically, the encoder is slipping on the shaft, or the drive is operating in sensorless mode and ignoring the encoder entirely.

Terminal and DIP Switch Map

The encoder module has a 10-position plug-in terminal block (A, AN, B, BN, Z, ZN, 18V, LK, 5V, VE, 0V, PE) and a 4-section DIP switch on the PCB. Settings for a 4-core single-ended HTL encoder:

Terminal Function Wire (RS 291-4333 4-core) External component
A Channel A non-inverting input Core 3 (Signal A) 2.2 kΩ pull-up to 18V (PNP) or pull-down to 0V (NPN)
AN Channel A inverting input No connection — (leave open for single-ended HTL)
B Channel B non-inverting input Core 2 (Signal B) 2.2 kΩ pull-up to 18V (PNP) or pull-down to 0V (NPN)
BN Channel B inverting input No connection
Z Index / marker No connection — (index is optional on speed feedback)
ZN Index complement No connection
18V Auxiliary 18 V supply for HTL encoders Link to LK Jumper installed 18V ↔ LK
LK Supply selector jumper Link to 18V Selects encoder supply rail
5V Auxiliary 5 V supply for TTL encoders No connection
VE Encoder supply common / return Core 1 (encoder +V supply) Resistor common point for A and B pull-ups
0V Logic 0 V Core 4 (encoder GND) Bond to cabinet ground at one point only
PE Protective earth / shield Encoder cable shield 360° clamp at drive end, isolated at motor end

DIP Switch Block (S1)

Switch OFF (default) ON Required for RS 291-4333
1 – HTL/TTL select TTL (5 V) HTL (18 V) ON (HTL, 18 V supply)
2 – Terminating resistor A Open 150 Ω + 3.3 kΩ between A and AN OFF (external 2.2 kΩ bias instead)
3 – Terminating resistor B Open 150 Ω + 3.3 kΩ between B and BN OFF
4 – Terminating resistor Z Open 150 Ω + 3.3 kΩ between Z and ZN OFF (index not used)
RS 291-4333 Encoder Core 1 (+V) Core 2 (Sig B) Core 3 (Sig A) Core 4 (GND) Shield MM440 Encoder Module Terminal Block A AN B BN 18VLK VE 0V PE 2.2 kΩ bias Sig A Sig B A → Core 3 (Sig A) B → Core 2 (Sig B) VE → Core 1 (+V) 0V → Core 4 (GND) PE → Shield (drive end only)

Step-by-Step Resolution

  1. Verify firmware. Read r0018 on the BOP-2. If < 2.00, the module will not be recognised. Flash the MM440 to the latest firmware using Starter/Startdrive or a memory card (Siemens SIMATIC Support portal, search "MM440 firmware update").
  2. Power down and remove the encoder module. Inspect the 4-section DIP switch on the PCB. Set S1-1 = ON (HTL), S1-2 = OFF, S1-3 = OFF, S1-4 = OFF. Re-seat the module firmly.
  3. Install bias resistors. Solder a 2.2 kΩ 1/4 W resistor between terminal A and VE, and another between B and VE. This is the documented MM4 Encoder Module procedure for any open-collector HTL encoder. Do not use the on-board 150 Ω terminator (DIP 2/3) – it is sized for 5 V TTL, not 18 V HTL, and will overload the encoder transistor.
  4. Rewire the 4-core moulded cable per the terminal table above. The B LED "OFF" symptom in the original report is the strongest indicator that the B-line pull-down was missing. Confirm shield is clamped 360° at the drive gland plate and isolated at the encoder body.
  5. Apply 24 V control power (not main power) and check LEDs at standstill:
    • All three LEDs (A, B, Z) should be OFF at standstill. The original report of Z "always ON" is a known failure mode when the 0V/PE bond is missing.
    • Manually rotate the encoder shaft 1 turn clockwise. A LED should flash 64 times, B LED 64 times, Z LED once.
  6. Configure parameters:
    P0400 = 1        ; HTL single-ended
    P0408 = 64       ; encoder pulses per revolution
    P1300 = 21       ; torque control with speed feedback (or leave 0/1 for V/f + sensorless trim)
    P1511 = 0.3 s    ; speed controller integration time (start point)
    
  7. Run the drive at low speed (5 Hz reference). Read r0061 – it should hold steady at 5.00 Hz. Read r0090 – it should hold at the calculated motor rpm. Any jitter > ±0.5 Hz on r0061 indicates electrical noise; tighten the shield bond.
  8. Reverse the direction test. Run at –5 Hz. r0061 should read –5.00 Hz. If it reads +5.00 Hz, swap A and B at the terminal block (do not swap at the encoder – the cable is moulded).

Verification

With the encoder correctly wired and parameters set, the following acceptance criteria should all be met before the drive is released to production:

Check Method Pass criterion
LED state at standstill Visual, BOP-2 on the encoder module A, B, Z all OFF
LED state at 1 rps manual rotation Visual, 1 rev per second clockwise A blinks 64×, B blinks 64×, Z blinks 1×
r0061 at 5 Hz setpoint BOP-2 or Starter scope 5.00 Hz ± 0.05 Hz, ripple < ±0.1 Hz
r0090 at 5 Hz setpoint BOP-2 or Starter scope 150 rpm ± 3 rpm for a 4-pole motor
Direction reversal Toggle P1000 sign r0061 changes sign, r0061 at –5 Hz = –5.00 Hz
Speed-loop stability Starter trace, P1511 / P1470 step response < 5 % overshoot on 0→50 Hz step, settles in < 1 s
Alarm / fault log Read r0947[0..7] No F0090 (encoder loss) or F0091 (encoder speed > limit)

Fault and Alarm Matrix

Fault code Name Likely cause on MM440 encoder module Corrective action
F0090 Encoder signal loss Channel A or B missing for > 100 ms; open wire, missing pull-up, broken shield Check A/B LEDs, re-terminate, set P0400 to match encoder type
F0091 Encoder overspeed Measured speed > P2162 threshold; r0061 saturated at ±650 Hz Increase P2162 or reduce mechanical speed; verify PPR is set correctly in P0408
A0090 Encoder signal warning Intermittent loss, jitter > ±5 % Check bias resistors, shorten cable, separate from VFD output cable
F0001 Overcurrent Bias resistor value too low (e.g. 150 Ω with 18 V → 120 mA per channel) Use 1.5 kΩ – 2.2 kΩ; verify encoder can sink/source 10 mA minimum
r0061 stuck at 0.0 Module not recognised Firmware < V2.0, or module not seated Read r0018, re-seat module, reflash firmware

Advanced Diagnostic: Why A and B Frequencies Differ

The original report cites 78 Hz on channel A and ≈ 4 kHz on channel B at a 5 Hz drive reference. The two frequencies cannot be correct simultaneously on a quadrature encoder – they must be equal. The 4 kHz reading is the smoking gun: a 4 kHz signal on a 64 PPR encoder corresponds to (4 000 × 60) / 64 = 3 750 rpm mechanical, which is wildly above the 5 Hz (150 rpm) reference. This is a near-certain sign of:

  1. Noise pickup on the B line from the VFD output cable (cross-coupled through a parallel cable tray). The Fluke meter is averaging noise spikes into a frequency reading.
  2. Open B conductor combined with bias resistor – the B input floats, the resistor pulls it to VE, and stray EMI from the drive's IGBT switching (2–16 kHz typical) is rectified by the input protection diodes and counted by the Fluke as a 4 kHz artefact.
  3. Fluke meter aliasing on a low-duty pulsed waveform. Counter-type meters on the 87V / 289 sometimes display the carrier frequency of the switching regulator on the encoder module, not the data frequency.

To distinguish, use an oscilloscope on terminal B with the drive running at 5 Hz. A correct quadrature waveform is a clean 50 % duty-cycle square wave at 160 Hz (for 64 PPR at 150 rpm). Anything else confirms a wiring or noise problem.

A B 90° Time → (1 / 160 Hz = 6.25 ms per cycle at 150 rpm, 64 PPR)

Alternative Encoders (RS / Industrial Suppliers)

If the existing RS 291-4333 is damaged (open transistor, fractured moulded cable), any of the following will drop in without changing P0400 or wiring topology, provided the supply voltage is 18–30 V DC and the output is HTL push-pull (not open-collector, which would still need the 2.2 kΩ bias):

Supplier / Part PPR Output Shaft Supply
RS PRO 291-4333 (existing) 64 NPN open-collector 10 mm 10–30 V
RS PRO 263-0772 100 HTL push-pull 10 mm 10–30 V
RS PRO 534-783 360 HTL push-pull 10 mm 10–30 V
Pepperl+Fuchs RV112N-10-1000 1000 HTL push-pull 10 mm 10–30 V
Sick DFS60B-S1PA10000 10000 HTL push-pull 10 mm (various) 10–30 V
Baumer IV0H 100 PPR 10 mm 100 HTL push-pull 10 mm 10–30 V
Higher PPR is not always better. The MM440 encoder module counts both edges of both channels (×4 quadrature) and has a maximum input frequency of 200 kHz. At 3000 rpm, 1000 PPR = 50 kHz, 2048 PPR = 102 kHz, 10000 PPR = 500 kHz (exceeds limit). For applications below 3000 rpm, 100 – 1024 PPR gives the best r0061 resolution without risking F0091 overspeed trips.

Safety and Grounding Checklist

  • Disconnect and lock out the 400 V supply before removing the encoder module. The 18 V auxiliary on the module is derived from the control board and is not hazardous, but the main rectifier bus can hold 540 V DC for several minutes after power-off.
  • Bond the encoder cable shield at the drive gland plate only. A second bond at the encoder body creates a ground loop and injects 50/60 Hz common-mode noise into the A/B lines, which is the most common reason for A and B frequencies "looking different" on a Fluke meter.
  • Route the encoder cable at least 200 mm away from the VFD output cable (U, V, W terminals to motor). Cross only at 90°.
  • Use twisted-pair cable if replacing the moulded 4-core. Belden 9502 or Lapp Ölflex HEAT 155 are field-proven. Keep total length < 50 m for HTL at 18 V; longer runs require line drivers or a 5 V TTL encoder.
  • After commissioning, save parameters to the BOP-2 (long-press the green OK button until "SAVE" flashes) or use Starter "Copy RAM to ROM". Otherwise a power cycle reverts the drive to P0400 = 0 (no encoder) and the B LED will appear "stuck" again.

Field-Commissioning Decision Tree

MM440 + Encoder Module installed? r0018 ≥ 2.0? A & B LEDsblink on rotation? r0061 trackssetpoint ±0.5 Hz? Flash firmware Install 2.2 kΩ bias,DIP1=ON, P0400=1 Adjust P1511,check shield Replace encoder /use push-pull type . Save to ROM, log r0061 / r0090 at 10 %, 50 %, 100 % speed, release to production

What firmware version is required for the MM440 encoder module to work?

The encoder module requires MM440 firmware version 2.0 or above. Read the version via parameter r0018 on the BOP-2, or check the nameplate label on the side of the drive. Below V2.0 the module is electrically present but invisible to the parameter system, and r0061 will be stuck at 0.0 with the Z LED glowing solid. Reflash via the Siemens support portal using Starter, Startdrive, or a memory card.

Why is channel B LED OFF while channel A pulses on my MM440 encoder module?

The B-line LED staying OFF at standstill is normal, but staying OFF during rotation indicates a missing pull-up/pull-down resistor on terminal B, an open B conductor in the cable, or the encoder being set to TTL mode (DIP switch 1 OFF) while the encoder is an 18 V HTL type. Install a 2.2 kΩ bias resistor between terminal B and VE, set DIP switch 1 to ON, and confirm the encoder supply rail is 18 V not 5 V.

What should r0061 read on a working MM440 encoder feedback loop?

At standstill, r0061 should read 0.0 ± 0.05 Hz. When the drive is commanded to 5 Hz with a 4-pole motor and 64 PPR encoder, r0061 should hold steady at 5.00 Hz with ripple below ±0.1 Hz, and r0090 should read 150 rpm. Any jitter, sign errors, or wildly changing values indicate wiring, noise, or P0400 mismatches.

How do I set P0400 for an HTL single-ended encoder on the MM440?

Set P0400 = 1 for HTL single-ended. Use P0400 = 2 only for true TTL differential encoders with AN and BN complements. Using P0400 = 2 on a single-ended HTL encoder causes the differential receivers to look for non-existent complements, producing flickering r0061 and unreliable A/B LED behaviour. Also confirm P0408 matches the encoder's printed PPR.

Can I use a 64 PPR encoder with the MM440 encoder module?

Yes. The MM440 encoder module accepts 50 to 2048 pulses per revolution in HTL mode and 100 to 2048 in TTL mode, with a maximum input frequency of 200 kHz on each channel. A 64 PPR encoder gives lower speed resolution than 1024 or 2048 PPR, but it is fully supported and ideal for low-speed conveyor or wire-draw applications where electrical noise immunity matters more than resolution.

What resistor value should I use to bias an open-collector HTL encoder on the MM440?

Use 1.5 kΩ to 2.2 kΩ, 1/4 W, between each signal line (A, B, Z) and the encoder supply common (VE for PNP sourcing, 0V for NPN sinking). Lower values such as 150 Ω overload most encoder output transistors at 18 V (≈ 120 mA per channel). Higher values above 4.7 kΩ become susceptible to noise pickup. The 2.2 kΩ value is the value documented in the MM4 Encoder Module Operating Instructions for open-collector HTL encoders.

Back to blog