Course M307 - A Practical Introduction to Digital Control Systems for PIC32 Developers
Duration: 5 Days
Intended Audience
This is an intensive 5-day course for engineers who have relatively little experience of Digital Control or whose knowledge of Digital Control has become somewhat rusty. Attendees are assumed to have a reasonable working knowledge of C programming and of working with embedded systems.
Synopsis
To take advantage of the Digital Control capabilities of the PIC32 architectures a sound understanding of the principles and practice of Digital Control and, where relevant, related DSP processing is required. This 5 day course avoids digging deep into the theory and maths. Rather it aims to provide a sound understanding of the principles, and techniques needed to design effective Digital Control Systems. Its goal is to ensure that engineers learn how to select and parameterize the most appropriate Digital Control Algorithms for the task at hand. Control systems can be implemented using PIC32 devices not having a floating point maths module, however, for more computationally intensive control applications PIC32MZ controllers with on chip support for floating point arithmetic operations should be used.
Key topics covered in this course will be
- The basic theory and principles underlying control systems
- Systematic approaches covering how to move from the design of an analog control system to the design of the corresponding digital control system
- The assumptions and design issues involved in implementing digital control systems
- The basics of process oriented modeling in the design and implementation of Digital Control Systems
- The principles of robust control design
Course Outline
- Overview of computer control theory
- Overview of discrete time systems
- Sampling continuous time signals
- Sampling continuous time state-space systems
- Sampling systems with time delays
- An overview of difference equations
- Input-output models
- Overview of Z-transform, poles and zeros
- Analysis of discrete time systems
- Stability
- Sensitivity
- Robustness
- Controlability
- Reachability
- Observability
- Detectability
- Pole placement design techniques
- Structuring complex systems
- Process oriented modeling
- Modulation model
- Frequency response
- Pulse-transfer function
- Approximating Continuous Time Controllers
- Approximations based on transfer functions
- Approximations based on state models
- Frequency design approaches
- Digital PID controllers
- Implementing Digital Controllers
- Pre-filtering
- Taking computational delay into account
- Handling non-linear actuators
- Programming the implementation of digital controllers
- Disturbances
- Piecewise deterministic models
- Stochastic models
- State space and polynomial approaches to Optimal Design
- Identification
- Advanced C programming techniques using Arrays and Pointers
- Control system C code templates and patterns
- Multi-tasking aspects of control system implementation