Dokumentation PDV
Transcription
Dokumentation PDV
PDV-Vertiefungsprojekt Teilautomatisierung eines MB-Trac 800 Projektdokumentation Holger Reinl Axel Meyer Betreut durch: Prof. Linn Inhaltsverzeichnis Inhaltsverzeichnis........................................................................................................................2 Projektbeschreibung....................................................................................................................3 Bedienungsanleitung................................................................................................................... 3 Allgemeine Hinweise zum Fahren.......................................................................................... 3 Starten der Anlage...................................................................................................................3 Menüstuktur der Steuerung..................................................................................................... 3 Technische Dokumentation.........................................................................................................4 Steuerungscomputer................................................................................................................4 50 Pol Sub-D Stecker.......................................................................................................... 4 Servosteuerung und Elektronik............................................................................................... 4 LCD-Display........................................................................................................................... 5 Bluetooth-Adapter...................................................................................................................6 Das verwendete Linux-System............................................................................................... 6 Quellcode-Dokumentation.......................................................................................................... 6 LCD-Display........................................................................................................................... 6 Servo-Steuerung......................................................................................................................7 COMM-API............................................................................................................................ 9 Joystick-API..........................................................................................................................10 Jchart-API............................................................................................................................. 12 GPS-Steuerung......................................................................................................................12 Regelungsalgorithmus...........................................................................................................12 Projektbericht............................................................................................................................ 12 Probleme und ihre Lösungen................................................................................................ 12 Spannungsversorgung....................................................................................................... 12 Speicherlösung.................................................................................................................. 13 Das Servo.......................................................................................................................... 13 Das LCD-Display..............................................................................................................13 Fazit.......................................................................................................................................14 Seite 2 von 14 Projektbeschreibung Ziel des Projekts ist es eine computergestützte Steuerung eines 72 PS starken Traktors zu realisieren. Hierbei soll zunächst die Gassteuerung über ein Servomotor erfolgen. Die Geschwindigkeitsmessung erfolgt per GPS. Das gesamte System wird über einen Industrie PC mit Joystick und LCD Display gesteuert. Auch wenn eine computergestützte Steuerung bei modernen Landmaschinen gängig ist, macht es sinn für alte Traktoren, die zum großen Teil immer noch produktiv eingesetzt werden moderne Technik zur Verfügung zu stellen. Bedienungsanleitung Allgemeine Hinweise zum Fahren Die Automatik Funktionen der Anlage dürfen nur auf nicht öffentlichen Straßen oder Flächen genutzt werden. Zum Fahren auf öffentlichen Straßen ist das Stahlseil welches zum Servo führt über den Federsplint zu entfernen. Vor dem auswählen einer Geschwindigkeit muss ein geeigneter Gang eingelegt werden oder ggf. das Anfahren bis in den gewünschten Gang per Hand erfolgen, da die Schaltung nicht gesteuert werden kann. Starten der Anlage Durch den Spannungswandler von 12V auf 220V ist es erforderlich den Motor zunächst zu starten und danach den Spannungswandler einzuschalten, da sonnst beim Anlassen des Traktors der Computer ausgehen würde. Außerdem ist darauf zu achten dass der Computer während des Startvorgangs vibrationsarm gelagert ist, da sonnst die Festplattenzugriffe fehlschlagen bzw. zu lange dauern. Wenn das System gestartet ist erscheint auf dem LCD-Display ein Menü welches per Joystick bedient werden kann. Manchmal ist es notwendig dass sich der GPS Empfänger zunächst kalibriert. Dies sieht man daran, dass im Menü eine Geschwindigkeit von –0.0 km/h angezeigt wird. Ist dies der Fall muss man solange warten bis gültige Werte angezeigt werden. Menüstuktur der Steuerung Es gibt das Menü Traktorsteuerung, mit den Untermenüs, der Manuellen Steuerung, bei der der Fahrer die Möglichkeit hat, über die Plus bzw. Minus Tasten des Joysticks die Geschwindigkeit zu regeln. Wenn eine bestimmte Geschwindigkeit gehalten werden soll, kann der Feuerknopf am Joystick gedrückt werden und der Traktor hält diese Geschwindigkeit. Das Untermenü Automatikmodus der Traktorsteuerung bietet die Möglichkeit eine Geschwindigkeit über die Joysticktasten vorzuwählen. Nach drücken der Feuertaste wird diese dann angefahren und bei behalten. Das letzte Untermenü bietet die Möglichkeit den Tachomodus auszuwählen und nur die aktuelle Geschwindigkeit angezeigt zu bekommen. Ein weiteres Hauptmenü bietet die Möglichkeit einen Mediaplayer zu starten der wahlweise von USB-Sticks oder von dem internen Speicher MP3s abzuspielen. Da dieser Teil aber nicht direkt zum Projekt gehört wird auf weitere Details verzichtet. Dann gibt es noch den Menüpunkt Herunterfahren um den PC auszuschalten. Dies kann über den Feuerknopf am Joystick ausgelöst werden. Seite 3 von 14 Technische Dokumentation Steuerungscomputer Der Steuerungs-PC besteht aus einem angepassten 19“ Industrie Gehäuse mit normalen 220V Netzteil mit 95W Leistungsaufnahme. Um das Gerät mit Spannung zu versorgen wird ein Spannungswandler eingesetzt. Der PC selbst besteht aus einem ASUS TUSL2-C Rev. 1.04 Mainbaord, 256 MB SD-RAM PC133, einem Intel Celeron 1100Mhz Prozessor, einer S3 Trio32 PCI-Grafikkarte, einer ESS Solo-1 (ES1969) Soundkarte, einer Texas Instruments ACS111 54Mbps WLAN-Karte, einem Timedia Parallel-Port-Controller und einer 10GB FUJITSU Notebook-Festplatte. Außerdem ist noch ein MSI-Bluetooth Adapter am internen USB-Anschluss angeschlossen. Alle Komponenten sind mit Heizkleber fixiert, damit die starken Vibrationen im Betrieb ausgehalten werden können. Außerdem ist die Festplatte mit Einmachgummis in einem Aluminium-Käfig gelagert um etwas die Vibrationen zu dämpfen, die durch den Motor vom Traktor entstehen. 50 Pol Sub-D Stecker Für die Anschlüsse von Stromzufuhr, Servosteuerung und LCD-Stromversorgung wurde ein 50 Pol Sub-D Stecker verwendet, der wie folgt belegt ist: Pin 1 = Servo PWM-Signal Pin 4 = Servo +5V Pin 7 = Servo GND Pin 17 = PWM-Signal der V24-Schnittstelle (+12 V bis -12V) Pin 14 = +5V vom PC Netzteil für das LCD-Display Pin 11 = PC Netzteil GND für das LCD-Display Pin 50-42 = Versorgungspannung GND (nicht mehr verwendet) Pin 41-34 = Versugrungsspannung +12V (nicht mehr verwendet) (Das Zündplus und das VCC sind gekoppelt da der Strom über einen externen Schaltet wird, außerdem sind wegen der Stromstärke so viele Pin's verwendet worden, da aber kein 12V ATX-Netzteil verwendet wird sind diese Pins überflüssig.) Die Servo-Elektronik ist im PC-Gehäuse untergebracht. Servosteuerung und Elektronik Das verwendete Servo hat eine Stellkraft bei 5V von 19kg und bei 6V von 25kg, was auch erforderlich ist, da ein 9kg Servo nicht ausgereicht hat. Um ein möglichst ruhiges und kraftschonendes Stellen des Servos zu ermöglichen wurde das Gaspedal mit einem Stahlseil und einer Scheibe die am Servo montiert ist befestigt. Diese Konstruktion erlaubt eine ruckfreies Stellen in jeder Position. Das verwendete Servo wird über eine Puls-Weiten-Modulation (PWM) geregelt. Hierbei muss ein Rechteck-Impuls im Abstand von 20ms (50Hz) ein Impuls gesendet werden mit einer Länge von 0,9 bis 2,1ms. Der folgende Schaltplan hat die folgende Funktionsweise: Diese Impulse werden über die V.24 Schnittstelle vom PC gesendet. Hierbei ist jedoch zu beachten, dass V.24 Signal eine low-Pegel von –12V und einen high-Pegel von +12V hat. Da der Transistor mit –12V kaputt gehen würde ist eine Sperrdiode vorgeschaltet. Außerdem muss die Schaltung das Signal von +12V auf +5V ummodelieren da sonnst das Servo kaputt gehen würde. Seite 4 von 14 LCD-Display Es kommt ein beleuchtetes LCD-Display vom Typ HD44780 mit 8-Bit und mit 2x40 Zeichen zum Einsatz. Dieses Display kann fast direkt an den Parallelport des Computers angeschlossen werden. Die Ansteuerung geschieht über das LCDproc-Projekt, wobei nur der LCDd-Server genutzt wird. Die Java-Anwendung kann sich direkt über das jLCD mit dem LCDd-Server verbinden. Für die Ansteuerung wurde folgender Schaltplan verwendet und etwas modifiziert: (Quelle: http://www.exclaim.de/howtos/artikel/133_1/4x20-LC--Character-Displayanschliessen---HD44780-Controller.html) Seite 5 von 14 Anstelle des 10K Widerstands wurde ein Drehpotentiometer eingesetzt was die Regelung des Display-Kontrasts ermöglicht. Außerdem wurde die Spannungsversorgung für die Hintergrundbeleuchtung reduziert, da hier blaue LEDs zum Einsatz kommen die nur mit 2,9V betrieben werden dürfen, so dass anstelle des 100 Ohm Widerstands ein 120 Ohm Widerstand verwendet werden muss. Die gesamte LCD-Schaltung befindet sich in einem selbstgebautem Gehäuse im Traktor und wird über einen Sub-D 25 Pol. Stecker angeschlossen. Außerdem benötigt das Modul noch 5V Versorgungsspannung die aus dem PC-Netzteil gewonnen wird. Bluetooth-Adapter Der verwendete MSI-Bluetooth-Adapter kann über Linux ganz einfach eingebunden werden: hcitool scan hcitool cc <mac> rfcomm bind /dev/rfcomm0 <mac> In der Datei /etc/bluetooth/rfcomm.conf können Geräte permanent mit dem System verbunden werden. Dazu muss die Mac-Adresse des Gerätes bekannt sein. Es wird dann sobald es in die nähe kommt als /dev/rfcomm0 eingebunden. Die GPS-Daten können direkt vom Seriellen-Bluetooth Device als endloser Datenstrom gelesen werden. Diese werden dann mit unserem NMEA-Parser ausgewertet. Der verwendete GPS-Empfänger ist ein ASUS BT100 der das Sirf III schon unterstützt. Das verwendete Linux-System Wir haben uns für die Verwendung eines Gentoo-Linux mit Kernel 2.6.20 entscheiden da man dieses genau nach seinen Bedürfnissen anpassen kann, was auch Speicherplatz spart und die Geschwindigkeit erhöht. Außerdem Kommt Java 1.5.0_11 zum Einsatz was uns die Verwendung modernster Programmierelemente ermöglicht. Für die Kommunikation mit dem LCD-Display wird das OpenSource-Projekt jLCD verwendet, für die Kommunikation mit dem RS232-Port eine Bibliothek von SUN und für die Steuerung des Joysticks wird das OpenSource-Projekt Javajoystick verwendet. Näheres erfahren Sie in der Quellcode-Dokumentation. Quellcode-Dokumentation LCD-Display package pdv; import com.colour9.jLCD.LCD; import com.colour9.jLCD.Screen; import com.colour9.jLCD.StringWidget; /** * * @author Administrator */ public class Menu { LCD myLCD = new LCD(13666, "192.168.1.27"); StringWidget Line1 = new StringWidget(1, 1, "MB-TRAC POWER V. 0.1"); StringWidget Line2 = new StringWidget(1,2,"Axel & Holger sind cool!"); /** Creates a new instance of Main */ public Menu() { Screen myScreen = new Screen(); myLCD.addScreen(myScreen); myScreen.setName("Test1"); Seite 6 von 14 myScreen.setHeartbeat("off"); myScreen.setPriority(1000); myScreen.addWidget(Line1); myScreen.addWidget(Line2); } public static Main (String[] args){ Menu mm = new Menu(); mm.Line1.setText("Zeile1 setzen"); mm.Line2.setText("Zeile2 setzen"); } } Servo-Steuerung /* * gas.java * * Created on May 1, 2007, 11:52 AM * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ /** * * @author holger */ package pdv; import java.util.*; import com.sun.comm.*; import javax.comm.*; import java.io.*; import org.apache.log4j.*; public class gas { static gas me = null; // Log4J logger private static Logger logger = Logger.getLogger("gas.class"); // Prozent mit denen am Gas gezogen werden soll int gas = 0; // Angaben ueber den minimalen und maximalen PWM-Puls double minimum = 1.3; double maximum = 2.7; // Frequenz in Hz long freq = 20; static SerialPort sp = null; Timer t = new Timer(); /** Creates a new instance of gas */ private gas(Properties prop) { // Setze meine Argumente logger.debug("Neues Objekt erstellt"); this.minimum = new Double(prop.getProperty("gas_minimum")); this.maximum = new Double(prop.getProperty("gas_maximum")); Seite 7 von 14 this.freq = new Long(prop.getProperty("gas_freq")); try { //sp = new LinuxSerial("/dev/ttyS0"); sp = new LinuxSerial(prop.getProperty("gas_serial_dev")); } catch (IOException ex) { ex.printStackTrace(); } this.run(); } private void sethigh(){ // Diese Methode setzt auf der Schnittstelle ein High-Level if (logger.isDebugEnabled()){ logger.debug("Level auf high gesetzt"); } sp.setRTS(true); } private void setlow(){ // Diese Methode setzt auf der Schnittstelle ein Low-Level if (logger.isDebugEnabled()){ logger.debug("Level auf low gesetzt"); } sp.setRTS(false); } // Muss den Timer Stoppen und keine HIGH-Impulse mehr zulassen public void estop(){ logger.error("NOT-AUS!!!"); } private void run(){ if(logger.isInfoEnabled()){ logger.info("Starte den Timer"); } TimerTask tt = new TimerTask(){ @Override public void run(){ long a = 0; // High setzen der Comm-Schnittstelle sethigh(); a = System.nanoTime(); while (System.nanoTime()-a < (getPW())){ // Mache nix und warte } // Low setzen der Comm-Schnittstelle System.out.println("Fertig :"+new Date()); Seite 8 von 14 setlow(); } }; t.schedule(tt,0,(long)((double)(1.0/freq)*1000)); } private double getPW(){ // Milli-Sekunden Faktor (1 000 000 nano-sekunden => 1mili-sekunde) if(logger.isDebugEnabled()){ logger.debug("Die bei "+gas+" leistung muss der impuls "+((((maximumminimum)/100*gas)+minimum) * 1000)+" MicroSekunden lang sein"); } return (((maximum-minimum)/100*gas)+minimum) * 1000000; } public void setGas(int gas){ this.gas = gas; } public int getGas(){ return this.gas; } // Implemtiere das Singleton-Pattern public static gas getInstance(Properties prop){ if (me == null){ me = new gas(prop); } return me; } } COMM-API Die COMM-API die von SUN zur Verfügung gestellt wird ermöglicht den Zugriff auf die serielle sowie auf die parallele Schnittstelle aus Java heraus. Leider ist diese API nicht Plattform-unabhängig und benötigt andere Dateien für Windows oder Linux. Allerdings ist die API identisch für alle Plattformen die richtigen Verzeichnisse kopiert werden damit die JRE diese auch findet. Unter Linux müssen alle *.so Files in das Verzeichnis /opt/sun-jdk-*/jre/lib/i386/ kopiert werden. import com.sun.comm.*; import javax.comm.*; import java.io.*; Seite 9 von 14 public static Main(String[] args){ sp = new LinuxSerial("/dev/ttyS0"); // High Pegel sp.setRTS(false); // Low Pegel sp.setRTS(true); } Joystick-API Die JOYSTICK-API wird ebenfalls von SUN angeboten und ermöglicht es unter Windows und Linux kinderleicht einen Joystick mit Java zu nutzen. Dazu muss nur die Joystick.jar-Datei in das Projekt eingebunden werden und schon kann es losgehen. Sofort kann man eine Joystick-Listener-Klasse schreiben die auf Joystick-Events wartet und ganz Java konform Methoden aufruft die man selbst bestücken kann. Das einzige was man machen muss ist die Klasse vom Interface JoystickListener abzuleiten. Zuerst muss ein Joystick instanziiert werden Joystick js; try { js = Joystick.createInstance(); js.addJoystickListener(jl); } catch (IOException ex) { ex.printStackTrace(); } Dann Muss noch der Listener Entwickelt werden package pdv; import com.centralnexus.input.Joystick; import com.centralnexus.input.JoystickListener; import java.rmi.RemoteException; /** * * @author holger */ public class MyJoystickListener implements JoystickListener{ int oldbutton = 0; pdv.PDVController c = null; public void joystickAxisChanged(Joystick joystick) { /* double value =0; value = joystick.getY(); if (value > 0) { value = 0; } value = (value*-100); Seite 10 von 14 try { c.setJoyGas(value); } catch (Exception ex) { ex.printStackTrace(); } */ } public void joystickButtonChanged(Joystick js) { int newbutton = js.getButtons(); //c.mm.Line1.setText("Button ->"+js.getButtons()); // Zustandsaenderung if (oldbutton != newbutton){ System.out.println("Button ->"+newbutton); if (newbutton == 15){ c.oben(); } else if (newbutton == 11){ c.rechts(); } else if (newbutton == 3){ c.links(); } else if (newbutton == 7){ c.unten(); } // Launch else if (newbutton == 1){ c.launch(); } else if(newbutton == 4){ c.inkr(); }else if(newbutton == 8){ c.dekr(); }else if(newbutton == 2){ c.notaus(); } } } /** Creates a new instance of MyJoystickListener */ public MyJoystickListener(pdv.PDVController c) { this.c = c; } } Seite 11 von 14 Jchart-API Diese API erlaubt es dem Benutzer sehr einfach mit swing Charts zu erstellen. Für unsere GUI haben wir es verwendet um die Geschwindigkeit die Servostellung und die Servo Änderung zu visualisieren. Leider ist diese API nicht ganz einfach zu verstehen aber wenn man sich ein bisschen hineinversetzt hat gelingt es einem doch. Das Howto gibt es unter: http://jcharts.sourceforge.net/userGuide/exportingImages.html GPS-Steuerung Das Parsen der NMEA-Daten erfolgt in der Klasse NMEAParser die in einem eigenständigen Thread läuft. Da die NMEA-Daten unter Linux, aus einem Gerät (Device) , wie aus einer Datei eingelesen werden. Da die Daten kommaseperiert sind gestaltet sich das Parsen sehr einfach. Mit der Java-Split-Funktion lassen sich die Strings sehr einfach in die einzelnen Datenfelder zerlegen. Regelungsalgorithmus Der von uns verwendete Regelungsalgorithmus basiert auf einem P-Regler bei dem die Ableitung der vorherigen Servostellung mit einem von der Geschwindigkeitabweichung abhängigen Faktor multipliziert wird. Servostellung = AlteServostellung + (AlteServostellung – NeuBerechneteServostellung) * GeschwindigkeitsDifferenzFaktor Projektbericht Probleme und ihre Lösungen Während des Entwickeln hatten wir sehr viele Probleme die durch den extremen Einsatzort des Systems entstanden sind. Da diese Probleme in der Endfassung unseres Projekts evtl. nicht mehr nachzuvollziehen sind aber dennoch einen Großteil unserer Projektarbeit ausmachten sollten diese an dieser Stelle noch erwähnt werden. Spannungsversorgung Da auf dem Traktor nur 12V Versorgungsspannung zur Verfügung stehen ist es erforderlich passende Spannungswandler einzusetzen. Zunächst wurde von uns ein spezielles KFZNetzteil mit 180W Leistung verwendet. Dieses Netzteil sollte die Eigenschaften haben direkt an die Batterie des Traktors angeschlossen zu werden und z.B. Spannungsschwankungen beim Anlassen auszugleichen. Außerdem sollte es eine Tiefentladung des Akkus vermeiden. Jedoch kam das Netzteil sehr schnell an seine Grenzen. Wenn das Servo beim Starten des Computers schon angeschlossen war hat meistens der Startstrom nicht mehr ausgereicht, so dass das Servo erst vom PC getrennt werden musste bis er gestartet war. Das machte natürlich das Testen sehr mühsam. Nach einiger Zeit des Betriebs kam jedoch weißer Rauch aus dem Gehäuse und nichts ging mehr. Das Netzteil hat die Belastung nicht ausgehalten. Da wir mit dem Ursprünglichen 95W Netzteil überhaupt keine Probleme bislang hatten obwohl es gute 85W weniger Leistung hatte entschlossen wir uns einen KFZSpannungswandler einzusetzen, der aus 12V Spannung 220V für das normale Netzteil erzeugte. Der Spannungswandler wird jedoch sehr heiß. Außerdem kommt es durch die nicht vorhandene Erdung zum Teil zu heftigen Kriechströmen die das berühren der Metallflächen am Traktor nicht gerade angenehm gestalteten. Außerdem kam es zu Aussetzern am LCDSeite 12 von 14 Display durch die Kriechströme. Daher ist das Gehäuse über ein Erdungskabel mit dem Traktor zu verbinden. Speicherlösung Da Notebook-Festplatten die starken Erschütterungen und Vibrationen nicht kompensieren können entscheiden wir uns für einen Flash-Speicher der mit einem IDE-Adapter an das System angeschlossen wurde. Das Problem ist jedoch, dass die Speicherkarten nur eine begrenzte Lebensdauer bezüglich ihrer Schreibzugriffe haben, so dass alle Log-Files, SWAPFiles und Temporären Zugriffe ausgeschaltet werden müssen. Ein RamDrive kann man unter Linux mit dem Befehl mount -t ramfs none /mnt/[Mountpoint] anlegen.Dabei ist -t der FileSystemtyp none das Gerät und Mountpoint die Stelle im Dateisystem an dem das Verzeichnis angehängt werden soll. Die Karten haben jedoch das Problem dass diese nicht persistente Daten haben und sehr empfindlich auf Rechnerabstürze sind. D.h. es sind permanent Filesystem-Checks notwendig, die nicht im Traktor durchgeführt werden können. Daher entschlossen wir uns doch eine Notebook-Festplatte zu verwenden. Eine Schaumstofffederung reichte nicht um die Vibrationen auszugleichen. Wir haben daher eine Aufhängung mit Einmachgummis und Bleigewichten als Masse entwickelt, die Vibrationen ausgleichen sollen. Es ist jedoch immer noch erforderlich den Rechner beim Hochfahren im Traktor in der Hand zu halten um die Vibrationen auszugleichen. D.h. bei jeder Programmänderung musste der Rechner neu gestartet werden und dabei Hochgehalten werden was jeden Testlauf extrem rauszögerte. Um das Problem weiter zu verhindern haben wir die Festplatte direkt nach dem Booten in den Schlaf-Modus geschickt, also den Motor ausgeschaltet, da während der Ausführung des Programms die Festplatte nicht benötigt wird. Diesen Sleep-Modus kann man unter Linux mit dem Befehl „hdparm -y /dev/hda“ einleiten. Wenn wieder eine neue Programmversion kopiert werden muss, muss der Computer aus dem Gehäuse genommen werden damit die Festplatte wieder anlaufen kann. Das funktionierte recht gut, jedoch auch nicht dauerhaft, so dass nach ca. 5 Kopiervorgängen der Computer neu gestartet werden muss. Das war aber dennoch eine erhebliche Arbeitserleichterung für uns. Das Speicherproblems ist so noch nicht perfekt gelöst, jedoch verkraftbar, da jetzt das Programm nicht mehr getestet werden muss und während des Betriebs die Festplatte ausgeschaltet bleiben kann. Das Servo Bei der Ansteuerung des Servos hatten wir zunächst das Problem das die Genauigkeit des Signals nicht ausreichend war. Das konnten wir sehr gut mit einem Oszilloskop eingrenzen und beheben. Ein weiteres Problem war, das das ursprüngliche Servo mit 9kg Zugkraft nicht ausreichte aber das neue mit 19kg Zugkraft zu viel Einschaltstrom gezogen hat, so dass der Rechner nicht richtig startete. Das LCD-Display Die Schwierigkeit das LCD anzusteuern erwies sich leider als viel größer als zunächst gedacht. Leider gibt es für Java keine API die auch nur annähernd als stabil gilt, allerdings von den unstabilen dafür mehr als man möchte. Zunächst haben wir uns dazu entschieden den LCDd zu verwenden weil er für eine saubere Architektur steht und sich so theoretisch mehrere Anwendungen das Display teilen können. Nach tagelangen Recherchen haben wir dann endlich die API jLCD gefunden, und nach weiteren Tagen und der Anpassung der Beispielanwendung konnten wir endlich das Display nach unseren Vorstellungen ansprechen. Seite 13 von 14 Fazit Auch wenn das Projekt sehr viele unerwartete Probleme bereitete haben wir viel gelernt. Insbesondere das austüfteln in der extremen Umgebung war eine Herausforderung. Außerdem ist dieses Projekt eines der wenigen FH-Aufgaben die auch nach der Abgabe Anwendung finden werden. Was die Funktionalität betrifft gibt es zwar bei modernen Traktoren schon solche Systeme jedoch, gibt es immer noch sehr viele alte Maschinen die noch im professionellen Einsatz sind. Daher ist es sinnvoll für diese Nachrüstungs-Möglichkeiten zu bieten. Außerdem bietet dieses Projekt durch den vielseitig einsetzbaren Computer Erweiterungsmöglichkeiten die ggf. später dazu entwickelt werden können. Holger im MB-Trac Kommandozentrum Axel beim Nachmessen der Rechtecksignale Seite 14 von 14