| 9. | Planung der Vorgehensweise |
|---|---|
| 10. | Vorrausetzungen |
| 11. | Programmierung |
| 12. | End-Programm |
| 13. | Installation | |
|---|---|---|
| 14. | Datenbank einrichten, verwalten | |
| 15. | Verbindung | |
| 16. | Web-Presentation |
| 17. | Download |
|---|
Unsere Aufgabe war es, eine Schaltung zu planen mit der wir eine Spannung, mit Hilfe eines Temperatursensors, verstaerken oder verringern koennen. Die Spannung soll, abhaengig der Temperatur am Sensor, verstärkt bzw. verringert werden. Die Verstaerkung soll durch einen OP gesteuert werden. Als Erweiterungsmoeglichkeit soll ein Ausgang die Moeglichkeit geben, den Differenzverstaerker mit einem ADW (Analog Digital Wandler) zu verknuepfen. Das Spezielle an dieser Platine ist der Betrieb via USB-Funktion, das bedeutet die Platine benötigt lediglich eine Versorgungsspannung, Datenleitung und eine Masseleitung
Die Planung fuer die Herstellung der Platine sowie die des Layouts und der Schaltung haben wir vorher ueberlegt und ausgemessen. Bevor wir die Platine zuschneiden konnten mussten wir das Layout, mit Hilfe der Schaltung, erstellen und die Maske fuer die Platine uebertragen. Erst dann konnten wir die Platine zuschneiden und anpassen.
Die unten gezeigte Schaltung dient als Vorlage fuer das Layout, das spaeter mit Sprint Layout erstellt werden soll.

Temperatursensor LM35 fuer das Ablesen der Temperatur


Bei der Entwicklung des Layouts ist zu berücksichtigen, dass man wenig Platz
verschwendet, die Leiterbahnen nicht zu dicht neben einander legt und das man
wenig Brücken benutzt. Eventuell sollte das Raster dem der Platine, sofern das
eine Lochplatine ist, einhalten damit wir später keine Probleme bei der
Bestückung bekommen.
Download V.: 1.0 LAyOut

Komplette Platine mit Bauteilen und Kupferschicht.

Platine mit Bauteilen und Leiterbahnen.
| Anzahl | Bauteil/Name | Preis/€ |
| 2 | 100 Ohm Widerstaende | 0,092 €/Stück |
| 1 | 330 Ohm Widerstaende | 0,092 €/Stück |
| 1 | 820 Ohm Widerstaende | 0,092 €/Stück |
| 1 | 1.3k Ohm Widerstaende | 0,092 €/Stück |
| 1 | 3.9k Ohm Widerstaende | 0,092 €/Stück |
| 1 | 4.7k Ohm Widerstaende | 0,092 €/Stück |
| 1 | 27k Ohm Widerstaende | 0,092 €/Stück |
| 2 | 100n Kondensatoren | 0,18 €/Stück |
| 1 | 100u (+25V) Elektro-Kondensator | 0,26 €/Stück |
| 1 | 1u (+25V) Elektro-Kondensator | 0,26 €/Stück |
| 1 | LM35 Temperaturfühler | 0,61 €/Stück |
| 1 | EC Sockel (DIM 14) | 0.031 €/Stück |
| 1 | LMC 6484 | 6,27 €/Stück |
| 1 | 280 Ohm Potentiometer | 0,61 €/Stück |
| 3 | Anschlussbuchsen (rot, gelb, schwarz) | 0,61 €/Stück |
Bei der Bestueckung sollten wir darauf achten, dass wir bei der Bohrung der Loecher die richtige Lochgroesze haben und das wir senkrecht zur Platine bohren. Tip:Die Befestigung der Platine erleichtert das bohren und an die Bohrunterlage denken, sonst gibt es Loecher im Tisch. Ansonsten einfach die richtigen Bauteile in die gebohrten Loecher einsetzen und sorgfaeltig loeten. Probleme koennten die Bauteile: Potentiometer, EC-Sockel und die Anschluss-Kabel machen, da diese etwas schwieriger zu montieren sind.


