First Technology Transfer

Standard and Advanced Technical Training, Consultancy and Mentoring

Course M207 - A Practical Introduction to Digital Control Systems for PIC24 and dsPIC 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.


To take advantage of the Digital Control capabilities of the PIC24 and dsPIC 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 PIC24 devices, however, for more computationally intensive control applications dsPIC controllers should be used because of their on chip support for fractional arithmetic involving MAC (Multiply and Accumulate) operations.

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
  • C Programming Aspects of Digital Process Control
    • Advanced C programming techniques using Arrays and Pointers
    • Control system C code templates and patterns
    • Multi-tasking aspects of control system implementation
  • State space and polynomial approaches to Optimal Design
  • Identification
  • dsPIC DSP Processing Unit and Control Systems
    • Intensive Overview of the dsPIC Processing Unit Architecture
    • Intensive Overview of Q15 arithmetic
    • dsPIC assembler and Q15 arithmetic computation
    • Calling dsPIC assembler code from C
    • Practical control systems using the dsPIC DSP unit.