Motor controller: does not switch on, is not found, or reports undervoltage
Applies to
Every siliXcon motor controller, whatever application it runs: emGUI does not find it, it does not switch on, or right after power-up it reports undervoltage, driver error -12 or 65535. Most such controllers are not broken: they are powered in the wrong order, only from USB, or their wiring has blown a fuse that can be bypassed. The read-only rules of the general method apply.
Steps
1. Interface and address
emgui_status: the interface must be loaded and connected (otherwise the user fixes it in emGUI or Launchpad, general method step 2). The usual connection is USB with the address -1 in Launchpad's options, which any device answers (addressing, improper address). emGUI saying it cannot find the USB driver usually means no device answered, not a broken installation. Avoid USB hubs and docks.
The address was changed and the controller is lost: the address -1 finds it again (change the address). Addresses 0 to 6 are for devices; 7 belongs to the PC.
2. How it is powered
Ask how the controller is powered and in which order the user switches things on. The order that works: battery first, then the controller switched on (its activation input or switch), USB last (controller powering).
- Only USB, or USB plugged in first: USB runs the controller's logic but not the power stage. It answers, but reports undervoltage, driver error -12 or 65535 and a supply voltage near 0 - normal for this state (trivial values). Unplug USB, switch the battery and the controller on, then plug USB in.
- The powering variant decides how it switches on (
decode_hwid, controller powering). An activation-input variant is on while POWER is above about 10 V and off below about 1 V; anything between is not allowed (activation input). A flip-flop variant switches on with a pulse on POWER and off with a pulse to ground, and stays as it is with POWER floating: tying KEY and POWER together does not keep it on (flip-flop). - The supply: a battery or a 2- or 4-quadrant power supply, within the working voltage range of its specification page (the general method's battery-voltage rule). A supply below the minimum working voltage leaves the controller uninitialised (65535).
3. Nothing answers, not even over USB
The controller does not switch on at all: no LED, no answer over USB with the battery on.
- Ask the user to measure the voltage on KEY against GND with the battery connected and the controller switched on. KEY at battery voltage and still no answer: the controller is faulty - the checks before returning a device.
- No voltage on KEY on a variant with an internal KEY fuse: with the battery disconnected, the user checks continuity between BAT+ and KEY. Open means the internal fuse has blown, usually from a short in the KEY, switch, contactor or output wiring. The standard fix is an external fuse from BAT+ to KEY (external fuse); otherwise a repair.
- Before powering again (or fitting a replacement), find the short: KEY, the switch wiring, contactor coils and digital outputs measured against GND. Otherwise the new fuse blows too.
A variant without the internal KEY-to-BAT+ link needs KEY fed from outside, as its wiring page shows.
4. Over CAN
CAN works only when the controller is powered from the battery and switched on: USB does not power its CAN side. Check with the user (could not discover any nodes):
- CAN GND connected between the adapter and the controller, the cable twisted;
- one 120 Ω terminator at each end of the bus (about 60 Ω between CANH and CANL with everything off);
- the same bitrate on every node, the controller's shown by
msgconf(speed mismatch); - each device on its own address, 0 to 6;
- a supported adapter: Kvaser or PEAK (Kvaser, PEAK).
CAN errors that disappear once the main power is on point to a ground loop: CAN GND joined to power ground in more than one place. Also check that no other device uses the controller's CAN identifiers (CAN IDs).
5. It answers, but the application does not start
/common/appsel: 0 or 1 runs the application; 10 switches it off (appsel). A display then shows "no connection" although the controller answers.- Driver error 65535 with the battery on: the motor driver playbook step 2.
6. Contactor and precharge
The contactor does not close, or the controller resets when it does:
- The controller closes the contactor only after precharge and its start-up self-test have passed: read
/driver/error(motor driver playbook step 8). The precharge must be able to reach its threshold: nothing else may load the DC bus while it charges, and the threshold must not be above the battery voltage (precharge settings). - The contactor outputs drive coils with a limited current (500 mA on the SL, see its I/O page).
attackandholdare a percentage of the battery voltage when positive and volts when negative (contactor). A coil with a built-in economizer or a high inrush current trips the output's protection:/common/statshows it (state).
Report
- Device (if found): name, serial number,
hwid,swid; otherwise what the user sees. - How it is powered, in which order; KEY voltage and continuity results.
- Cause, with the measurements or values that show it.
- Fix: what the user changes in the wiring or the order; which part needs a repair.
Escalate
KEY at battery voltage and the controller still silent, or the fuse blows again with the short found and removed: the checks before returning a device, then a diagnostic report to siliXcon.