Tobias Harijanto Tobias van Brakel Bernhard Waterkamp
|
|
- Sebastian Kraus
- vor 8 Jahren
- Abrufe
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