Controls/Lab/Instrumentation
This page contains information related to the Instrumentation Basics and Simulink Lab for Controls. It has been updated for Spring of 2016.
Contents
Typographical Errors / Clarifications
- No typos yet.
- For the initialization of MATLAB, when the first window comes up about platforms, click the "Do Not Ask Again" option and then click the RTI1104 button. If a window comes up about incompatible settings, select the do not ask again option, then Set Automatically. This should take care of the settings in the Simulink configuration for working with the dSPACE cards -- but you should still check the configuration as given on page Lab 4-11.
- In ControlDesk, the assumption is that the icon bars look similar to the one here:
If not, you likely have several tools open that do not need to be. In the ControlDesk View menu, select Toolbars - the image above was obtained with the following toolbars on:
- Controldesk
- Interpreter
- Experiment Manager
- Instrumentation
- Platform Manager
- Bus Manager
- and all the other toolbars off. The toolbar with the edit/test/animation buttons is the Instrumentation toolbar.
Resources
- Relevant Pundit pages
- dSPACE - which includes link to templates for DAC and ADC
- Files for the lab:
Codes, Models, and Layout Images
Since you should never copy and paste text from a PDF (the quotes change and extra spaces are added), some of the code for the assignment parts will be included below. Also, there are pictures of the models and layouts that you will be building.
Assignment 1: RC Circuit Analysis
InitInstruments1.m
%% Initialize workspace
clear; format short e;
%% Sets global parameters
global Ts SR
% Defines sampling rate and - more importantly - sample time
SR = 1000;
Ts = 1/SR;
%% Opens and builds Simulink Model on dSPACE
ModelName = 'Instruments1'
open_system(ModelName)
rtwbuild(ModelName)
MakeInstrument1Handles.m
%% Select the board
mlib('SelectBoard', 'ds1104');
%% Define global variables for measurement and output channels
global ADC1 ADC5 DAC5 CONST
global Ts SR
%% Create handles to relevant blocks
ADC1 = mlib('GetTrcVar', 'Model Root/ADC1/In1');
ADC5 = mlib('GetTrcVar', 'Model Root/ADC5/In1');
DAC5 = mlib('GetTrcVar', 'Model Root/DAC5/In1');
CONST = mlib('GetTrcVar', 'Model Root/C5/Value');
Assignment 2: Angular Measurements
InitAngMeasurement.m
%% Initialize workspace
clear; format short e;
%% Sets global parameters
global Ts SR
% Defines sampling rate and - more importantly - sample time
SR = 10;
Ts = 1/SR;
%% Opens and builds Simulink Model on dSPACE
ModelName = 'AngMeasurement'
open_system(ModelName)
rtwbuild(ModelName)
The following are links to larger images of the Simulink model and ControlDesk layout for Assignment 2 of this lab:
Assignment 3: Voltage Control
NOTE For Spring 2016, we are using DACH5 instead of DACH1, so anything attached to the DAC channel that has a C1 should be C5. New picture when I get a chance!
Questions
Post your questions by editing the discussion page of this article. Edit the page, then scroll to the bottom and add a question by putting in the characters *{{Q}}, followed by your question and finally your signature (with four tildes, i.e. ~~~~). Using the {{Q}} will automatically put the page in the category of pages with questions - other editors hoping to help out can then go to that category page to see where the questions are. See the page for Template:Q for details and examples.
External Links
- AMT Information from CUI.com via amtencoder.com; the dip-switch settings are on Page 4.