چه کسانی این کتاب را می‌خوانند

دانشجوعلاقه‌مند یادگیری
کتابخوان حرفه‌ایلذت مطالعه
نویسندهالهام‌گیری

Embedded Digital Control with Microcontrollers: Implementation with C and Python (IEEE Press)

Cem Unsalan, Duygun E. Barkana, H. Deniz Gurhan

قیمت نهایی

۴۰٬۰۰۰ تومان۴۹٬۰۰۰ تومان۱۸٪ تخفیف
  • تخفیف زمان‌دار−۹٬۰۰۰ تومان

۹٬۰۰۰ تومان صرفه‌جویی نسبت به قیمت اصلی

نسخه اصلی و اورجینال

بلافاصله پس از خرید، فایل کتاب روی دستگاه شما آمادهٔ دانلود است.

تحویل فوری
پرداخت امن
ضمانت فایل
پشتیبانی

مشخصات کتاب

ناشر
Wiley
سال انتشار
۲۰۲۱
فرمت
PDF
زبان
انگلیسی
حجم فایل
۶٫۵ مگابایت
شابک
9781119576525، 1119576520

دربارهٔ کتاب

**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. Cover Title Page Copyright Contents Preface About the Companion Website Chapter 1 Introduction 1.1 What is a System? 1.2 What is a Control System? 1.3 About the Book Chapter 2 Hardware to be Used in the Book 2.1 The STM32 Board 2.1.1 General Information 2.1.2 Pin Layout 2.1.3 Powering and Programming the Board 2.2 The STM32 Microcontroller 2.2.1 Central Processing Unit 2.2.2 Memory 2.2.3 Input and Output Ports 2.2.4 Timer Modules 2.2.5 ADC and DAC Modules 2.2.6 Digital Communication Modules 2.3 System and Sensors to be Used Throughout the Book 2.3.1 The DC Motor 2.3.1.1 Properties of the DC Motor 2.3.1.2 Pin Layout 2.3.1.3 Power Settings 2.3.2 The DC Motor Drive Expansion Board 2.3.3 Encoder 2.3.4 The FT232 Module 2.4 Systems and Sensors to be Used in Advanced Applications 2.4.1 Systems 2.4.2 Sensors 2.5 Summary Problems Chapter 3 Software to be Used in the Book 3.1 Python on PC 3.1.1 Basic Operations 3.1.2 Array and Matrix Operations 3.1.3 Loop Operations 3.1.4 Conditional Statements 3.1.5 Function Definition and Usage 3.1.6 File Operations 3.1.7 Python Control Systems Library 3.2 MicroPython on the STM32 Microcontroller 3.2.1 Setting up MicroPython 3.2.2 Running MicroPython 3.2.3 Reaching Microcontroller Hardware 3.2.3.1 Input and Output Ports 3.2.3.2 Timers 3.2.3.3 ADC 3.2.3.4 DAC 3.2.3.5 UART 3.2.4 MicroPython Control Systems Library 3.3 C on the STM32 Microcontroller 3.3.1 Creating a New Project in Mbed Studio 3.3.2 Building and Executing the Code 3.3.3 Reaching Microcontroller Hardware 3.3.3.1 Input and Output Ports 3.3.3.2 Timers 3.3.3.3 ADC 3.3.3.4 DAC 3.3.3.5 UART 3.3.4 C Control Systems Library 3.4 Application: Running the DC Motor 3.4.1 Hardware Setup 3.4.2 Procedure 3.4.3 C Code for the System 3.4.4 Python Code for the System 3.4.5 Observing Outputs 3.5 Summary Problems Chapter 4 Fundamentals of Digital Control 4.1 Digital Signals 4.1.1 Mathematical Definition 4.1.2 Representing Digital Signals in Code 4.1.2.1 Representation in Python 4.1.2.2 Representation in C 4.1.3 Standard Digital Signals 4.1.3.1 Unit Pulse Signal 4.1.3.2 Step Signal 4.1.3.3 Ramp Signal 4.1.3.4 Parabolic Signal 4.1.3.5 Exponential Signal 4.1.3.6 Sinusoidal Signal 4.1.3.7 Damped Sinusoidal Signal 4.1.3.8 Rectangular Signal 4.1.3.9 Sum of Sinusoids Signal 4.1.3.10 Sweep Signal 4.1.3.11 Random Signal 4.2 Digital Systems 4.2.1 Mathematical Definition 4.2.2 Representing Digital Systems in Code 4.2.2.1 Representation in Python 4.2.2.2 Representation in C 4.2.3 Digital System Properties 4.2.3.1 Stability 4.2.3.2 Linearity 4.2.3.3 Time‐Invariance 4.3 Linear and Time‐Invariant Systems 4.3.1 Mathematical Definition 4.3.2 LTI Systems and Constant‐Coefficient Difference Equations 4.3.3 Representing LTI Systems in Code 4.3.3.1 MicroPython Control Systems Library Usage 4.3.3.2 C Control Systems Library Usage 4.3.3.3 Python Control Systems Library Usage 4.3.4 Connecting LTI Systems 4.3.4.1 Series Connection 4.3.4.2 Parallel Connection 4.3.4.3 Feedback Connection 4.4 The z‐Transform and Its Inverse 4.4.1 Definition of the z‐Transform 4.4.2 Calculating the z‐Transform in Python 4.4.3 Definition of the Inverse z‐Transform 4.4.4 Calculating the Inverse z‐Transform in Python 4.5 The z‐Transform and LTI Systems 4.5.1 Associating Difference Equation and Impulse Response of an LTI System 4.5.2 Stability Analysis of an LTI System using z‐Transform 4.5.3 Stability Analysis of an LTI System in Code 4.6 Application I: Acquiring Digital Signals from the Microcontroller, Processing Offline Data 4.6.1 Hardware Setup 4.6.2 Procedure 4.6.3 C Code for the System 4.6.4 Python Code for the System 4.6.5 Observing Outputs 4.7 Application II: Acquiring Digital Signals from the Microcontroller, Processing Real‐Time Data 4.7.1 Hardware Setup 4.7.2 Procedure 4.7.3 C Code for the System 4.7.4 Python Code for the System 4.7.5 Observing Outputs 4.8 Summary Problems Chapter 5 Conversion Between Analog and Digital Forms 5.1 Converting an Analog Signal to Digital Form 5.1.1 Mathematical Derivation of ADC 5.1.2 ADC in Code 5.2 Converting a Digital Signal to Analog Form 5.2.1 Mathematical Derivation of DAC 5.2.2 DAC in Code 5.3 Representing an Analog System in Digital Form 5.3.1 Pole‐Zero Matching Method 5.3.2 Zero‐Order Hold Equivalent 5.3.3 Bilinear Transformation 5.4 Application: Exciting and Simulating the RC Filter 5.4.1 Hardware Setup 5.4.2 Procedure 5.4.3 C Code for the System 5.4.4 Python Code for the System 5.4.5 Observing Outputs 5.5 Summary Problems Chapter 6 Constructing Transfer Function of a System 6.1 Transfer Function from Mathematical Modeling 6.1.1 Fundamental Electrical and Mechanical Components 6.1.2 Constructing the Differential Equation Representing the System 6.1.3 From Differential Equation to Transfer Function 6.2 Transfer Function from System Identification in Time Domain 6.2.1 Theoretical Background 6.2.2 The Procedure 6.2.3 Data Acquisition by the STM32 Microcontroller 6.2.4 System Identification in Time Domain by MATLAB 6.3 Transfer Function from System Identification in Frequency Domain 6.3.1 Theoretical Background 6.3.2 The Procedure 6.3.3 System Identification in Frequency Domain by MATLAB 6.4 Application: Obtaining Transfer Function of the DC Motor 6.4.1 Mathematical Modeling 6.4.2 System Identification in Time Domain 6.4.3 System Identification in Frequency Domain 6.5 Summary Problems Chapter 7 Transfer Function Based Control System Analysis 7.1 Analyzing System Performance 7.1.1 Time Domain Analysis 7.1.1.1 Transient Response 7.1.1.2 Steady‐State Error 7.1.2 Frequency Domain Analysis 7.1.3 Complex Plane Analysis 7.1.3.1 Root‐Locus Plot 7.1.3.2 Nyquist Plot 7.2 The Effect of Open‐Loop Control on System Performance 7.2.1 What is Open‐Loop Control? 7.2.2 Improving the System Performance by Open‐Loop Control 7.3 The Effect of Closed‐Loop Control on System Performance 7.3.1 What is Closed‐Loop Control? 7.3.2 Improving the System Performance by Closed‐Loop Control 7.4 Application: Adding Open‐Loop Digital Controller to the DC Motor 7.4.1 Hardware Setup 7.4.2 Procedure 7.4.3 C Code for the System 7.4.4 Python Code for the System 7.4.5 Observing Outputs 7.5 Summary Problems Chapter 8 Transfer Function Based Controller Design 8.1 PID Controller Structure 8.1.1 The P Controller 8.1.2 The PI Controller 8.1.3 The PID Controller 8.1.4 Parameter Tuning Methods 8.1.4.1 The Ziegler–Nichols Method 8.1.4.2 The Cohen–Coon Method 8.1.4.3 The Chien–Hrones–Reswick Method 8.2 PID Controller Design in Python 8.2.1 Parameter Tuning 8.2.2 Controller Design 8.2.2.1 P Controller 8.2.2.2 PI Controller 8.2.2.3 PID Controller 8.2.3 Comparison of the Designed P, PI, and PID Controllers 8.3 Lag–Lead Controller Structure 8.3.1 Lag Controller 8.3.2 Lead Controller 8.3.3 Lag–Lead Controller 8.4 Lag–Lead Controller Design in MATLAB 8.4.1 Control System Designer Tool 8.4.2 Controller Design in Complex Plane 8.4.2.1 Lag Controller 8.4.2.2 Lead Controller 8.4.2.3 Lag–Lead Controller 8.4.2.4 Comparison of the Designed Lag, Lead, and Lag–Lead Controllers 8.4.3 Controller Design in Frequency Domain 8.4.3.1 Lag Controller 8.4.3.2 Lead Controller 8.4.3.3 Lag–Lead Controller 8.4.3.4 Comparison of the Designed Lag, Lead, and Lag–Lead Controllers 8.5 Application: Adding Closed‐Loop Digital Controller to the DC Motor 8.5.1 Hardware Setup 8.5.2 Procedure 8.5.3 C Code for the System 8.5.4 Python Code for the System 8.5.5 Observing Outputs 8.6 Summary Problems Chapter 9 State‐space Based Control System Analysis 9.1 State‐space Approach 9.1.1 Definition of the State 9.1.2 Why State‐space Representation? 9.2 State‐space Equations Representing an LTI System 9.2.1 Continuous‐time State‐space Equations 9.2.2 Discrete‐time State‐space Equations 9.2.3 Representing Discrete‐time State‐space Equations in Code Form 9.3 Conversion Between State‐space and Transfer Function Representations 9.3.1 From Transfer Function to State‐space Equations 9.3.2 From State‐space Equations to Transfer Function 9.4 Properties of the System from its State‐space Representation 9.4.1 Time Domain Analysis 9.4.2 Stability 9.4.3 Controllability 9.4.4 Observability 9.5 Application: Observing States of the DC Motor in Time 9.5.1 Hardware Setup 9.5.2 Procedure 9.5.3 C Code for the System 9.5.4 Python Code for the System 9.5.5 Observing Outputs 9.6 Summary Problems Chapter 10 State‐space Based Controller Design 10.1 General Layout 10.1.1 Control Based on State Values 10.1.2 Regulator Structure 10.1.3 Controller Structure 10.1.4 What if States Cannot be Measured Directly? 10.2 Regulator and Controller Design via Pole Placement 10.2.1 Pole Placement 10.2.2 Regulator Design 10.2.3 Ackermann's Formula for the Regulator Gain 10.2.4 Controller Design 10.2.5 Ackermann's Formula for the Controller Gain 10.3 Regulator and Controller Design in Python 10.3.1 Regulator Design 10.3.2 Controller Design 10.4 State Observer Design 10.4.1 Mathematical Derivation 10.4.2 Ackermann's Formula for the Observer Gain 10.5 Regulator and Controller Design in Python using Observers 10.5.1 Observer Design 10.5.2 Observer‐Based Regulator Design 10.5.3 Observer‐Based Controller Design 10.6 Application: State‐space based Control of the DC Motor 10.6.1 Hardware Setup 10.6.2 Procedure 10.6.3 C Code for the System 10.6.4 Python Code for the System 10.6.5 Observing Outputs 10.7 Summary Problems Chapter 11 Adaptive Control 11.1 What is Adaptive Control? 11.2 Parameter Estimation 11.3 Indirect Self‐Tuning Regulator 11.3.1 Feedback ISTR Design 11.3.2 Feedback and Feedforward ISTR Design 11.4 Model‐Reference Adaptive Control 11.5 Application: Real‐Time Parameter Estimation of the DC Motor 11.5.1 Hardware Setup 11.5.2 Procedure 11.5.3 C Code for the System 11.5.4 Observing Outputs 11.6 Summary Problems Chapter 12 Advanced Applications 12.1 Nonlinear Control 12.1.1 Nonlinear System Identification by MATLAB 12.1.2 Nonlinear System Input–Output Example 12.1.3 Gain Scheduling Example 12.1.4 Flat Systems Example 12.1.5 Phase Portraits Example 12.2 Optimal Control 12.2.1 The Linear Quadratic Regulator 12.2.2 Continuous‐Time LQR Example 12.2.3 LQR for the DC Motor 12.3 Robust Control 12.4 Distributed Control 12.4.1 Hardware and Software Setup 12.4.2 Procedure 12.5 Auto Dimmer 12.5.1 Hardware Setup 12.5.2 Procedure 12.6 Constructing a Servo Motor from DC Motor 12.6.1 Hardware Setup 12.6.2 Procedure 12.7 Visual Servoing 12.7.1 Hardware Setup 12.7.2 Procedure 12.8 Smart Balance Hoverboard 12.8.1 Hardware Setup 12.8.2 Procedure 12.9 Line Following Robot 12.9.1 Hardware Setup 12.9.2 Procedure 12.10 Active Noise Cancellation 12.10.1 Hardware Setup 12.10.2 Procedure 12.11 Sun Tracking Solar Panel 12.11.1 Hardware Setup 12.11.2 Procedure 12.12 System Identification of a Speaker 12.12.1 Hardware Setup 12.12.2 Procedure 12.13 Peltier Based Water Cooler 12.13.1 Hardware Setup 12.13.2 Procedure 12.14 Controlling a Permanent Magnet Synchronous Motor 12.14.1 Hardware Setup 12.14.2 Procedure Appendix A STM32 Board Pin Usage Tables Bibliography Index EULA

قیمت نهایی

۴۰٬۰۰۰ تومان