Ziel der Entwicklungsarbeit sollte es sein, einen Antriebscontroller zu designen. Dieser sollte als Basis für einen Praktikumsversuch zum Thema „Fuzzy-Regelung“ dienen. Die Studenten sollten dabei die Möglichkeit haben, eigene Regelungen zu erstellen und in einer realen Hardware-Plattform auszutesten. Eine (Echtzeit-)Visualisierung sollte weiterhin ermöglichen, direkte Rückschlüsse auf die Qualität der erstellten Regelung zu ziehen.
Als zusätzliche Forderungen standen:
= Zusammenarbeit mit den vorhandenen CAN [1]-Komponenten,
= Nutzung von fuzzyTech® zur Implementierung veränderlicher Fuzzy-Regeln,
= Ansteuerung der vorhandenen Linearachse unter Beibehaltung des Servoverstärkers und
= effiziente Nutzung der gerätetechnischen Ressourcen beim Entwurf der Platine.
Inhaltsverzeichnis
1. Aufgabenstellung
1.1. Eingrenzung des Aufgabenumfanges
2. Voruntersuchungen
2.1. Linearachse
2.2. Servoverstärker
2.3. Feldbussystem
2.4. Mikrocontroller
2.5. Software
3. Konzept des Antriebscontrollers
3.1. Hardware
3.2. Software
4. Hardwareumsetzung
4.1. Entwurf
4.1.1. Vorüberlegungen
4.1.1.1. Platine
4.1.1.2. Bauteile
4.1.1.3 Schnittstellen
4.1.2. Baugruppen
4.1.2.1. Netzteil
4.1.2.1.1. 5V-Versorgung
4.1.2.1.2. 12V-Versorgung
4.1.2.2. Mikrocontroller
4.1.2.2.1. Blockschaltbild
4.1.2.2.2. Takterzeugung
4.1.2.2.3. RESET-Logik
4.1.2.2.4. Programmier-Spannung
4.1.2.2.5. BDM-Interface
4.1.2.2.6. Digitale Ein-/ Ausgänge
4.1.2.3. CAN-Interface
4.1.2.4. RS232
4.1.2.5 Analogausgang
4.1.2.6. Externe Logik
4.1.2.6.1. Hardware
4.1.2.6.2. Software im EPLD
4.2. Realisierung
4.2.1. Bauteilbeschaffung
4.2.2. Platine
4.2.3. Bestückung
4.2.3.1. Durchkontaktierungen
4.2.3.2. SMD-Bauelemente
4.2.3.3. Konventionelle Bauelemente
4.2.4. Elektrische Prüfung
4.2.5. Funktionsprüfung
5. Softwareumsetzung
5.1. Architektur des Mikrocontrollers
5.1.1. CPU12
5.1.2. Digitale Portpins
5.1.3. Registerblock
5.1.4. Betriebsarten
5.1.5. Flash EEPROM
5.1.6. EEPROM
5.1.7. RAM
5.1.8. Interrupt- und RESET-Logik
5.1.9. Timer
5.1.10. PWM
5.1.11. Serielles Interface
5.1.12. CAN-Controller
5.1.13. A/D-Wandler
5.2. Software im Mikrocontroller
5.2.1. Protokolldefinition
5.2.1.1. Befehlsvorgabe
5.2.2. Deklarationen
5.2.3. Beschreibung der Unterprogramme
5.2.3.1. Unterprogramm ‘Absolut_Pos’
5.2.3.2. Unterprogramm ‘Regelung’
5.2.3.3. Unterprogramm ‘send0’
5.2.3.4. Unterprogramm ‘Start_Ini’
5.2.3.5. Unterprogramm ‘Abstand’
5.2.3.6. Unterprogramm ‘Test_CAN’
5.2.3.7. Unterprogramm ‘initall’
5.2.3.8. Unterprogramm ‘_hc12’/ Quelltext „hc12.s“
5.2.3.9. Unterprogramm ‘_inithc12’/ Quelltext „hc12.s“
5.2.4. Hauptprogramm
5.3. Software im EPLD
5.3.1. Richtungs-Diskriminator
5.3.2. 24Bit-Zähler
5.3.3. Register bzw. Adreßdekoder
5.3.4 Zusammenwirken der Teilkomponenten
6. Umsetzung in Praktikumsversuch
6.1. Konzept
6.1.1. Hardware
6.1.2. Software
6.1.2.1. Visualisierungssoftware
6.1.2.2. fuzzyTech®
6.1.2.3. Compiler
6.1.2.3.1. Batch-Datei
6.1.2.3.2. Link-Definition-File
6.1.2.3.3. Initialisierungsroutine „crts.s“
6.1.2.4. Debugger/ Downloader
6.2. Kurzbeschreibung des Praktikumsversuches
6.2.1. Versuchsvorbereitung
6.2.2. Generierung der Regeln
6.2.3. Übertragen des Regelwerkes
6.2.4. Evaluierung der Regelung
7. Ergebnis
7.1. Nebenentwicklung
8. Ausblick
Anhang A - Stromlaufpläne und Fertigungsunterlagen
A1. Stromlaufpläne
A1.1. Stromversorgung
A1.2. Mikrocontroller
A1.3. BDM-Interface/ RESET
A1.4. Schnittstelle CAN
A1.5. Digitale I/O
A1.6. Analogausgang
A1.7. Encoder-Auswertung
A1.8. Alternative Kommunikationskomponenten
A2. Fertigungsunterlagen
A2.1. Durchkontaktierungen
A2.2. Bestückungsplan
A2.3. Layout
A2.4. Stückliste
Anhang B - Software
B1. Mikrocontroller
B1.1. Programmablaufpläne
B1.1.1. Hauptprogramm
B.1.1.2. Unterroutine ‘_main’
B.1.1.3. Unterroutine ‘initall’
B.1.1.4. Unterroutine ‘_inithc12’
B.1.1.5. Unterroutine ‘Absolut_Pos’
B.1.1.6. Unterroutine ‘Test_CAN’
B.1.1.7. Unterroutine ‘Start_Ini’
B.1.1.5. Unterroutine ‘send0’
B.1.1.6. Unterroutine ‘Regelung’
B1.2. Quelltexte
B1.2.1. Quelltext von „iob32can.s“
B1.2.2. Quelltext des Hauptprogrammes
Unterroutine ‘Absolut_Pos ‘
Unterroutine ‘Regelung‘
Unterroutine ‘send0‘
Unterroutine ‘Start_Ini‘
Unterroutine ‘Abstand‘
Unterroutine ‘Test_CAN‘
Unterroutine ‘initall‘
B1.2.3. Quelltext von „hc12.s“
Unterroutine ‘_hc12’
Unterroutine ‘_inithc12’
B1.2.4. Quelltext von „crts.s“
B 2. EPLD
B2.1. Übersichtsbild
B2.2. Richtungsdiskriminator
B2.3. 24Bit-Zähler
B2.4. Register/ Adreßdekoder
B2.5. Projektdatei
B3. Software zur Programmierung (PC)
B 3.1. Quelltext von „f_prakt.bat“
B3.2. Quelltext von „linkdef.asm“
Anhang C - Versuchsanleitung für Praktikumsversuch
C1. Praktikumsanleitung
C2. Adressliste
C3. Kabelverbindungen und Jumper
Zielsetzung & Themen
Die Diplomarbeit hat das Ziel, einen Antriebscontroller mit CAN-Interface zu entwickeln, der als Hardware-Plattform für einen Praktikumsversuch zum Thema Fuzzy-Regelung dient und eine Echtzeit-Visualisierung der Regelung ermöglicht.
- Entwicklung und Schaltungsentwurf eines Antriebscontroller-Boards
- Implementierung von Fuzzy-Regelalgorithmen mittels fuzzyTech®
- Integration einer CAN-Bus-Schnittstelle zur Kommunikation
- Hardwarenahe Programmierung des Mikrocontrollers in Assembler
- Konzeption eines Praktikumsversuchs zur Evaluierung der Regelgüte
Auszug aus dem Buch
3.2. Software
Der Antriebscontroller arbeitet ähnlich einer klassischen SPS. Der Mikrocontroller liest also zu Beginn jedes Programmzyklusses Vorgaben über das CAN-Interface sowie die digitalen und analogen Eingänge ein. Dann erfolgen die Behandlung der Sollvorgaben durch den Feldbus und die Berechnung der Stellgrößen durch den Fuzzy-Algorithmus. Nach einer Prüfung der Grenzwerte erfolgt, so eine Stellwertausgabe erlaubt ist, das Setzen der Ausgangswerte. Letztlich werden die aktuellen Istwerte auf den Feldbus ausgegeben, bevor die Prozedur wieder von vorn beginnt.
Dieses Konzept hat sich in der Praxis ausreichend bewährt, und die Leistungsfähigkeit des Mikrocontrollers in Verbindung mit der restlichen Peripherie erlaubten es, auf komplizierte Interrupt-Behandlungen und Multitasking zu verzichten.
Zusammenfassung der Kapitel
1. Aufgabenstellung: Definition des Themas Antriebscontroller und Festlegung der Anforderungen an den Schaltungsentwurf, den Aufbau sowie die Erstellung eines Praktikumsversuchs.
2. Voruntersuchungen: Analyse vorhandener Komponenten wie Linearachse, Servoverstärker und CAN-Bussystem zur Kosten- und Qualitätsoptimierung im Entwurf.
3. Konzept des Antriebscontrollers: Beschreibung des systemweiten Hard- und Softwarekonzepts, einschließlich der Signalaufbereitung und der zyklischen Programmablaufstruktur.
4. Hardwareumsetzung: Detaillierte Erläuterung des Entwurfs, der Fertigung der Platine und der elektrischen sowie funktionalen Prüfung der einzelnen Baugruppen.
5. Softwareumsetzung: Detaillierte Vorstellung der Mikrocontroller-Architektur und der in Assembler implementierten Unterprogramme sowie der Logik im EPLD.
6. Umsetzung in Praktikumsversuch: Anleitung zur praktischen Anwendung des entwickelten Systems, inklusive Visualisierung, Compilierung und Evaluierung des Regelverhaltens durch Studierende.
7. Ergebnis: Zusammenfassung der erfolgreich realisierten Vorgaben sowie kurze Erwähnung einer Nebenentwicklung zur Feldbusanbindung.
8. Ausblick: Hinweise auf potenzielle Weiterentwicklungen und Optimierungsmöglichkeiten für zukünftige Arbeiten.
Schlüsselwörter
Antriebscontroller, CAN-Interface, Fuzzy-Regelung, Mikrocontroller, MC68HC912BC32, Assembler, Linearachse, Servoverstärker, Praktikumsversuch, EPLD, EPM7128, Echtzeit-Visualisierung, Hardware-Plattform, Regelalgorithmen, Digitale Schaltungstechnik
Häufig gestellte Fragen
Worum geht es in der Arbeit grundsätzlich?
Die Arbeit beschäftigt sich mit dem Entwurf und der Realisierung eines Antriebscontrollers mit CAN-Interface, der speziell als Basis für einen universitären Praktikumsversuch konzipiert wurde.
Was sind die zentralen Themenfelder?
Zu den Schwerpunkten gehören das Hardware-Design für eingebettete Systeme, die Implementierung von Fuzzy-Logik zur Antriebssteuerung und die Einbindung in industrielle Bussysteme wie den CAN-Bus.
Was ist das primäre Ziel oder die Forschungsfrage?
Das Hauptziel war die Entwicklung einer realen Hardware-Plattform, die es Studierenden ermöglicht, eigene Fuzzy-Regelungen zu entwerfen, zu implementieren und deren Qualität in Echtzeit zu visualisieren.
Welche wissenschaftliche Methode wird verwendet?
Es wurde ein systematischer Ingenieursansatz gewählt, bestehend aus Voruntersuchungen, Schaltungsentwurf, manueller Leiterplattenfertigung, Assembler-Programmierung für den Mikrocontroller und funktionaler Validierung.
Was wird im Hauptteil behandelt?
Der Hauptteil gliedert sich in die Hardwareumsetzung mit Entwurfsentscheidungen und Bestückung sowie die detaillierte Softwareumsetzung für den Mikrocontroller (einschließlich Protokolldefinition) und den EPLD.
Welche Schlüsselwörter charakterisieren die Arbeit?
Die Arbeit ist gekennzeichnet durch Begriffe wie Antriebscontroller, CAN-Interface, Fuzzy-Regelung, MC68HC912BC32, Mikrocontroller und Praktikumsversuch.
Warum wurde für die Implementierung der Logik ein EPLD gewählt?
Der EPLD (EPM7128) wurde gewählt, um die zeitkritische Aufbereitung der inkrementellen Encoder-Signale durch eine synchrone Logik zuverlässig zu lösen und eine Entlastung des Mikrocontrollers zu erreichen.
Welche Rolle spielt fuzzyTech® in dieser Arbeit?
fuzzyTech® dient als Entwurfswerkzeug zur graphischen Generierung der Fuzzy-Regelwerke, aus denen automatisch der für den 68HC12 benötigte Assembler-Code erzeugt wird.
- Arbeit zitieren
- Jörg Böttge (Autor:in), 2000, Antriebscontroller mit CAN-Interface, München, GRIN Verlag, https://www.grin.com/document/8754