Tobias Harijanto Tobias van Brakel Bernhard Waterkamp

Größe: px
Ab Seite anzeigen:

Download "Tobias Harijanto Tobias van Brakel Bernhard Waterkamp"

Transkript

1 Tobias Harijanto Tobias van Brakel Bernhard Waterkamp

2 Tobias Harijanto (Tag: 0-3) - Einleitung - Brainstorming - Schaltplan - Platinenlayout Tobias van Brakel: (Tag 4-7) - Fräsversuch 1 - Fräsversuch 2 - Fräsversuch 3 10 GPS-Empfänger-Module in 10 Tagen Bernhard Waterkamp: (Tag 8-10) - Serienfertigung - Quellcode

3 10 GPS-Module für eblocks incl. Quellcode in Kleinserienfertigung für Praktika nachfolgender Studentengenerationen erstellen

4 Vorgehensweise Festlegung der Funktionen Festlegung der Bauteile Erstellen des Schaltplans in Target 3001 Platinenlayout Fräsen mehrer Prototypen (Fehlerbehebung) Optimierung des Leiterbahnen Verlaufs Bestückung des Prototypen Prototypencheck Serienfertigung Verkauf

5 Festlegen der Funktionen GPS Daten vom Receiver an µcontroller senden GPS Daten vom Receiver an PC senden Serielle Schnittstelle PC - µcontroller Konfigurieren des Receivers per PC oder µcontroller GPS Receiver leicht austauschbar Robuste Bauweise

6 Erstellen des Schaltplans in Target 3001 Pegelkonverter MAX232 +5V GND PC µc GPS- Receiver

7 Schalterstellungen Schalter 1 F unktion Schalter 2 1 G PS AVR 1 2 AVR PC 1 1 G PS PC 2

8 Vorgehensweise: Platinengröße: eblock-format Bauteile platzieren (technisch, optisch Vorteilhaft) Leiterbahndicke und Abstände festlegen Autorouten Leiterbahnen manuell optimieren - 90 Ecken vermeiden - Kreuzungen durch Brücken beheben -

9 Vorgehensweise: 1. aus Target3001 Isolations-Fräsen-Datei erstellen 2. Diese Datei mit dem Programm RouterPro des Fräsers einlesen 3. Werkzeugeinstellungen vornehmen 4. Offset einstellen 5. Platine fräsen

10 Probleme: Problem: Eintauchtiefe des Fräsers zu tief

11 Probleme: Problem: Fräser taucht stellenweise nicht in Platine ein uneben Lösung:

12 erste erfolgreich gefräste Platine

13 Weitere Probleme und Lösungen Problem Einige Bohrlöcher für Bauteile nicht tief genug / zu tief gebohrt Platinen doppelseitig bestücken/fräsen aufwändig: genaue Positionierung der Platine notwendig Lösung Siehe Tab.2 (in Dokumentation) In der Werkzeug-Tabelle der Fräser-Software alle Werte für Bohrer und Fräser (, Drehzahl, Eintauchtiefe) anpassen Platine mit einseitigem Leiterbahnenverlauf Grat an Leiterbahnen Geschwindigkeit beim Fräsen im Material auf 0,20 mm/sec verringern Leiterbahnen zu dünn Leiterbahnenbreite: 0,65mm Siehe Tab.2 (in Dokumentation) Fräst beim Umrissfräsen in die Halterungen Umrissfräsen ausgelassen Platinen manuell gesägt Mehrere Platinen auf einem Rohling fräsen - Offset auf Nullpunkt des Rohlings setzen (bei uns: x=2,54 y=0 z=28,04) - Unter Nutzen Anzahl (4) und Abstand (4mm) zwischen den zu Fräsenden Platinen Verschiedenste Bohrloch-Durchmesser aufwendiger Bohrerwechsel beim Fräsen Soweit möglich mit einheitlichen Bohrlochdurchmesser planen, Kupferaura anpassen!

14 B auteile B estückter Prototyp F unktionstest i.o.! G PS-Receiver sitzt verkehrt herum auf dem G PS -Modul

15 Vorbereitung: Prototyp Änderungen: GPS-Receiver gedreht Gravur Befestigung des Receivers Beschriftung Schalterstellung Serienmo d ul Platinenfüße

16 Durchführung: 1. Vier Platinen auf einen Rohling (Nutzen-Tool) 2. Gravur fräsen

17 Durchführung: 3. Bohren 4. Isolationsfräsen

18 Durchführung: 5. Sägen 6. Säubern und Lackieren

19 Durchführung: 7. Platine bestücken 8. Funktionstest

20 Zwei Dateien: GPS_Functions.c, GPS_Functions.h GPS_Functions.h einbinden Serielle Schnittstelle initialisieren Beliebiger Programmcode GPS_Functions.c als Source-File hinzufügen

21 Die Funktionen: int read_frame(char *Frame, char *StringTyp) Input: *StringTyp GPS-Format das empfangen werden soll (GGA, GLL, GSA, GSV, RMC, VTG) Output: *Frame return: empfangener String im gewünschten Format $GPGLL, ,N, ,E, ,A,A*5A Fehlerrückgabe (0=kein Fehler, 1=Fehlerhafter String)

22 Die Funktionen: int selekt_koord(char *Frame, char *Norden, char *Osten) Input: *Frame: Der empfangene Rohframe $GPGLL, ,N, ,E, ,A,A*5A Output: *Norden: Nordkoordinaten (Bsp: ) *Osten: Ostkoordinaten (Bsp: ) return: Fehlerrückgabe (0=kein Fehler, 1= Frametyp enthält keine Koordinaten)

23 Die Funktionen: float GradMin_Grad(char *Koord) Input: *Koord: Nord-, oder Ostkoordinate (aus selekt_koord( ) ) Bsp Output: return: Koordinaten als float Bsp:

24 Ätzen: Fräsen: Pfui Hui