Printer Casus Ebox/Experiments manual

From Control Systems Technology Group

Jump to: navigation, search

Instructions for measuring and controlling the experimental HP printer setup, corresponding to the case of "The Print Head" (4G031)

This manual describes the necessary hardware #Hardware and Software for measuring and controlling the experimental HP printer setup used in the case the Printhead (4G031) is used, are discussed. The section #Performing Real-Time experiments includes an introduction to the use of the preparation and the actual execution of experiments. To use a setup, you can subscribe at the appropriate registration lists in SEL3 (1 setup per day per group).

Almost every day, for several hours assistance available in SEL3, where you can ask your questions. For questions during the experiments, please contact Bas van Schepop of your group tutor. The project coordinator is Rene van de Molengraft (File:Mail_Rene.png , tel 2998, GEM-Z -1.141).



The case is a stripped A3 HP printer, see Figure 1. The required hardware for the experimental set-up is included in Table 1. You have to take your own notebook to do experiments.

Figure 1

Required hardware

  1. Notebook with E/box image installed
  2. Experimental HP printer setup (see Figure 1) including cables
  3. Amplifier including BNC cable
  4. E/box including ethernet cable

Table 1

The print head is driven by a DC motor using a belt transmission. The position of the print head is measured by means of a linear encoder. The optical encoder sensor is mounted in the printhead. On the left side an end-switch is mounted that is used to position the printhead initialization. Using the E/box it is possible to perform real-time experiments on the printer, i.e. measuring and sending signals in real-time. The amplifier provides the necessary current gain of the control signal transmitted from the E/box to the motor is controlled.

