Файл: Microcontroller based applied digital control (D. Ibrahim, 2006).pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 14.06.2025
Просмотров: 3246
Скачиваний: 1
Microcontroller Based
Applied Digital Control
Microcontroller Based Applied Digital Control D. Ibrahim
C 2006 John Wiley & Sons, Ltd. ISBN: 0-470-86335-8
Microcontroller Based
Applied Digital Control
Dogan Ibrahim
Department of Computer Engineering
Near East University, Cyprus
Copyright C 2006 John Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester,
West Sussex PO19 8SQ, England
Telephone (+44) 1243 779777
Email (for orders and customer service enquiries): cs-books@wiley.co.uk
Visit our Home Page on www.wiley.com
All Rights Reserved. No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except under the terms of the Copyright, Designs and Patents Act 1988 or under the terms of a licence issued by the Copyright Licensing Agency Ltd, 90 Tottenham Court Road, London W1T 4LP, UK, without the permission in writing of the Publisher. Requests to the Publisher should be addressed to the Permissions Department, John Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester, West Sussex PO19 8SQ, England, or emailed to permreq@wiley.co.uk, or faxed to (+44) 1243 770620.
Designations used by companies to distinguish their products are often claimed as trademarks. All brand names and product names used in this book are trade names, service marks, trademarks or registered trademarks of their respective owners. The Publisher is not associated with any product or vendor mentioned in this book.
This publication is designed to provide accurate and authoritative information in regard to the subject matter covered. It is sold on the understanding that the Publisher is not engaged in rendering professional services. If professional advice or other expert assistance is required, the services of a competent professional should be sought.
Other Wiley Editorial Offices
John Wiley & Sons Inc., 111 River Street, Hoboken, NJ 07030, USA
Jossey-Bass, 989 Market Street, San Francisco, CA 94103-1741, USA
Wiley-VCH Verlag GmbH, Boschstr. 12, D-69469 Weinheim, Germany
John Wiley & Sons Australia Ltd, 42 McDougall Street, Milton, Queensland 4064, Australia
John Wiley & Sons (Asia) Pte Ltd, 2 Clementi Loop #02-01, Jin Xing Distripark, Singapore 129809
John Wiley & Sons Canada Ltd, 22 Worcester Road, Etobicoke, Ontario, Canada M9W 1L1
Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be available in electronic books.
Library of Congress Cataloging-in-Publication Data
Ibrahim, Dogan.
Microcontroller based applied digital control / Dogan Ibrahim. p. cm.
ISBN 0-470-86335-8
1.Process control—Data processing. 2. Digital control systems—Design and construction. 3. Microprocessors. I. Title.
TS156.8.I126 2006 |
||
629.8 9—dc22 |
2005030149 |
|
British Library Cataloguing in Publication Data |
||
A catalogue record for this book is available from the British Library |
||
ISBN-13 |
978-0-470-86335-0 (HB) |
|
ISBN-10 |
0-470-86335-8 (HB) |
|
Typeset in 10/12pt Times by TechBooks, New Delhi, India
Printed and bound in Great Britain by Antony Rowe Ltd, Chippenham, Wiltshire
This book is printed on acid-free paper responsibly manufactured from sustainable forestry in which at least two trees are planted for each one used for paper production.
Contents
Preface |
xi |
|||
1 |
Introduction |
1 |
||
1.1 |
The Idea of System Control |
1 |
||
1.2 |
Computer in the Loop |
2 |
||
1.3 |
Centralized and Distributed Control Systems |
5 |
||
1.4 |
Scada Systems |
6 |
||
1.5 |
Hardware Requirements for Computer Control |
7 |
||
1.5.1 |
General Purpose Computers |
7 |
||
1.5.2 |
Microcontrollers |
8 |
||
1.6 |
Software Requirements for Computer Control |
9 |
||
1.6.1 |
Polling |
11 |
||
1.6.2 Using External Interrupts for Timing |
11 |
|||
1.6.3 |
Using Timer Interrupts |
12 |
||
1.6.4 |
Ballast Coding |
12 |
||
1.6.5 Using an External Real-Time Clock |
13 |
|||
1.7 |
Sensors Used in Computer Control |
14 |
||
1.7.1 |
Temperature Sensors |
15 |
||
1.7.2 |
Position Sensors |
17 |
||
1.7.3 Velocity and Acceleration Sensors |
20 |
|||
1.7.4 |
Force Sensors |
21 |
||
1.7.5 |
Pressure Sensors |
21 |
||
1.7.6 |
Liquid Sensors |
22 |
||
1.7.7 |
Air Flow Sensors |
23 |
||
1.8 |
Exercises |
24 |
||
Further Reading |
25 |
|||
2 |
System Modelling |
27 |
||
2.1 |
Mechanical Systems |
27 |
||
2.1.1 |
Translational Mechanical Systems |
28 |
||
2.1.2 |
Rotational Mechanical Systems |
32 |
||
vi |
CONTENTS |
||
2.2 |
Electrical Systems |
37 |
|
2.3 |
Electromechanical Systems |
42 |
|
2.4 |
Fluid Systems |
44 |
|
2.4.1 |
Hydraulic Systems |
44 |
|
2.5 |
Thermal Systems |
49 |
|
2.6 |
Exercises |
52 |
|
Further Reading |
52 |
||
3 The PIC Microcontroller |
57 |
||
3.1 |
The PIC Microcontroller Family |
57 |
|
3.1.1 |
The 10FXXX Family |
58 |
|
3.1.2 |
The 12CXXX/PIC12FXXX Family |
59 |
|
3.1.3 |
The 16C5X Family |
59 |
|
3.1.4 |
The 16CXXX Family |
59 |
|
3.1.5 |
The 17CXXX Family |
60 |
|
3.1.6 |
The PIC18CXXX Family |
60 |
|
3.2 |
Minimum PIC Configuration |
61 |
|
3.2.1 |
External Oscillator |
63 |
|
3.2.2 |
Crystal Operation |
63 |
|
3.2.3 |
Resonator Operation |
63 |
|
3.2.4 |
RC Operation |
65 |
|
3.2.5 |
Internal Clock |
65 |
|
3.3 |
Some Popular PIC Microcontrollers |
66 |
|
3.3.1 |
PIC16F84 Microcontroller |
67 |
|
3.3.2 |
PIC16F877 Microcontroller |
71 |
|
3.4 |
Exercises |
75 |
|
Further Reading |
76 |
||
4 Programming PIC Microcontrollers in C |
77 |
||
4.1 |
PICC Lite Variable Types |
78 |
|
4.1.1 |
Bit |
78 |
|
4.1.2 |
Unsigned Char |
78 |
|
4.1.3 |
Signed Char |
79 |
|
4.1.4 |
Unsigned Int |
79 |
|
4.1.5 |
Signed Int |
79 |
|
4.1.6 |
Long |
79 |
|
4.1.7 |
Unsigned Long |
79 |
|
4.1.8 |
Float |
80 |
|
4.1.9 |
Double |
80 |
|
4.2 |
Variables |
80 |
|
4.3 |
Comments in Programs |
81 |
|
4.4 |
Storing Variables in the Program Memory |
82 |
|
4.5 |
Static Variables |
82 |
|
4.6 |
Volatile Variables |
83 |
|
4.7 |
Persistent Variables |
83 |
|
CONTENTS |
vii |
||
4.8 |
Absolute Address Variables |
83 |
|
4.9 |
Bank1 Qualifier |
83 |
|
4.10 |
Arrays |
84 |
|
4.11 |
ASCII Constants |
86 |
|
4.12 |
Arithmetic and Logic Operators |
86 |
|
4.13 |
Number Bases |
89 |
|
4.14 |
Structures |
89 |
|
4.15 |
Program Flow Control |
91 |
|
4.15.1 |
If–Else Statement |
91 |
|
4.15.2 |
Switch–Case Statement |
92 |
|
4.15.3 |
For Statement |
94 |
|
4.15.4 |
While Statement |
95 |
|
4.15.5 |
Do Statement |
95 |
|
4.15.6 |
Break Statement |
96 |
|
4.15.7 |
Continue Statement |
96 |
|
4.16 |
Functions in C |
96 |
|
4.16.1 |
User Functions |
97 |
|
4.16.2 |
Built-in Functions |
98 |
|
4.17 |
Pointers in C |
99 |
|
4.18 |
Pre-processor Commands |
101 |
|
4.18.1 |
#define |
101 |
|
4.18.2 |
#include |
103 |
|
4.18.3 |
#asm and #endasm |
103 |
|
4.19 |
Accessing the EEPROM Memory |
104 |
|
4.20 |
Interupts in C Programs |
104 |
|
4.21 |
Delays in C Programs |
105 |
|
4.22 |
Structure of a C Program |
105 |
|
4.23 |
PIC Microcontroller Input–Output Interface |
107 |
|
4.23.1 |
Connecting an LED |
107 |
|
4.23.2 Connecting a Push-Button Switch |
109 |
||
4.23.3 |
Connecting an LCD |
111 |
|
4.24 |
Exercises |
116 |
|
Further Reading |
117 |
||
5 Microcontroller Project Development |
119 |
||
5.1 |
Hardware and Software Requirements |
119 |
|
5.2 |
Program Development Tools |
120 |
|
5.2.1 |
Flow Charts |
121 |
|
5.2.2 |
Structure Charts |
121 |
|
5.2.3 |
Pseudocode |
123 |
|
5.3 |
Exercise |
129 |
|
Further Reading |
129 |
||
6 Sampled Data Systems and the z-Transform |
131 |
||
6.1 |
The Sampling Process |
131 |
|
6.2 |
The z-Transform |
136 |
|
viii |
CONTENTS |
|||
6.2.1 |
Unit Step Function |
137 |
||
6.2.2 |
Unit Ramp Function |
137 |
||
6.2.3 |
Exponential Function |
138 |
||
6.2.4 |
General Exponential Function |
138 |
||
6.2.5 |
Sine Function |
139 |
||
6.2.6 |
Cosine Function |
139 |
||
6.2.7 |
Discrete Impulse Function |
140 |
||
6.2.8 |
Delayed Discrete Impulse Function |
140 |
||
6.2.9 |
Tables of z-Transforms |
140 |
||
6.2.10 |
The z-Transform of a Function Expressed as a Laplace Transform |
140 |
||
6.2.11 |
Properties of z-Transforms |
143 |
||
6.2.12 |
Inverse z-Transforms |
145 |
||
6.3 |
Pulse Transfer Function and Manipulation of Block Diagrams |
154 |
||
6.3.1 |
Open-Loop Systems |
154 |
||
6.3.2 |
Open-Loop Time Response |
156 |
||
6.3.3 |
Closed-Loop Systems |
162 |
||
6.3.4 |
Closed-Loop Time Response |
166 |
||
6.4 |
Exercises |
166 |
||
Further Reading |
169 |
|||
7 System Time Response Characteristics |
171 |
|||
7.1 |
Time Response Comparison |
171 |
||
7.2 |
Time Domain Specifications |
174 |
||
7.3 |
Mapping the s-Plane into the z-Plane |
177 |
||
7.4 |
Damping Ratio and Undamped Natural Frequency in the z-Plane |
178 |
||
7.4.1 |
Damping Ratio |
178 |
||
7.4.2 |
Undamped Natural Frequency |
179 |
||
7.5 |
Damping Ratio and Undamped Natural Frequency Using Formulae |
181 |
||
7.6 |
Exercises |
183 |
||
Further Reading |
184 |
|||
8 |
System Stability |
187 |
||
8.1 |
Factorizing the Characteristic Equation |
187 |
||
8.2 |
Jury’s Stability Test |
189 |
||
8.3 |
Routh–Hurwitz Criterion |
192 |
||
8.4 |
Root Locus |
194 |
||
8.5 |
Nyquist Criterion |
201 |
||
8.6 |
Bode Diagrams |
205 |
||
8.7 |
Exercises |
208 |
||
Further Reading |
211 |
|||
9 |
Discrete Controller Design |
213 |
||
9.1 |
Digital Controllers |
214 |
||
9.1.1 |
Dead-Beat Controller |
215 |
||
9.1.2 |
Dahlin Controller |
217 |
||