Course IAR108
Implementing Digital Control Applications in C
Implementing Digital Control Applications in C
Duration: 5 Days
Intended Audience
This course is for engineers who have a basic knowledge of C programming , DSP algorithms and Digital Control Systems . This is a very intensive 5-day programming course designed to get engineers up to speed with the implementation in 'C' of Digital Control Systems applications
Course Overview
The 'C' programming skills needed to implement Digital Control algorithms include understanding issues such as how to convert a model of the system being controlled into suitable data structures and associated algorithms.
Key Skills
After attending this course, you will be able to:
- Design suitable data structures and functions for implementing digital control systems
- Implement control algorithms in C
- Interface control algorithms to system input and output hardware
- Understand multi-tasking issues involved in complex control applications where the activities of multiple devices need to be co-ordinated
- Apply state transition techniques to control applications
Course Contents
Intensive overview of arrays, pointers, and dynamic data structures
I/O buffering - circular, polygonal, iove and shadow buffering
Structured 'C' programming approaches to peripherals
- timers
- A/D and D/A peripherals
- PWM
- RS232
- I2C
Design and Analysis of Analog Control Systems
- differential equations describing physical systems
- overview of the Laplace transform and its uses
- input-output relationships
- linear time invariance
- impulse response
- step response
- convolution
- Block diagrams
- Feedback configuration
- Closed loop transfer functions
Discrete Time Sampled Systems
- sampling continuous time signals
- input - output models
- z-transform and its uses
- poles and zeros
- selecting a sampling rate
- analysis
- stability
- sensitivity and robustness
- controllability, reachability, observability, detectability
- Overview of Root Locus Design methods
- Response characteristics - settling time, bandwidth
Analysis and modeling of control systems
- Pole placement design techniques
- Structured design strategies
- process oriented modeling
- approximating continuous time controllers
- digital PID controller principles
Implementing Digital Controllers - Realising Transfer Functions
- Direct structure - canonical, noln-canonical
- Cascade realisation
- Parallel realisation
- PID controller implementation
- coding details
- second-order modules
- first-order modules
- higher order modules
Integrating the control software into the complete system
- overview of use case analysis
- State transition diagrams and their realisation in 'C'
- Statecharts and their realisation in 'C'
- direct scheduler implementation
- using an embedded RTOS
- Critical section and mutual exclusion issues
- Inter-task communication issues
- master-slave
- first-order modules
- peer-to-peer
