Development of a PC-based Real Time Power Electronics Control Platform
Entwicklung einer Echtzeitregelungs- und Steuerungsplattform mit industriellen Standardkomponenten für leistungselektronische Anwendungen
- Art: Studienarbeit
- Autor: Alexander Fiedel
- Abgabedatum: Oktober 2005
- Umfang: 175 Seiten
- Dateigröße: 1,7 MB
- Note: 1,0
- Institution / Hochschule: Friedrich-Alexander-Universität Erlangen-Nürnberg Deutschland
- ISBN (eBook): 978-3-8324-6632-9
-
ISBN (Paperback) :
978-3-8324-6632-9 P - ISBN (CD) :978-3-8324-6632-9 CD
- Sprache: Englisch
- Prämierung:
- Arbeit zitieren: Fiedel, Alexander Oktober 2005: Development of a PC-based Real Time Power Electronics Control Platform, Hamburg: Diplomica Verlag
- Schlagworte: Echtzeitbetriebssystem, Linux, Inbetriebsetzung, QNX, Neutrino
In den Warenkorb
68,00 €
Studienarbeit von Alexander Fiedel
Abstract:
In this thesis it was shown that it is possible to set-up a very fast and flexible realtime controller using only off-the-shelf components on a PC platform. To best fit the requirements, the used hardware and software has been chosen carefully and compared with other market products.
After evaluating the timing and handling structure, the real-time controller and the system drivers were implemented using the 'C' program language. To ensure flexibility, this program has been tested on two different hardware configurations. Timing analyses and measurements are compare for the two configurations.
All code is written to be easy to understand and quickly learned by students. To prove the system capabilities, a PI control algorithm has been implemented to control the torque of a DC machine. The system ran on a 333 MHz PII with algorithm times of about 600ns and an overall sampling rate of 20kHz.
This very flexible system, together with the real time operating system of RTLinux and Linux, makes it possible to build a control platform for power electronics which can be easily adapted to fit almost every requirement in a very short time. The superior computation power of standard PCs (and the possibility to upgrade the CPU) is a decisive advantage to common DSP solutions - especially when system cost is an important factor.
The use of open source operating systems enables full control and survey of the whole system. Software and utilities for almost all applications is available in source code. Competent help can be obtained from an active community via the internet as well as from professional companies.
Together, these facts ensure that the lifetime of this PC based control platform is not restricted by the availability of spare parts from single companies. And it is not limited by the software and hardware possibilities of the year 2001.
Table of Contents:
| 1. | Introduction | 1 |
| 1.1 | Organization | 2 |
| 1.2 | Conventions | 2 |
| 2. | Requirements | 3 |
| 3. | Choosing the Hardware | 4 |
| 3.1 | PC System | 4 |
| 3.2 | DAC and ADC Hardware | 6 |
| 3.3 | Hardware description | 9 |
| 4. | Choosing the right Software | 16 |
| 4.1 | System Specific Demands | 16 |
| 4.2 | Standard Operating Systems (OSs) and Real-Time Control | 16 |
| 4.3 | Real Time Operating Systems | 17 |
| 4.3.1 | Definition of a Real-Time System | 17 |
| 4.3.2 | Used Definition of 'Real Time' | 20 |
| 4.3.3 | Market Overview | 20 |
| 4.4 | Characteristics of Suitable Real Time Operating Systems | 21 |
| 4.4.1 | The Ordeal of Options | 21 |
| 4.4.2 | VxWorks | 22 |
| 4.4.3 | QNX | 24 |
| 4.4.4 | LynxOS | 26 |
| 4.4.5 | RT-Linux 3.0 | 27 |
| 4.5 | Network | 32 |
| 4.5.1 | The Possibilities | 32 |
| 4.5.2 | The easy Solution | 35 |
| 4.5.3 | Built-in Alternative: Linux Telnet | 36 |
| 5. | Realization | 37 |
| 5.1 | The Software of the Control Platform – what should it do? | 37 |
| 5.1.1 | Controller Concept | 37 |
| 5.2 | Overview of the used Linux Functions | 39 |
| 5.3 | Using Kernel Modules | 41 |
| 5.4 | Introduction to PCI | 44 |
| 5.4.1 | Linux and the PCI subsystem | 45 |
| 5.4.1.1 | Reading and Writing to a Device | 48 |
| 5.5 | Accessing the Hardware | 49 |
| 5.5.1 | Acromag Carrier Board APC8620 | 49 |
| 5.5.2 | Acromag IP340 – The A/D Module | 52 |
| 5.5.3 | Acromag IP220 – The D/A Module | 60 |
| 5.6 | RTLinux | 65 |
| 5.6.1 | RTLinux Functions | 65 |
| 5.6.2 | RTLinux Programming | 69 |
| 5.6.3 | Adding Interrupt Support | 71 |
| 5.6.4 | Adding RTFIFOs | 71 |
| 5.7 | Building the Control Platform Together | 73 |
| 5.8 | Linux - RTLinux communication | 80 |
| 5.8.1 | Linux Controls RTLinux | 80 |
| 5.8.2 | Observation of RTLinux signals | 80 |
| 5.9 | Implementation of Network: netcat | 82 |
| 5.9.1 | One Way Connections | 82 |
| 5.9.2 | Two Way Connections | 82 |
| 6. | Timing Evaluations | 83 |
| 6.1 | CPU speed comparisons | 84 |
| 7. | Implementing a Constant Torque PI Controller | 86 |
| 8. | Future Improvements | 93 |
| 9. | Summary | 94 |
| 10. | Zusammenfassung | 95 |
| 11. | References and Resources | 96 |
| 12. | Appendix A: UNIX and Linux | 101 |
| 12.1 | What is UNIX? | 101 |
| 12.2 | So, what is Linux? | 102 |
| 13. | Appendix B: Installing the PC System | 103 |
| 13.1 | Red Hat Linux 6.2 Installation – Installation Protocol | 103 |
| 13.2 | Linux Security Annotation | 104 |
| 13.3 | Linux kernel- and RTLinux Installation | 105 |
| 13.3.1 | Preparations | 105 |
| 13.4 | Compiling the new Linux Kernel | 105 |
| 13.5 | Configure the Bootloader LILO | 106 |
| 13.6 | RTLinux Configuration and Compilation | 107 |
| 13.7 | Installing the RTLinux Documentation | 108 |
| 13.8 | The File 'kernelconfig.txt' | 109 |
| 13.9 | The File 'rtlinuxconfig.txt' | 117 |
| 14. | Appendix C: Using Linux | 119 |
| 14.1 | Special Linux Files of Interest | 119 |
| 14.2 | Linux' 'gcc' | 119 |
| 14.3 | Archiver 'tar' | 121 |
| 14.4 | The Text Editor 'joe' | 121 |
| 14.5 | KDE Enhanced Editor | 122 |
| 14.6 | Floppy Disk Access via 'mtools' | 122 |
| 14.7 | Mounting Devices and Partitions | 122 |
| 15. | Appendix D: 'netcat' Installation | 123 |
| 15.1 | Linux | 123 |
| 15.2 | Windows | 123 |
| 15.3 | Test | 123 |
| 15.4 | Used Command Line Parameters of nc | 124 |
| 16. | Appendix E: Taking Measurements | 125 |
| 16.1 | Performance Tests | 125 |
| 16.1.1 | Writing to DAC | 126 |
| 16.1.2 | Writing to ADC | 128 |
| 16.1.3 | Writing to RTFIFO | 130 |
| 16.2 | The PI Controller | 132 |
| 16.3 | The 'C40 - Benchmark' | 132 |
| 16.3.1 | Writing 2 DAC channels + the 'C40-Benchmark' algorithm | 132 |
| 17. | Appendix F: 'C' Code | 133 |
| 17.1 | The RTLinux program | 133 |
| 17.2 | The Linux-RTLinux control program | 144 |
| 17.3 | The Linux program to print the RTFIFO | 146 |
| 17.4 | The implemented PI controller | 147 |
| 17.5 | The used 'C40' Benchmark Code | 149 |
| 17.5.1 | The Definitions | 149 |
| 17.6 | The Algorithms | 153 |
| 17.7 | Function calls in RTLinux code | 165 |
| 17.8 | Pentium III 1000MHz machine | 165 |
| 17.9 | Pentium II 333MHz machine | 166 |
| 17.10 | I/O Hardware | 166 |
| 17.11 | Miscellaneous | 166 |
In den Warenkorb
68,00 €
Link zur Arbeit:
http://www.diplom.de/ean/9783832466329
Arbeit zitieren:
Fiedel, Alexander Oktober 2005: Development of a PC-based Real Time Power Electronics Control Platform, Hamburg: Diplomica Verlag
Schlagworte:
Echtzeitbetriebssystem, Linux, Inbetriebsetzung, QNX, Neutrino



