ICT Short Term Course on "MATLAB AND ITS HARDWARE INTERFACE",
NITTTR, Chandigarh
11 - 15 January, 2016
Dr. Deepika Yadav (Associate Professor, Electrical & Electronics Engineering Department) representedDronacharya College of Engineering, Gurgaon in the 5 - day workshop on “MATLAB AND ITS HARDWARE INTERFACE” organized at NITTTR, Chandigarh from 11 - 15 January, 2016.
Objectives of the course
This training programme is specially designed for Engineering applications that mainly deal with Programming usingMATLAB and its various toolboxes. The course aims to:
1. Update the knowledge in the emerging and upcoming topics in the subject area.
2. Make the teachers conversant with the MATLAB software, its toolboxes and its interface with hardware. The programme will be designed around the following major topics.
a. MATLAB Programming
b. Fuzzy Logic Toolbox
c. Neural Network Toolbox
d. ANFIS Toolbox
e. SIMULINK
f. Optimization
g. MATLAB / SIMULINK with Dspace Interface
h. MATLAB with Arduino Interface
i. MATLAB interface with LABVIEW / Compact DAQ.
The session was primarily taken by Mrs. Shimi.S.L, Assistant Professor, Electrical Engineering Department, NITTTR, Chandigarh. The detail of sessions organized over the course of 5 days is given below:
1. Dr. Lini Mathew, Associate Professor, Electrical Engineering Department, NITTTR
2. Mrs. Shimi. S.L, Assistant Professor, Electrical Engineering Department, NITTTR
3. Dr Vijay Nehra, B.P.S. Mahila Vishwavidyalaya, Khanpur Kalan, Sonipat, Haryana
4. Dr Satvir Singh Sidhu, Associate Professor & Head, Department of ECE, SBS State Technical Campus, Ferozepur
5. Mr. Tejinder Kumar Devgon, Physical Sciences Department, IISER Mohali
6. Dr Jagdish Kumar, Associate Professor, PEC University of Technology, Chandigarh
Day 1 : 11 January
The session began with a welcome address by Mrs Shimi.S.L, (Assistant Professor, Electrical Engineering Department, NITTTR, Chandigarh). Further, Inaugural session was continued by other 14 nodal centers connected to this course.
At first, Dr Lini Mathew (Associate Professor, Electrical Engineering Department, NITTTR, Chandigarh) introducesMATLAB programming in detail with basic concepts.
MATLAB (matrix laboratory) is a multi - paradigm numerical computing environment and fourth-generation programming language. A proprietary programming language developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages, including C, C++, Java, Fortran and Python.
Although MATLAB is intended primarily for numerical computing. An additional package, Simulink, adds graphical multi - domain simulation and model-based design for dynamic and embedded systems. In 2004, MATLAB had around one million users across industry and academia. MATLAB users come from various backgrounds of engineering, science, and economics.
The next detailed session was conducted by Mrs Shimi.S.L, (Assistant Professor, Electrical Engineering Department, NITTTR, Chandigarh) which was based on “MATLAB / SIMULINK and SIMULATION”. This was followed by Lab Practice session on MATLAB 2015.
Day 2 : 12 January
The first session on Day 2 was on “Neural Network Toolbox” taken by Dr Lini Mathew (HOD and Associate Professor, Electrical Engineering Department, NITTTR, Chandigarh). She explained all the fundamentals related to NNToolbox.Basically a toolbox which emulates brain which comprises of testing, training and validation methods to get the desired results. So our aim will be to train this Multi Input Single Output (MISO) based on our problem area. And then through validation technique output and input are matched.
This was followed by session on “MATLAB S Function and Embedded Block” by Dr Vijay Nehra (B.P.S. Mahila Vishwavidyalaya, Khanpur Kalan, Sonipat, Haryana). He explained the various concept related to S - Function. S - functions (system - functions) provide a powerful mechanism for extending the capabilities of Simulink. S-Functions are Simulink block that can be programmed by user as either an M - file or MEX file. It is acomputer language description of a Simulink block written in MATLAB, C, C++, Fortran. It can accomadate continuous, discrete and hybrid system. Infact, nearly all Simulink model can be described as S - functions. It enable user to add own blocks in Simulink models. S - function are compiled as MEX - files using the mex utility as with other MEX - files, they are dynamically linked intoMATLAB when needed. In general, there are two types of S - Functions. It can be implemented using MATLAB scripting language, C / C++ and Fortran. If S - Functions is written in MATLAB programming environment using MATLABFunction it is called M - file S - function. If S - Function is written in ‘C/C++’ programming environment it is called CMEX S-Function. S - Functions written with the later two needs to be complied first in order to produce a shared library loaded by the simulink engine, while a matab S function will be interpreted and excused during Simulation. Next session was followed by Lab Practice session on MATLAB 2015.
Day 3 : 13 January
The first session on Day 3 was on “Optimization” taken by Dr. Satvir Singh Sidhu (Associate Professor & Head, Department of ECE, SBS State Technical Campus, Ferozepur). He explained Optimization Toolbox software which extends the capability of the MATLAB numeric computing environment. The software includes functions for many types of optimization problems such as:-
1. Unconstrained nonlinear minimization
2. Constrained nonlinear minimization, including semi - infinite minimization problems
3. Quadratic and linear programming
4. Nonlinear least - squares and curve fitting
5. Constrained linear least squares
6. Sparse and structured large - scale problems, including linear programming and constrained nonlinear minimization
7. Multi objective optimization, including goal attainment problems and min-max problems
The toolbox also includes functions for solving nonlinear systems of equations which includes problem complexity of Actual real world problems:
1. Highly Complex
2. Highly non-linear
3. Large number of inputs
4. Large number of outputs
5. Can’t be expressed, mathematically
Computers should have
1. A large Knowledge base about
2. How things happen in the world
3. Way people think and communicate
4. Ability to perceive contexts of things
5. Ability to learn efficiently like people do.
Then he explained various benchmark functions which need to be satisfied by various heuristic based optimization as per the problem area.
Heuristic based optimizations
1. Genetic Algorithm
2. Biogeography Based Optimization
3. Particle Swarm Optimization
4. Bacterial Foraging Algorithms
5. Memetic Algorithms
6. Artificial Bee Colony
7. Cuckoo Search
8. Artificial Immune System
9. Fire - Fly / Glow worm Swarm Optimization
10. Butterfly Algorithm
This was followed by session on “Fuzzy Tool Box” by Dr Lini Mathew (Associate Professor, Electrical Engineering Department, NITTTR). She gave emphasis on Fuzzy Logic Toolbox software with MATLAB technical computing software as a tool for solving problems with fuzzy logic. Fuzzy logic is a fascinating area of research because it does a good job of trading off between significance and precision something that humans have been managing for a very long time.
In this sense, fuzzy logic is both old and new because, although the modern and methodical science of fuzzy logic is still young, the concept of fuzzy logic relies on age - old skills of human reasoning. Fuzzy Logic Toolbox Software help us to create and edit fuzzy inference systems with Fuzzy Logic Toolbox software. You can create these systems using graphical tools or command-line functions, or you can generate them automatically using either clustering or adaptive neuro - fuzzy techniques. If you have access to Simulink software, you can easily test your fuzzy system in a block diagram simulation environment. The toolbox also lets you run your own stand-alone C programs directly. This is made possible by a stand - alone Fuzzy Inference Engine that reads the fuzzy systems saved from a MATLAB session. You can customize the stand-alone engine to build fuzzy inference into your own code. Subsequently, followed by Lab practice session on MATLAB 2015
Day 4 : 14 January
Both first and Second session on day 4 was taken by Mrs Shimi S.L (Assistant Professor, Electrical Engineering Department, NITTTR). During first session Mrs Shimi S.L showed demo and concept of “ANFIS Toolbox”. ANFIS stands for Adaptive Neuro - Fuzzy Inference System. It is a hybrid neuro-fuzzy technique that brings learning capabilities of neural networks to fuzzy inference systems. The learning algorithm tunes the membership functions of a Sugeno - type Fuzzy Inference System using the training input-output data. In this case, the input-output data refers to the "coordinates - angles" dataset. The coordinates act as input to the ANFIS and the angles act as the output. The learning algorithm"teaches" the ANFIS to map the co - ordinates to the angles through a process called training. At the end of training, the trained ANFIS network would have learned the input-output map and be ready to be deployed into the larger control system solution. During Second Session she presented presentation on MATLAB with Arduino Interface. She explained interfacing of Arduino with matlab through serial communication. In this arduino is burned with an ARDUINO IO (Also Known As:“TETHERED” MATLAB SUPPORT PACKAGE FOR ARDUINO). This package allows using an Arduino connected to the computer to perform Analog and Digital Input and Output from MATLAB. Programming part of this system is also very easy. Arduino MATLAB program file is easily available on internet. And MATLAB program you can build. Before programing you have to make a user graphic interface (GUI) window in MATLAB. This GUI automatically creates a program file. The adioe.pde sketch is the server program that will continuously run on the microcontroller (Arduino) board. It supports for MATLAB commands arriving from the serial port, executes the commands, and, if needed, returns a result. Like a Digital Output and an Analog Input for MATLAB. MATLAB and Simulink support two Arduino boards:
1. Arduino Mega 2560 board (recommended), which features:
a. ATmega2560 processor running at 16 MHz
b. 128 KB of flash memory
c. 16 analog and 54 digital I / O channels with 14 PWM outputs
d. Built - in USB, SPI, and I2C / TWI connectivity
2. Arduino Uno board, which features:
a. ATmega328 processor running at 16 MHz
b. 32 KB of flash memory
c. 6 analog and 14 digital I/O channels with 6 PWM outputs
d. Built - in USB, SPI, and I2C / TWI connectivity
MATLAB Support Package for Arduino enables you to use MATLAB or Simulink to communicate with the Arduino board over a USB cable. This package is based on a server program running on the board, which listens to commands arriving via serial port, executes the commands, and, if needed, returns a result. It was followed by a session on “MATLAB with Arduino Interface” by the PG students of NITTTR, Chandigarh who presented practical on MATLAB with Arduino Interface with various hardware interfaces such as:-
1. DC motor control using Arduino
2. Interfacing optocoupler and relay with Arduino
3. Interfacing Servomotor with Arduino
4. Interfacing Robotic Arm with Arduino
Consequently, followed by Lab practice session on MATLAB 2015
Day 5 : 15 January
The first session was by Mrs Shimi S.L (Assistant Professor, Electrical Engineering Department, NITTTR, Chandigarh) on “MATLAB/SIMULINK with Dspace Interface”dSPACE Simulator enables you to test new electronic control units (ECUs) and software largely in a virtual environment, without real vehicles or prototypes. Such tests are very systematic and completely safe, even when critical thresholds are exceeded, while reproducing ECU errors whenever and however required. The tight integration of dSPACE software and MATLAB and Simulink provides a powerful development environment. After developing a simulation model in Simulink, you can test it with ControlDesk's Simulink Interface and then in real time on dSPACE Simulator - with the same layouts, test scripts, and parameter sets. You can seamlessly transition your Simulink block diagram to dSPACE Simulator hardware via code generated from Simulink Coder anddSPACE Real - Time Interface. The next session was on “MATLAB Interface with LABVIEW/COMPACT DAQ” conducted by Mr. Tejinder Kumar Devgon, Physical Sciences Department, IISER Mohali. Data Acquisition Toolbox provides functions for connecting MATLAB to data acquisition hardware. The toolbox supports a variety of DAQ hardware, including USB, PCI, PCI-Express®, PXI, and PXI-Express devices, from National Instruments, Measurement Computing, Advantech, Data Translation, and other vendors. With the toolbox you can configure data acquisition hardware and read data into MATLAB and Simulink for immediate analysis. You can also send out data over analog and digital output channels provided by data acquisition hardware. The toolbox’s data acquisition software includes functions for controlling analog input, analog output, counter/timer, and digital I/O subsystems of a DAQ device. You can access device - specific features and synchronize data acquired from multiple devices. We can analyze data as you acquire it or save it for post - processing. You can also automate tests and make iterative updates to your test setup based on analysis results. Simulink blocks included in the toolbox let you stream live data directly into Simulink models, enabling you to verify and validate your models against live measured data as part of your design verification process. The sessions was followed by real time demo of bothMATLAB/SIMULINK with Dspace Interface and MATLAB Interface with LABVIEW/COMPACT DAQ. This 5 days workshop was webcasted and it is available on youtube. Finally followed by valediction session and certificate distribution.
Conclusion:
Nowadays, MATLAB which is considered as versatile and scientific purpose software that can be applied in any domain related to engineering. In addition it also helped participants to apply MATLAB in their problem area related to different engineering field. This way this workshop helped us to grow our insight and to develop the spark of learning more and moreMATLAB Simulation and Simulink through this MATLAB Software.