Motor and VFD¶
Motor¶
The fan is driven by a three-phase induction motor. The nameplate parameters that matter for control are stored in drive parameter group 99:
| Parameter | Value | Meaning |
|---|---|---|
99.07 MOTOR NOM FREQ |
60 Hz | Nameplate frequency (read at the drive). |
99.08 MOTOR NOM SPEED |
880 RPM (approx.) | Nameplate synchronous speed used as the 100 % reference in fieldbus scaling. The WindTunnelControl.ps1 startup probe reads this at launch; if the probe fails, the PowerShell tool falls back to a hardcoded 1800 RPM. |
The 880 RPM nameplate is consistent with a 4-pole motor at 60 Hz with slip. The operating range used in software is 0–880 RPM with a hard clamp.
The motor itself is a sealed industrial unit; there are no user-serviceable parts. The only routine task is checking the belt / coupling alignment as part of the maintenance schedule — see Maintenance → Schedule.
VFD: ABB ACH550¶

The drive runs the motor from the building's three-phase mains and accepts speed commands from the lab PC over Modbus/TCP via the RETA-01 fieldbus adapter in option slot 1.
Control profile¶
The drive is configured for the ABB Drives profile. This profile uses fixed quick-access registers for the control word, the reference, the status word, and the actual values; parameter reads/writes use a different mapping (see Reference → Register map).
Quick-access registers:
| Modbus address | Name | R/W | Use |
|---|---|---|---|
| 0 | Control Word (CW) | R/W | Start / stop / emergency-stop bit pattern. |
| 1 | Reference 1 (REF1) | R/W | Speed reference, 0–20000 scaled. |
| 2 | Reference 2 (REF2) | R/W | Unused. |
| 3 | Status Word (SW) | R | Drive state bits (READY, RUN, FAULT, REMOTE, etc.). |
| 4 | Actual 1 (ACT1) | R | Speed feedback. |
| 5 | Actual 2 (ACT2) | R | Current feedback. |
Control word patterns¶
| Pattern | Meaning | When written |
|---|---|---|
0x0476 |
Prepare to run / ramp stop | Before transitioning to run; also used to ramp down for normal stop. |
0x047F |
Run | After REF1 and the prepare-word are both set. |
0x0000 |
Off (coast / E-Stop) | Emergency stop; drive coasts to zero, no ramp. |
Start sequence¶
The drive requires the following sequence to spin the motor from idle:
- Write REF1 to the desired scaled reference.
- Wait at least 200 ms.
- Write CW = 0x0476.
- Wait at least 500 ms (allows the drive to internally clear OFF2/OFF3).
- Write CW = 0x047F.
For mid-run setpoint changes, write REF1 only. Writing 0x0476 again resets the run state and the drive will stop until 0x047F is reissued. This footgun is the source of the original "set RPM live" bug in the early ADCL WinSoft prototype and is documented in code/adcl_winsoft/vfd/controller.py.
Critical drive parameters¶
These must be set for fieldbus control to work. If any drift, see Maintenance → Parameter recovery. The full list is in Reference → Parameter index.
| Parameter | Value | Meaning |
|---|---|---|
99.02 APPLIC MACRO |
1 | ABB Standard macro. |
98.02 COMM PROT SEL |
4 | External fieldbus (RETA-01) is active. |
10.01 EXT1 COMMANDS |
10 | Start/stop commands come from the fieldbus. If this drifts, the motor cannot be started from software. |
11.02 EXT1/EXT2 SEL |
0 | EXT1 is the active command source. |
11.03 REF1 SELECT |
8 | REF1 (speed setpoint) comes from the fieldbus. If this drifts, software writes to REF1 are ignored. |
22.02 DECEL TIME |
site-specific | Controls the ramp-stop time. Confirm before changing — too short causes overvoltage faults at high RPM. |
Mode indicator on the drive keypad¶
The drive's keypad shows REM in the upper-left corner when control is delegated to the fieldbus. The motor cannot be started from software unless the keypad shows REM. If it shows LOC, press the LOC/REM button on the keypad to switch to remote mode.
Calibration¶
The mapping from drive_RPM to the REF1 register value was measured empirically in WT_MS_2:
$$ \mathrm{REF1} = \mathrm{drive_RPM} \times 22.42 $$
with a residual error of about ±1 %. This is consistent with ABB's nominal scaling (20000 = 100 % = motor nameplate RPM ≈ 880 → 20000/880 ≈ 22.7) to within 1.4 %. The exact constant 22.42 is used in both control codebases (code/adcl_winsoft/vfd/controller.py, code/wind_tunnel_control/WindTunnelControl.ps1).
A second mapping, from drive_RPM to wind speed, is documented separately at Reference → Calibration constants.