The cables of the hardware should be mounted as shown in Table 2 below. Furthermore, the amplifier and E/boxof supply cables must be provided. CAUTION: NEVER turn the amplifier on (ON) before a control signal is defined by the ectarget software (see #Performing Real-Time experiments). A crash of the printer may result. On some older amps is still 0 to 2.5 V instead of + / - 2.5 V. This is incorrect, all amplifiers have a range of + / - 2.5 V.

I/O Printer I/O Amplifier I/O E/box I/O Notebook
Motor input LOAD
Encoder output Encoder 1
End-switch I/O DIGITAL I/O
+/ − 2, 5 V in Analog out 1
Ethernet port Ethernet port

Table 2

Installation of Ubuntu with Wubi

WARNING: This installation will only work on a normal installation of the Windows Operating System as it depends on the Windows Boot loader. If you use another operating system or if you are unsure please contact one of the course supervisors.

Wubi is a linux installer for Windows which can install and uninstall Ubuntu in the same way as any other Windows application in a simple and safe way. Ubuntu will be installed within a file in the Windows system ebox_root.disk. This file is seen by Ubuntu as a real hard disk.

The installation of Ubuntu used for this course takes up 30 GB of free-space. Therefore, it is recommended to install Ubuntu by connecting to TU/e network via an ethernet cable. Using VPN or wireless is strongly discouraged!

The wubi-installer can be obtained from the TU/e network share: \\ai-stosrv02\EBox. Install by opening the executable "wubi_dd-mm-yy-time". Because the installation is quite large this will take some time, especially creating the virtual disk, so please be patient. Connected to gigabit network the installation will take approximately 15 minutes, on a 100 mbits network connection it will take about an hour.

When you have installed Ubuntu with Wubi, you can start ubuntu by rebooting your computer. A menu will appear during startup which allows you to choose whether to run Windows and Ubuntu. When you choose Ubuntu in this menu, you will go to a new bootloader called GRUB. Here you can choose which version of Ubuntu to run as well as alter the start-up commands for running Ubuntu. Unless you are having problems starting up, you should just select the default version by pressing enter. When prompted for account information use the following:

  1. Username: ebox
  2. Password: ebox123

You can change the password if desired.

Installing software for experiments

Activating Matlab

The version of Matlab installed on Ubuntu needs to be activated. To do so, start matlab from a terminal window with

  1. sudo su
  2. matlab

and follow the instructions and use the activation key linked on the campus software site. Matlab activatie

If the student activation key doesn't work, take the employee activation key

Update to the latest experiment software

The software to perform experiments is already present, but possibly outdated. To update the software and simulink models used, you have to checkout the latest stable revision from the SVN (subversion) server. This can easily be done using the svn_update script:

  1. Open a terminal (via the icon on the desktop)
  2. Type svn_update

If you are experiencing any problems (bugs/errors) with the experiment software, then first make sure you have checked out and installed the latest software revision from the SVN by repeating steps 3.2 and 3.3. Since this update will also update the simulink templates used in the experiments, it is recommended to save any changes made to these files with a different filename and/or in a different location, preferably on your harddisk.

Compiling and installation the software

First start matlab from a terminal (if not done already):

  1. Open a terminal
  2. Type sudo matlab

To obtain a fresh copy of the latest version:

  1. Run svn_update according to subsection #Update to the latest experiment software in a terminal window.
  2. Change the Matlab current directory to /home/ebox/svn/trunk/src/E-box
  3. Run make_all_clean in matlab
  4. Run make_all_install in matlab, answer yes to TU/e toolboxes installation question

Preparation prior to performing experiments

Connecting the E/BOX, changing ethernet index number

Connect the power supply to the E/BOX. Use a network cable to connect your laptop to the In-port of the E/BOX. Since the index number of the Ethernet port you are using can vary for different pc's, the right number has to be set:

  1. Open a terminal
  2. Type sudo geteth (returns the right port number, only when the E/box is connected)
  3. Start matlab (type sudo matlab)
  4. Type changeeth(x) in the matlab command window where x is the port number found with geteth.

These commands set the right ethernet index number, this needs to be done each time a new software revision is checked out.

Save data

To be safe, you should save the data you obtain via experiments outside of Ubuntu. This means that it will not be deleted if Ubuntu is uninstalled. You can save it to your Windows hard disk or use a web service such as Dropbox or Box. The partition of your hard disk on which you have installed Ubuntu can be found under \host, any other partitions can be found in \media or in the places menu from the taskbar.

Performing Real-Time experiments

The simulink template for the experiments can by typing printer01 in the matlab consolue. Make sure you save any changes to the model with another file name and/or in another location or you might lose your work when updating the svn or reinstalling Ubuntu.

External mode

The following steps are have to be followed to execute the experiment:

  1. Open the simulink file and press "Ctrl-B" to start building the real-time code
  2. Switch on the printer setup
  3. Open a terminal
  4. type sudo su
  5. Go to the folder where you just built the file (the file is built to the current directory of Matlab). Use cd to specify the path.
  6. Note: If there is a ref3 block present (yellow), you must first give it a path to follow and accept , otherwise it will throw an error.
  7. Type ./printer01 -w in the terminal to execute your experiment. The -w part means the realtime application will be run in external mode. If you have renamed the model, printer01 in the previous commands has to be replaced by the name of your Simulink model.
  8. The external mode requires you to connect the Simulink model to the real-time application and start it manually from the Simulink. This has to be done by choosing "Connect to Target" and "Start Real-time Code" from the Simulation menu respectively.
  9. The standard simulation time is 30 seconds, to change this, in Simulink go to "Simulations", "Configuration Parameters" and change the "Stop time".
  10. After the experiment has finished you can return to Matlab, load your data ("load printer01.mat") and perform the required actions to post-process the measurement data. Save all your commands in a Matlab m-file. Created variables have the prefix rt_
  11. The -w option can be omitted to let the real-time application run in stand alone mode.

Usefull tips

To get an idea of the system behavior of the open-loop system. One of more suitable input signal for the motor can be chosen, while recording the resulting output of the system.

  • By applying a sinusiodal input signal (and linear system behavior) it is possible to determine a point of the Bodediagram. With several of these experimenten, a complete Bodediagram can be constructed.
  • With simple input signal, e.g. constant for a short period, then zero, gives relevant information about direction of motion, amount of friction, etc.

For more information regarding system identification, the following book can be read: Feedback Control of Dynamic Systems, Franklin, Powell.

Take an extra phaselag in the open-loop into account, which has the order of magnitude of ωT, where T is the sample time in [s], equal to the Fixed step size from the simulation parameters. Futhermore, ω is the frequency in [rad/s]. Increasing the open-loop gain will eventually always result in instable behevior.

Look at Frequently Asked Questions if there are any questions. This wiki will be updated during the casus on a regular basis.



 Invalid setting for fixed-step size (0.001) in model 'printer01'. All sample times in your model must be an integer multiple of the fixed-step size.
 The sample time period (0.00048828125) of 'printer01/Generated S-Function' is not an integer multiple of the fixed step size (0.001) specified for model.


  • press Ctrl+e
  • select: 'solver'
  • change 'Fixed-step size (fundamental sample time):' under 'Solve options' to value "1/2048"


 Error(s) encountered while building model "printer01"

solution: choose a different name for the model. Using "printer01.mdl" can cause problems because the file can be shadowed by the original "printer01.mdl" in a folder higher on the Matlab path.

Personal tools