Wir suchen die Platine nach eventuellen Fehlern durch. Dabei achten wir auf Leiterbahnen die Kurzschluesse bilden koennen, auf die Pins des OP's die man leicht verwechseln kann und auf die Groesze der Widerstaende. Das zaehlen der Bauteile und das Vergleichen mit dem Bestueckungsplan sollte ebenfalls durchgefuehrt werden. Kalte Loetstellen sollten behoben und Loetnasen vermieden werden. Nach der Fehlersuche beginnen wir mit der Pruefphase. Hierbei schlieszen wir die Platine ohne EC an. Kritisch beobachten wir die Messgeraete nach eventuellen Kurzschluessen. Mit Messspitzen tasten wir uns durch die Leitungen und ueberpruefen Teilspannungen und Strom.
Bei dem Abgleich ist zu beachten, dass die nötigen Schritte langsam und genau erfüllt werden müssen,
um einen genauen und angepassten Wert zu bekommen. Die Schwierigkeit liegt darin,
die Spannung an die Temperatur anzupassen=>Multiplikatoreffekt beachten und eine genaue Berechnung
ist wichtig.
Um Abgleichen zu können benötigen wir:
- unsere Platine
- Externe Temperaturfühler (Thermometer)
- Strom/Spannungsquelle (Netzgerät)
- Anschluss- Kabel
- Oszilloskop
- Stoppuhr
- Spannung-/Strommessgerät
- Papier und Stift ggf. Taschenrechner
Wir schließen unsere Platine an die Strom und Spannungsquelle an, dabei müssen wir die
Farbe der Anschlüsse beachten.
Schwarz muss in die Masse, Rot an +5Volt und Gelb an das Messgerät bzw. Oszilloskop
Nun zum eigentlichen Abgleich. Temperaturfühler (Platine) und Temperaturfühler (extern) stehen nebeneinander
=>besitzen somit die gleiche Temperatur (zzg. Toleranz). Wir entscheiden uns für eine Hand (die wir für das erwärmen
immer einsetzen) und erwärmen den Temperaturfühler (extern) solange bis die anzeige nicht mehr steigt.
Dabei aufmerksam auf die Uhr achten und Zeit stoppen. Nun den gleichen Prozess mit dem Temperaturfühler (Platine)
durchführen und die Spannung mit aufschreiben. Bemerken wir den gleichen Anstieg der Spannung wie bei der Temperatur
so müssen wir nichts großartig ändern. In der Regel ist dies nicht der Fall. Entweder ist der gemessene Wert höher oder
niedriger als erwartet
um ihn abzustimmen müssen wir unsern Potentiometer fein drehen und erneut testen. Dabei alle
Veränderungen
aufschreiben um eine Umrechnung für den Ideal Wert zu berechen. Die Berechnung wir durch eine Simple Differenzrechnung
berechnet. Nach erfolgreichen Abgleichen ist unsere Platine von der Funktion her fertig.
Bei der letzten Pruefung gehen wir systematisch durch die Leiterbahnen und messen die Spannungen sowie die Teilspannungen nochmals. Jetzt können wir auch den IC installieren und am Ausgang messen.
Bei der Planung sollten wir darauf Achten:
WAS wir programmieren möchten
WIE wir dieses Programm realisieren können
WELCHE Programmiersprache wir verwenden
WAS:
Wir möchten eine Software programmieren, die mit unserer Platine Kommunizieren kann
und die die empfangenen Daten auswertet und gegebenenfalls an ein Webserver weiterleitet um die Daten anschaulich im Internet praesentieren zu können.
Das Programm soll die Werte program-intern anzeigen können, um Vorort aussagekräftige Zahlen bzw.
Grafiken anzeigen zu können.
Das Programm soll auch Veränderungen vornehmen können, die wir per Software einstellen.
Bei Fehler soll unser Programm eine Meldung geben.
WIE:
Wir können die vorgegebene Software des Herstellers einschließlich der Platine nutzen um uns einen
klaren Überblick zu verschaffen wie sollch ein Programm aufgebaut ist.
Wir bilden einen Algorithmus um unsere Programmierung zu erleichtern und erstellen eine Darstellung
wie unser Programm aussehen soll.
WELCHE:
Wir haben die Auswahl zwischen C++ oder Visual Basic. Mit den Vorkenntnissen die
wir in IVI bei Herr Wolter erreicht haben, ist es angebracht die Programmiersprache
C++ zu wählen.
Die Vorraussetzungen für die Programmierung ist die Kenntnisse in der gewählten Sprache.
Bei der Programmiersprache ist zu beachten ob gewisse Funktionen die wir realisieren wollen, auch erfüllt werden können.
Es sollte ein Algorithmus für die jeweilige Sprache erstellt werden und eine Strukturierte Darstellung des Aufbaus.
Die Software für die Programmiersprache sollte vorhanden sein und ein fähiger Compiler
der die Programmierung in ein Programm wandelt.
Eine weitere Vorraussetzung ist die fertige Platine die wir erstellt haben.
Diese sollte abgeglichen sein und reibungslos laufen.
Zu guter letzt benötigen wir die von Herr Bock gestellte Platine mit der Umwandlung von analog in Digital um
die Daten auch Auswerten zu lassen.
Ich habe mich für die C++ Builder Sprache entschieden und werde das Softwareinterface darauf aufbauen.
Um eine korrekte und funktionale Programmierung durchführen zu können, müssen wir als erstes die Verbindung zwischen Platine und PC herstellen.
Dazu habe ich eine Foto-Zeichnung erstellt, welches diese Verbindung vereinfachen soll.
1.Die Stromversorgung erhalten wir durch die Netzgeräte(2 Netzgeräte hintereinander geschaltet [+- -> +-]=So erhalten wir eine +5V und eine -5V Versorgung)
Diese werden an die Platine mit dem Temperaturfühler angeschlossen und parallel dazu schließen wir die Platine an die Masse (Netzgerät)
2.Wir verbinden unsere Platine mit dem Analog-Digital-Wandler(K8055_VM110 USB Board), welches einen USB
Port besitzt.
Es werden die Datenleitung (GELB) und die Masse (Schwarz) an ein beliebiges Steckplatz der ADW-Platine angeschlossen.
3.Die K8055 VM110 Platine wird mit dem Rechner verbunden via USB => ggf. muss man den Mitgelieferten Boardtreiber installieren.
4.(optional) schließen wir ein Messgerät an, welches die Analogen Platinen Daten abliest (Spannungsangaben in V).
In dem folgenden Abschnitt beschreibe ich die Durchführung der Programmierung.
Bei der Programmierung ist zu beachten das vorweg die richtigen bzw aktuellen Boardtreiber verwendet werden, da es sonst zu
Problemen kommen kann.
Außerdem wird von mir geraten eine C++ Builder (Borland) Version zu benutzen, die nicht älter als die V.6 ist.
Systeminformationen:
CPU:Intel Core 2 Duo (2.00Ghz)
RAM:3GB DDR2
OS(Betriebssystem):Windows Vista Home Premium
Programme:Borlnd C++ Builder V.6
HINWEIS: Bei Vista kann es ggf. zu Problemen bei der Installation von C++Builder kommen, da der Sicherheits-Agend von Vista einige Funktionen blockiert.
LÖSUNG: Vista Firewall und dazugehörige Dienste (Sicherheitscenter)[Vista darf dann nicht mehr nachfragen, ob es ausgeführt werden soll] abschalten für die Installation ggf. auch für während der Benutzung
Aller Anfang ist schwer! Nicht gleich aufgeben, wenn man ein Problem hat. Als Hilfe bzw. Anfangsstart sollte man sich vertraut machen mit der Syntax des Vorprogrammierten Programms von K8055.
Hilfreich sind auch die PDF Dateien, welches die Erklärung beinhaltet-> Hinweis für Verbindung von PC zu k8055 (Port).
Durchführung:
1. Neues Projekt öffnen, Name etc. eingeben, speichern (zwischenspeichern WICHTIG)
2. Header Dateien vom Board k8055 Kopieren und im Programm einbinden
3. Objekte, Buttons für Verbindungen sollten eingefügt werden.
4. Verbindung ansteuern via Port Selektion (sk5, sk6) => Info: PDF
5. Wenn Verbindung besteht, dann eine Anzeige in Form von z.B. Labelobjekt oder Grafik erstellen
6. Bedenkt das Alle Werte die Ihr einlest in BIT(s) angezeigt werden=>ACHTUNG: Umrechnung auf Datentyp achten z.B. INT,FLOAT,CHAR
7. Ziel: Umrechnung von Bit in °C oder °F (optional mit Anzeige) und ggf. auch Spannung
8. Am Ende solltet ihr noch eure Syntax und Code ordnen.
9. Für die Erweiterung: mySQL oder SQL, Anzeige bzw. Datenbankanbindung Statusanzeige einfügen


