Inhalt
1. Einleitung
1.1 Aufgabenstellung 1
1.2 Hardware 1
1.3 Software 2
1.4 Vorarbeiten 2
2. Konzept
2.1 Analyse 3
2.2 Zielsetzung 3
2.3 Ansatz: „Quasi-Stationäre“ Regelung 3
2.4 Einschränkungen 4
3. Erfassung der Messwerte
3.1 Erfassung des Motorstroms 6
3.2 Erfassung der Zwischenkreisspannung 7
3.3 Erfassung der Drehzahl 9
4. Verarbeitung der Messwerte
4.1 Notabschaltung 14
4.2 Motoransteuerung 14
4.3 „Quasi-Stationäre“ Regelung 16
4.4 Drehzahlregelung 21
5. Software
5.1 Mikrocontroller Software 23
5.2 Kommunikation mit dem PC 26
5.3 PC Software 28
6. Test und Einsatz
6.1 Test: 9,2KW Dauerbetrieb 29
6.2 Test: Reversierbetrieb 31
6.3 Ansteuerung eines Linearmotors 32
7. Benutzer-Anleitung
7.1 Einführung 33
7.2 Regel-Parameter 35
7.3 PW-MParameter 39
7.4 Bedienteil 40
8. Nützliche Hinweise für PIC-Entwickler
8.1 Entwicklungsumgebung 41
8.2 SDCC 41
9. Ausblick
9.1 Reserven des PIC18F4431 44
9.2 Verwertung der Module 44
9.3 Möglichkeiten der Weiterentwicklung 44
10. Zusammenfassung
1.1 Aufgabenstellung
„Für viele Anwendungen in der Antriebstechnik ist eine variable Einstellung der Drehzahl erforderlich. Durch die Anwendung von Stromrichterschaltungen, können diese Antriebsaufgaben auch von Drehstrommaschinen wie z.B. die Asynchronmaschine übernommen werden. Im Rahmen dieser Studienarbeit soll eine Drehzahlregelung für eine Asynchronmaschine implementiert werden. Dabei soll für die Ansteuerung des Stromrichters ein PIC-Mikrocontroller eingesetzt werden, der durch seine spezielle Ausstattung besonders für solche Aufgaben geeignet ist. Das zu erstellende Programm soll außerdem eine Kommunikation zwischen dem Stromrichter und einem PC ermöglichen, über den sich dann der Antrieb steuern und einrichten lässt.“
Es soll also auf Basis der Hard- und Software aus der Diplomarbeit von Dipl.-Ing. Frank Becker sowie der Studienarbeit von Dipl.-Ing. Alexander Scherer ein Programm zur Ansteuerung einer Asynchronmaschine mit Drehzahlregelung realisiert werden, welches über einen PC konfigurierbar ist.
1.2 Hardware
Die Hardwarebasis setzt sich aus einer Mikrocontrollerplatine (PIC18F4431) mit Bedienteil, einer Leistungselektronikplatine mit IGBT, und einem Brückengleichrichter-Einspeise-Modul mit Brems-Chopper aus der Studienarbeit von Dipl.-Ing. Alexander Scherer zusammen. Die Hardware war getestet und es bedurfte nur kleiner Veränderungen. Da die Aufgabenstellung keine Hardwareentwicklung beinhaltete, ging es auch darum, die Grenzen der bestehenden Hardware auszuloten. Eine genaue Beschreibung der Hardware findet sich in [Beck] und [Scher].
Als Eingabeschnittstellen waren zwei Taster, ein Schalter und ein Potentiometer vorhanden. Für die Ausgabe von Status und Fehlermeldungen wurde eine grüne und eine rote LED vorgesehen, für die Kommunikation mit dem PC eine RS232 Schnittstelle.
Die Hardware erlaubt eine Messung der Motorströme und der Zwischenkreisspannung. Darüber hinaus ist eine Auswertung der Motordrehzahl über einen Inkrementalgeber vorgesehen. Als Zeitbasis wurde der Takt des Mikrocontroller, 40MHz eines Quarzes, verwendet.
1.3 Software
Als Basis für die Programmierung des Mikrocontrollers stellte Dipl.-Ing. Jörg Weigold ein experimentelles Programm in C zur Verfügung. Das Programm bestand aus einem Rumpf, der bereits die Initialisierung der Komponenten des Mikrocontrollers, die Analog-Digitalwandlung der Messwerte, und die Steuerung der Leistungschalter beinhaltete. Das vorhandene Programm ermöglichte eine einfache Steuerung des Motors, ließ aber viel Potential der Hardware ungenutzt. Bei der Weiterentwicklung konnte insbesondere bei der Initialisierung der Komponenten Vieles aus dem bestehenden Programm übernommen werden, vor allem das grundlegende Konzept der Interrupt-Ebenen.
Die Komplexität der Aufgabenstellung implizierte die Verwendung einer hohen Programmiersprache - die Wahl fiel auf C. Als C-Compiler sollte der SDCC (Small-Device-C-Compiler) I verwendet werden. Das Programmieren des Mikrocontrollers wurde mit der Microchip-Software MPLab durchgeführt. Als Entwicklungsumgebung wurde ECLIPSE II mit CDT III gewählt, diese unterstützt C, war bereits bekannt, und erlaubte eine einfache Einbindung des SDCC per Makefile.
1.4 Vorarbeiten
Da bereits Erfahrung mit der Programmierung von 8Bit-ATmega-Mikrocontrollern von Atmel vorhanden war, gelang der Einstieg mit dem ähnlichen 8Bit-PIC von Microchip problemlos. Allerdings war die Entwicklungsumgebung nicht zufriedenstellend. Ein mit Atmel vergleichbar komfortables und mächtiges Paket konnte nicht gefunden werden. Als Compiler sollte mit dem SDCC ein Compiler verwendet werden, der zwar frei verfügbar ist, allerdings als Opensource-Projekt nicht ausschließlich für den PIC entwickelt wird und nicht ganz ausgereift ist. Dies führte zu einigen Problemen, die mit einem Standardcompiler wie z.B. dem GCC nicht aufgetreten wären. Der SDCC lässt sich unter Beachtung einiger Besonderheiten aber sehr wohl produktiv einsetzten und ist als kostenloser Compiler eine echte Alternative zu den Compilern von Microchip. Für den interessierten C-Entwickler finden sich im Kapitel „Nützliche Hinweise“ einige Tips für den Umgang mit dem SDCC für PIC. Das bereits vorhandene Steuerungsprogramm von Dipl.-Ing. Weigold half, die Grundlegenden Prinzipien beim Umgang mit dem PIC mit 2 Interrupt-Ebenen zu verstehen.
I http://sdcc.sourceforge.net/
II http://www.eclipse.org/ III http://www.eclipse.org/cdt/
2.1 Analyse
Die erfassten Messwerte ermöglichen im Prinzip die Realisierung einer Feldorientierten Regelung (siehe [DReg]). Allerdings ist der verwendete Mikrocontroller mit 10 Mips I und 8k Befehlsspeicher dafür knapp bemessen. Da es in dieser Studienarbeit darum ging, in relativ kurzer Zeit eine geeignete Software für die bestehende Hardware zu entwickeln, fiel die Wahl auf die wesentlich einfachere U/f-Kennlinie. Allerdings sollte die Regelung unter Berücksichtigung der möglichen Messungen möglichst dynamisch und zuverlässig werden. Darüber hinaus sollte mit der Software eine Basis für die Ansteuerung von beliebigen Leistungteilen und Machienensätzen geschaffen werden.
2.2 Zielsetzung
Zunächst soll eine dynamische Drehzahl-Steuerung auf Basis der auf der Platine vorhandenen Messglieder realisiert werden. Diese wird vom Benutzer an die gesteuerte Maschine angepasst und parametrisiert. Anstatt einer starren Rampensteuerung wird eine dynamische Drehzahleinstellung mit Begrenzung von Strom- und Zwischenkreisspannung verwendet. Der Aussteuergrad der Pulsweitenmodulation soll an die Zwischenkreisspannung angepasst werden, damit ein Betrieb der Asynchronmaschine mit Nennspannung auch bei veränderlicher Zwischenkreisspannung gewährleistet ist. Eine reine Steuerung der Asynchronmaschine (ohne Drehzahlrückführung) soll ein wesentliches Ergebnis dieser Arbeit sein. So ist eine dynamische und zuverlässige Ansteuerung einer Asynchronmaschine auch ohne Drehzahlgeber möglich. Aufbauend auf dieser Steuerung soll dann ein Drehzahlregler nach Rückführung der Drehzahl realisiert werden.
Für die Parametrisierung der Steuerung und die Darstellung der aktuellen Messwerte soll ein PC-Programm entwickelt werden. Die Parameter sollen im EEPROM des Mikrocontroller abgelegt werden. Der Betrieb muss auch ohne PC möglich sein.
2.3 Ansatz: „Quasi-Stationäre“ Regelung II
Um eine maximale Dynamik zu erreichen, ohne dabei auf die rechenintensiven Prinzipien der feldorientierten Regelung zurückzugreifen, wurde eine stationäre Betrachtung der Asynchronmaschine gewählt. Die begrenzenden Faktoren für die Dynamik sind der Motorstrom im motorischen und die Zwischenkreisspannung im generatorischen Betrieb. Mit einer Anpassung der Drehzahlrampe auf der Basis des Stromes und der
I Million instructions per second / Millionen Befehle pro Sekunde
II Für die Zwecke der vorliegenden Arbeit wird der Begriff „Quasi-Stationär“ eingeführt. Er repräsentiert die Betrachtung der Asynchronmaschine in einem stationären Arbeitspunkt, die Regelung kann als ein dynamisches Springen von einem Arbeitspunkt zum nächsten verstanden werden.
Zwischenkreisspannung ist eine hohe Dynamik in fast allen Betriebspunkten des normalen motorischen Einsatzes erreichbar. Hierzu soll der Motorstrom durch eine Mittelwertbildung unter der Annahme eines sinusförmigen Verlaufs mit entsprechender Umrechnung in Form eines Effektivwerts vorgegeben werden. Als Parameter für die Regelung bleiben dann ein Soll-Motorstrom-Effektivwert und eine maximale Zwischenkreisspannung. Diese Regelung gewährleistet naturgemäß keine stationäre Genauigkeit bezüglich der Drehzahl. Dies soll durch eine überlagerte Drehzalregelung, welche den Schlupf der Maschine durch eine interne Erhöhung der Solldrehzahl ausregelt, kompensiert werden. Bild 1 zeigt die Grundstruktur der Steuerung mit optionaler Drehzahlrückführung.
2.4 Einschränkungen
Durch die stationäre Betrachtung der Maschine sind Drehzahlen nahe dem Stillstand und der Stillstand selbst nicht zu beherrschen. Die Regelung wird eine Untergrenze der einstellbaren Drehzahl beinhalten. Die Regelung kann nur für den Betrieb an einem Motor verwendet werden. Der generatorische Betrieb muss sich auf das Abbremsen der Trägheitsmomente von Maschine und Last beschränken! Dem System darf keine zusätzliche Energie hinzugefügt werden. Dies würde für den Betrieb an einem Chopper auch keinen Sinn machen.
3.1 Erfassung des Motorstroms
Für die Strom-Begrenzung wird unter Annahme einer symmetrischen Maschine der Effektivwert des Motorstroms eines Leiters benötigt. Für die Notabschaltung bei Übertstrom werden 2 Leiter überwacht - der Strom des dritten lässt sich berechnen. Die Digitalisierung der Ströme findet im Highlevel-Interrupt mit 1,25KHz statt. Um die benötigte Rechenleistung zu verringern wurde eine sehr einfache Mittelwertbildung verwendet. Diese bildet die Summe der Beträge aller gemessenen Stromwerte zwischen zwei Nulldurchgängen der Motoransteuerung und dividiert diese dann durch die Anzahl der Messwerte.
Die Anforderungen an Rechenzeit und Speicher reduzieren sich auf ein Mininum. Das Problem dieser Methode liegt darin, dass ein aussagekräftiger Wert für den jeweiligen Strom immer erst nach einem Nulldurchgang verfügbar ist. Dies führt bei niedrigen Drehzahlen dazu, dass die Ergebnisse der Strommessung nicht aktuell genug sind und der Regler den Motor fälschlicherweise beschleunigt und in den Überstrom treibt. Um dieses Problem zu beheben, musste für niedrige Drehzahlen auf eine Rampensteuerung zurückgegriffen werden. Bild 2 zeigt das prinzipielle vorgehen, jeder Pfeil entspricht einer Aktualisierung des Ausgabewertes.
Aus der Annahme eines sinusförmigen I Stromes lässt sich der Zusammenhang zwischen Mittel- und Effektivwert direkt berechnen. Intern arbeitet der Mikrocontroller nur mit Mittelwerten, die Parametrisierung erwartet vom Benutzer die Angabe des gewünschten Effektivstromes, da dieser dem Menschen geläufiger ist. Der Zusammenhang kann wie folgt hergeleitet werden:
I Der eingeprägte Strom konnte durch Messungen als annähernd Sinusförmig bestätigt werden.
Mit dieser Umrechnung ist es möglich, einen gewünschten Maximalstrom als Effektivwert vorzugeben und auf einem Messinstrument direkt abzulesen.
3.2 Erfassung der Zwischenkreisspannung
Die Anpassung des Aussteuergrades der PWM an die Zwischenkreisspannung, und die Begrenzung selbiger im generatorischen Betrieb erfordert eine genaue Erfassung der Zwischenkreisspannung. Sie wird im Highlevel-Interrupt mit 1,25KHz erfasst. Während der Entwicklung kam es bezüglich der Zwischenkreisspannung zu mehreren Problemen, auf die hier detailliert eingegangen werden soll:
3.2.1 Betrieb am Maschinenumformer
Die Anpassung der Pulsweiten bei sinkender
Umformerspannung führt zu einem Verhalten mit positiver Rückkopplung: In jenem Moment, in dem die Spannung absinkt, fordert der Umrichter zusätzlich Strom vom Umformer. Selbiges geschieht in entgegen gesetzter Richtung, wenn die Zwischenkreisspannung aufgrund einer Laständerung ansteigt.
Umformerregelung ist relativ großverglichen mit 1,25 kHz, mit denen der Stromrichter auf eine Spannungsänderung
I Genaue Informationen zur Zeitkonstante der Umformerregelung der Maschinenumformer am ETI konnte auf Anfrage nicht ermittelt werden - sie scheint sich aber jenseits einer Zehntel Sekunde zu befinden.
Quote paper:
Nikias Klohr, 2007, Implementierung einer Drehzahlregelung für umrichtergespeiste Asynchronmaschinen mit einem Mikrocontroller, Munich, GRIN Publishing GmbH
This text can be quoted and accessed from this url:
Embed
DOI
Implementierung eines Software Defined Radio auf einem FPGA
Diploma Thesis, 75 Pages
Erstellung und Programmierung einer Sortieranlage mit der TRYSIM 3D Si...
Computer Science - Programming
Scholarly Research Paper, 57 Pages
Formatvorlage (Microsoft Word) für eine Diplomarbeit, Masterarbeit, Ha...
Für MS Word 2003 - Update 2010
Presentations, Models, Tutorials, Instructions
Elaboration, 25 Pages
Formatvorlage (OpenOffice) für eine Diplomarbeit, Masterarbeit, Hausar...
Presentations, Models, Tutorials, Instructions
Elaboration, 35 Pages
Formatvorlage / Vorlage zur Erstellung einer Diplomarbeit, Bachelorarb...
Presentations, Models, Tutorials, Instructions
Elaboration, 15 Pages
Formatvorlage / Vorlage für eine Diplomarbeit / Hausarbeit
Für MS Word 2007 - dotx
Presentations, Models, Tutorials, Instructions
Elaboration, 25 Pages
Anleitung zum Erstellen schriftlicher Arbeiten: Der Aufbau einer wisse...
Presentations, Models, Tutorials, Instructions
Elaboration, 20 Pages
Erstellen einer schriftlichen Hausarbeit
Presentations, Models, Tutorials, Instructions
Termpaper, 14 Pages
Grundtechniken wissenschaftlichen Arbeitens
Bibliografieren - Reden - Schr...
Presentations, Models, Tutorials, Instructions
Script, 46 Pages
Ratgeber zur Erstellung wissenschaftlicher Arbeiten. Diplomarbeiten - ...
Presentations, Models, Tutorials, Instructions
Elaboration, 39 Pages
Nikias Klohr's text Implementierung einer Drehzahlregelung für umrichtergespeiste Asynchronmaschinen mit einem Mikrocontroller is now available as a printed book
Nikias Klohr has published the text Implementierung einer Drehzahlregelung für umrichtergespeiste Asynchronmaschinen mit einem Mikrocontroller
Nikias Klohr has uploaded a new text
PIC16-Mikrocontroller. Schülerbuch
Elektrotechnik. Geräte- und Sy...
Karsten Bettray, Stefan Jacobs, Thomas Malburg, Stefan Gemmel, Roland Stolzenburg, Nils Weiß
Systemprogrammierung für AVR-Mikrocontroller
Interrupts, Multitasking, Flie...
Manfred Schwabl-Schmidt
0 comments