Embedded Digital Control with Microcontrollers
eBook - ePub

Embedded Digital Control with Microcontrollers

Implementation with C and Python

  1. English
  2. ePUB (mobile friendly)
  3. Available on iOS & Android
eBook - ePub

Embedded Digital Control with Microcontrollers

Implementation with C and Python

About this book

EMBEDDED DIGITAL CONTROL WITH MICROCONTROLLERS

Explore a concise and practical introduction to implementation methods and the theory of digital control systems on microcontrollers

Embedded Digital Control with Microcontrollers delivers expert instruction in digital control system implementation techniques on the widely used ARM Cortex-M microcontroller. The accomplished authors present the included information in three phases. First, they describe how to implement prototype digital control systems via the Python programming language in order to help the reader better understand theoretical digital control concepts.

Second, the book offers readers direction on using the C programming language to implement digital control systems on actual microcontrollers. This will allow readers to solve real-life problems involving digital control, robotics, and mechatronics.

Finally, readers will learn how to merge the theoretical and practical issues discussed in the book by implementing digital control systems in real-life applications. Throughout the book, the application of digital control systems using the Python programming language ensures the reader can apply the theory contained within. Readers will also benefit from the inclusion of:

  • A thorough introduction to the hardware used in the book, including STM32 Nucleo Development Boards and motor drive expansion boards
  • An exploration of the software used in the book, including Python, MicroPython, and Mbed
  • Practical discussions of digital control basics, including discrete-time signals, discrete-time systems, linear and time-invariant systems, and constant coefficient difference equations
  • An examination of how to represent a continuous-time system in digital form, including analog-to-digital conversion and digital-to-analog conversion

Perfect for undergraduate students in electrical engineering, Embedded Digital Control with Microcontrollers will also earn a place in the libraries of professional engineers and hobbyists working on digital control and robotics systems seeking a one-stop reference for digital control systems on microcontrollers.

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Embedded Digital Control with Microcontrollers by Cem Unsalan,Duygun E. Barkana,H. Deniz Gurhan in PDF and/or ePUB format, as well as other popular books in Biological Sciences & System Theory. We have over one million books available in our catalogue for you to explore.

Information

1
Introduction

This book aims to introduce digital control systems via practical applications. Therefore, we will briefly introduce the system and control theory concepts in this chapter. Then, we will emphasize how this book differs from the ones in literature. Besides, we will summarize the concepts to be explored in the book. Hence, the reader will have necessary background for the following chapters.

1.1 What is a System?

A system can be defined as the combination of parts to carry out a specific task. Let us pick the Pololu Zumo robot (https://www.pololu.com/product/2510/) in Figure 1.1. This is a system composed of four main parts as chassis, motors, tracks with sprockets, and battery. When energy is fed to the motors, they move the chassis via rotating sprockets.
We can add two more modules to the Zumo robot as a control unit (such as microcontroller) and reflectance sensor. These modules can be used to add autonomy to the robot such that it can follow a line drawn on ground. To do so, we will need a “control” action. Let us introduce it next.

1.2 What is a Control System?

Control is the act of producing a desired output for a given input. The control system is used for this purpose. For our Zumo robot, our aim is following the line. Hence, the robot system should be guided by a control system to follow the line. To be more specific, the control system should get the reference input signal (as position of the line) and current position of the robot from the reflectance sensor; form an error signal by their difference; generate necessary control signals to the motors (on the chassis); and guide the robot (system) accordingly. Yet another example is controlling temperature inside the refrigerator. Here, refrigerator is the system. The desired temperature value is set by the user as the reference signal. The actual temperature value inside the refrigerator is measured by a sensor. The control system sets the internal temperature to the desired value by using a cooler. As can be seen in both examples, the control system is used to generate a desired output for a given input.
Photo depicts the PololuZumo robot.
Figure 1.1 PololuZumo robot.
(Source: Pololu Robotics & Electronics, pololu.com.)
The control system may be classified either as analog or digital depending on its construction. If the system is only formed by analog components, then it is analog. Early control systems were of this type. As the microcontroller and embedded systems are introduced, digital controllers became dominant. The main reason for this shift is that the control system developed in digital systems is a code snippet which can be modified easily. Therefore, this book aims to introduce digital control methods implemented on microcontrollers. We will form a general setup for this purpose as in Figure 1.2.
Schematic illustration of the general setup for a digital control system.
Figure 1.2 General setup for a digital control system.
There is a system to be controlled in Figure 1.2. The microcontroller is the medium digital control algorithms are implemented on. The generated control signal,
x left-bracket n right-bracket
, is fed to the system as input by an amplifier. Likewise, system output signal,
y left-bracket n right-bracket
, is fed to the microcontroller for further processing. We can also connect the microcontroller to PC to send or receive data. We will use the setup in Figure 1.2 for almost all control operations throughout the book.

1.3 About the Book

There are several good books on digital control. We can group them into two categories. The first category consists of books on theoretical concepts in discrete-time control systems (Xue et al. 2007; Dorf and Bishop 2010; Burns 2001; Chen 2006; Corke 2017; Franklin et al. 2006; Ghosh 2004; Gopal 2003; Golnaraghi and Kuo 2010; Mandal 2010; Moudgalya 2008; Goodwin et al. 2000; Tewari 2002; Ogata 1995; Phillips et al. 2015; Starr 2006; Wescott 2006). These are useful in understanding theoretical foundations of digital control. Some books in this category also provide MATLAB-based implementation (Xue et al. 2007; Dorf and Bishop 2010; Chen 2006; Corke 2017; Mandal 2010; Tewari 2002). The reader can consult these in case theory is not sufficient.
The second category consists of books on practical aspects and implementation details of digital control systems on microcontrollers. Unfortunately, there are few books in this category (Braunl 2006; Forrai 2013; Ibrahim 2006; Ledin 2004; Hristu-Varsakelis and Levine 2005). Besides, there is no book on digital control applications with the Python programming language. This book aims to fill these gaps. Hence, it handles theoretical digital control concepts by Python. Besides, we benefit from MATLAB in controller design and system identification steps. Then, digital control concepts are implemented and realized on a low-level microcontroller using MicroPython and C languages. Via this approach, we aim to bridge the gap between theory and practice.
The book is composed of 12 chapters. We devote Chapter 2 to introduce hardware to be used in the book. Details of software platforms to be use...

Table of contents

  1. Cover
  2. Table of Contents
  3. Title Page
  4. Copyright
  5. Dedication
  6. Preface
  7. About the Companion Website
  8. 1 Introduction
  9. 2 Hardware to be Used in the Book
  10. 3 Software to be Used in the Book
  11. 4 Fundamentals of Digital Control
  12. 5 Conversion Between Analog and Digital Forms
  13. 6 Constructing Transfer Function of a System
  14. 7 Transfer Function Based Control System Analysis
  15. 8 Transfer Function Based Controller Design
  16. 9 State-space Based Control System Analysis
  17. 10 State-space Based Controller Design
  18. 11 Adaptive Control
  19. 12 Advanced Applications
  20. Appendix A: STM32 Board Pin Usage Tables
  21. Bibliography
  22. Index
  23. End User License Agreement