Das End-Programm sollte folgende Elemente und Funktionen beinhalten:
- Verbindungs- Button für Platine und Für Web-Server bzw. Datenbank
- Auswahl oder Checkbox für Kanalauswahl (sk5,sk6)
- Anzeigen von Bit, °C, (Optional) auch Spannung,°F, Verbindungsstatus=>Platine, Datenbank
- Button für Aufzeichnung von Messdaten und Stop der Aufzeichnung
- Button für Beenden des Programms
Die Installation verläuft nach den folgenden Punkten:
#1 Installation des mySQL ODBC Treiber
#2 Einrichten der Verbindung von [PC]->[mySQL-Server]: Start-> Einstellung-> Systemsteuerung-> Verwaltung-> Datenquelle ODBC
#3 Hinzufügen des mySQL ODBC Dienst: "Hinzufügen" -> "mySQL ODBC" auswählen
#4 Ihre persönlichen Daten (mySQL-Server) eintragen
=> Bis hier hin ist der Treiber installiert und ausgewählt.
#5 Nun müssen wir in C++Builder den dazugehörigen mySQL Datenbank Objekt einfügen
Um Temperatur Daten verarbeiten und speichern zu können benötigen wir eine Datenbank, welches die Daten verwaltet und aufbewahrt.
Die Datenbank sollte aus folgenden Bestandteilen ausgebaut sein:
- Datenbank
- Tabelle(n)
- (optional) phpmyadmin
- (optional) mySQL
Die Verbindung von C++Builder mit dem mySQL Server Wird durch die Entsprechenden Baugruppen erstellt.
Dabei Bezieht man die Datenbank, die man vorher erstellt hat, mit in das Programm hinein.
Detaillierte Beschreibung dieses Vorgangs steht nicht zur Verfügung, da der Schul-Server das Verbinden verhindert.
Die Web Praesentation würde folgendermassen aussehen: