CAN bus robot project
Betreuer: ulrich.unterhinninghofen@tum.de
Informationen zu dem EvalutaionBoard
Hardware
Die Grundlegenden Fragen für den Aufbau der Hardware (Prozessorplatine) ist abgeschlossen. Folgende Eigenschaften werden von der Hardware gefordert:
* Microcontroller mit CAN-Bus Funktion und FPU
Als Microcontroller wird der Fujitsu MB90487G verwendet. Das Layout für die Platine wird teilweise vom bereits bestehenden Evaluationboard übernommen. CAN-Bus-Schnittstelle bereits vorhanden, aber Tranceiver benötigt. Es wird der 82C251 von Philips verwendet.
* Encoderfunktion
Das Encoden der Incrementalgeber vom Motor sollte ursprünglich der MB90350 Microcontroller übernehmen, da dieser die geforderten 4 internen Counter besitzt. Durch einiger Probleme bezüglich Beschaltung, Detektion der Drehrichtung und vor allem wegen der Probleme mit der Lieferzeit des MB90350 wird auf einen externen Encoder zurückgegriffen.
Es kommt der HCTL-2032 Encoderbaustein von Agilent zum Einsatz. Auswahlkriterien waren der günstiger Preis und die 2 integrierten Encoder pro Baustein.
* Programmierung des Microcontrollers über die Serielle Schnittstelle
Die Programmierung des Microcontrollers soll über die Serielle Schnittstelle erfolgen. Der Microcontroller ist mit einer Seriellen Schnittstelle ausgestattet es wird aber ein Pegelwandler MAX232 benötigt. Zur Programmierung müssen auch einige Eingänge am Microcontroller auf Masse oder Vss gezogen werden um in den Programmiermodus zu wechseln. Die Programmierung erfolgt mittels einer zusätzlichen Programmierplatine, die einen D-Sub-Stecker vom PC aufnehmen kann, den Pegelwandler enthält und beim Aufsetzen auf den vorgesehenen Pfostenstecker auf der Hauptplatine bereits den Microcontroller in den Programmiermodus versetzt.
* Ansteuerung des Motorverstärkers
Der Motorverstärker soll galvanisch von der Microcontrollerspannung getrennt sein, damit eventuelle Fehler nicht den Microcontroller erreichen. Die Ansteuerung des Motorverstärkers (PWM + Signalleitungen) erfolgt über Optokoppler mit TTL-Ausgang.
* Auslesen des Motorstroms (Drehmoment)
Für das Zurücklesen des Motorstroms ist noch keine Lösung akzeptabel, da einfache Lösungen die Potentialtrennung verletzten und aufwändigere Schaltungen den Low-cost-Rahmen sprengen. Es wird darauf hinauslaufen, dass ein Port des A/D-Wandlers des Microcontrollers nach außen geführt wird. Die Schaltung kann somit durch externe Elemente erweitert werden.
* Zentrale Spannungsversorgungsplatine
Die Spannungsversorgung für die Elektonik aller Radmodule erfolg über eine zentrale Platine.
Die komplette Schaltung wird zuerst als Schaltplan im Programm Target3001 (Freeware) unter Windows gezeichnet und anschließend das Platinenlayout erstellt. Die Platine wird von einer externen Firma gefertigt und soll das Euro-Kartenformat erhalten. Darauf sollen auch die Adapterplatinen für den Microcontroller und die Programmierplatine Platz finden.
Microcontroller Program
Die zur Verfügung stehende Unterlage:
Regelung Struktur (alt)
Modellierung vom einzelen Rad (system Model)
Code für Microcontroller (alt)
Zu entwickelnde Aufgabe:
Das neue Konzept der Regelung zu untersuchen
Zu neuem Mikroprozessor und Regelung passende Programme zu entwickeln
Kommunizierung zwischen Host PC und Mikroprozessor zu implementieren
Hinweis zur Programmierung:
Quelle Test erstellen
compile mit "Strg_Alt_F5", nicht mehr nötig mit "Bat" file durchzuführen
Umschalten zum Programmierung Mode : Schalter unten drucken, dann "Blau" Tastatur zwei mal drucken
Code übertragen zu Flash mit mitgeliefertes Tool
Mikroprozessor laufen lassen: Schalter nach oben drucken, dann "Blau" Tastatur ein mal drucken zu starten
PC Program
PCI CAN Bus Karte: http://www.peak-system.com/index_de.html
Linux Treiber: http://www.peak-system.com/linux/index.htm
