Specifications
2
  Several different configurations of the system can be utilized in experiments. Either sensor, the motor or load 
encoder, can be used for the feedback of the control loop. The selection is made in the software interface. The 
motor encoder is known as a “collocated” sensor since it is co-located with the input to the mechanical system, the 
motor torque. The load sensor is separated from the input to the system by a spring and is therefore known as a 
“non-collocated” sensor. In addition to varying which sensor is used, the mechanical system can be changed with 
the lock down screw and the spring coupling. Also, a choice can be made between velocity control or position 
control by selecting the appropriate control program. Any of the following mechanical models may be realized 
using the motorlab hardware and software. 
1
ω
2
ω
T
2
b
1
θ
s
k
1
b
2
θ
1
J
2
J
Fourth order system
with a free integrator
T
2
b
s
k
1
b
1
J
2
J
Third order system
1
ω
T
1
θ
s
k
1
b
1
J
Second order system
T
s
k
1
b
1
J
Second order system
with a free differentiator
1
ω
T
1
θ
1
b
1
J
Second order system
with a free integrator
T
1
b
1
J
First order system
Software 
  The software can be found in the “c:\motorlab” directory on the laboratory machines. All the needed functions 
and shortcuts to the executables can be found here. The “c:\motorlab\student data” directory can be used to store 
data files and gain files temporarily. It should be cleaned out at the end of the lab session. Students have 
read/write/delete access to this directory. 
Control Software 
  There are three different programs used to control the motorlab hardware. Each program consists of a GUI 
interface that runs on the host PC and a low-level control program that runs on the DSP microprocessor on the 
MC4000 motion control card. The PC’s processor and the DSP communicate over the PCI bus in the host computer. 
For the two programs that implement closed loop control, a PID controller is used. In addition the user has the 
option of including feedforward velocity and acceleration gains.  Each of the three programs may be run by 
executing the host program, which loads the appropriate DSP program onto the motion control card and begins its 
execution. WARNING: The software will not function properly if more than one host program is running. The 
three programs are described below. 
This is the open loop program. The feedback sensors (encoders) are not actually used for 
closed loop control. The DAC output from the motion control card to the motor amplifier is 
determined directly by the wave command buttons and the jog buttons. 
This is the position control program. The feedback sensors (encoders) are used to close 
the position control loop. The DAC output from the motion control card to the motor 
amplifier is determined by the controller algorithm, while the position command is 
determined by the wave command buttons and the jog buttons. 
Motor LabOL.exe
MotorLabPosition.exe










