RSS

Ein Schulprojekt „Stratosphärenballon“ unter besonderer Berücksichtigung der Telemetrieübertragung

von Peter Rachow (DK7IH)

im vergangenen Jahr starteten wir an unserer Schule einen Stratosphärenballon im Rahmen eines Projektes im wissenschaftlichen Unterricht. Ich war als Entwickler für die Übertragung der Telemetriedaten zuständig und möchte dieses System nun nachfolgend beschreiben.

Ballonflug Schulprojekt Bad Bergzabern

Ballonflug Schulprojekt Bad Bergzabern 2016

Das vom Verfasser entworfene System erlaubt die Datenübertragung sensorisch erfasster telemetrischer Informationen aus einem Stratosphärenballon um sie mit einer Bodenstation aufzunehmen. Verwendet wird eine Funkübertragung auf Frequenzen des Amateurfunkdienstes. Die Inbetriebnahme setzt daher voraus, dass der Betreiber im Besitz einer gültigen Amateurfunkgenehmigung ist. Weiterhin ist für den Ballonsender, der aus rechtlicher Sicht eine eigenständige Funkstelle darstellt, ein separates Amateurfunkrufzeichen erforderlich, welches von der Bundesnetzagentur (BNetzA) auf Antrag vergeben wird.

Grundsätzliche Betrachtungen

Als einfaches Codierverfahren für über eine Funkstrecke zu übertragende alphanumerische Daten bietet sich das Funkfernschreibverfahren (RTTY = radio teletyping) an. Es handelt sich um eine binäre Datenübertragung bei der ähnlich dem ASCII-Schlüssel die Daten mit Zahlenwerten verschlüsselt und dann als Bitfolge aus „0“ und „1“ übertragen werden. Dieser Code wird als „Baudot-Code“ bezeichnet. Er wurde 1870 von Emile Baudot entwickelt um ein einfaches aber zuverlässiges Verfahren für das (damals noch drahtgebundene) Übertragen von Textinformationen zu entwickeln. Ein Verfahren, das auch von Personen benutzt werden konnte, die keine Morsetelegrafie beherrschten.

Historischer Fernschreiber nach dem System Baudot (Bildquelle Wikipedia, Bild gemeinfrei)

Historischer Fernschreiber nach dem System Baudot (Bildquelle Wikipedia, Bild gemeinfrei)

Der Code basiert auf der Übertragung 5 Bits pro Zeichen und erlaubt daher maximal die Darstellung von 25 = 32 verschiedenen Symbolen. Um die 26 Buchstaben des Alphabets, 10 Ziffern sowie Sonder- und Steuerzeichen übertragen zu können, wurde der Zeichenvorrat in zwei Ebenen unterteilt, so dass insgesamt 64 verschiedene Zeichen übertragen werden können. Die zwei Umschaltzeichen zwischen beiden Ebenen sind davon allerdings abzuziehen.

Baudotcode

(Quelle: Wikipedia, frei verwendbar unter Creative Commons Attribution-ShareAlike)

Wenn für ein Zeichen eine „0“ übertragen wird, wird dieser logische Zustand als „Space“ bezeichnet, die „1“ hingegen als „Mark“. Die Zeichen „Mark“ und „Space“ werden dann mittels zweier unterschiedlicher Töne auf dem Funkweg übermittelt. Die Zuordnung von „Mark“ zum hohen und „Space“ zum tiefen Ton ist nicht einheitlich, ggf. muss bei der verwendeten Dekodiersoftware entsprechend umgewandelt werden.

Die abwechselnd ausgesendeten zwei Töne liegen dabei um einen bestimmten Frequenzbetrag auseinander, der sog. „Shift“. Diese muss so groß sein, dass sie von einer Auswerteschaltung auch bei niedrigen Signalstärken und schlechtem Signal-Rauchabstand sicher differenziert werden können. Der Tonabstand beträgt daher in der Regel 170 oder 850Hz. Es werden meistens ca. 45 Zeichen pro Sekunde übertragen (45,45 Baud).

Als hochfrequente Übertragungsfrequenz für das hier vorgestellte Modul wurde das sog. 10-Meter-Band des Amateurfunkdienstes ausgewählt. Der Amateurfunk ist ein technisch-wissenschaftlicher Experimentalfunkdienst und erfordert es, dass der Funkamateur vor Aufnahme seiner Sendetätigkeit eine Amateurfunkprüfung bei einer staatlichen Stelle ablegt.

Der verwendete Frequenzbereich zwischen 28 und 29,7 MHz weist eine relativ geringe Freiraumdämpfung auf und ist bei der gegenwärtig geringen Sonnenaktivität frei von Funksignalen, welche aus großer Entfernung kommen und den Betrieb stören könnten. In Zeiten des Sonnenfleckenmaximums, wenn auf diesem Frequenzbereich mit starken Überreichweiten zu rechnen ist, sollte eher das 2-Meter-Band (ca. 145 MHz) oder das 70cm-Band (ca. 435 MHz) des Amateurfunkdienstes gewählt werden.

Datenverarbeitung mit dem AVR-Controller ATMega32

Eine relativ komplexe Anwendung wie die hier vorgestellte Telemetrieeinheit erfordert den Einsatz eines Rechnersystems an Bord der Nutzlast des Ballons. Dies lässt sich heute mit einem sog. Microcontroller schnell und kostengünstig realisieren. Verwendet wird ein Chip des Herstellers ATMEL vom Typ AVR ATMega32. Er übernimmt im vorgestellten Modul sämtliche Datenverarbeitungsprozesse des Systems. Insbesondere liest er die Daten der verschiedenen Sensoren aus und verarbeitet diese weiter. Des Weiteren steuert er einen Synthesizeroszillator, der die errechneten Daten an den Leistungssender weitergibt, welcher sie wiederum über eine Antenne abstrahlt, so dass sie von der Bodenstation aufgefangen werden können.

Die Entwicklung der benötigten Software wurde vom Autor in der Programmiersprache „C“ mit dem frei erhältlichen GNU-C-Compiler (AVR-GCC für Linux bzw. Windows) für die Mikrocontroller der AVR-Serie vorgenommen. Der entsprechende Code findet sich bei den entsprechenden Textstellen in Auszügen.

Die Sensorik

Ein Stratosphärenflug bietet die Möglichkeit, vielfältige Daten zu sammeln. Folgende Umweltdaten werden während des Fluges von dem für den Ballonstart am Alfred-Grosser-Schulzentrum Bad Bergzabern entwickelten Nutzlastsystem fortwährend erfasst:

  • Innentemperatur im Styroporbehälter der Nutzlast,
  • Außentemperatur,
  • Luftdruck,
  • GPS-Position,
  • Akkuspannung,

Blockdarstellung des Sendesystems

Blockschaltbild Telemetriemodul

Blockschaltbild Telemetriemodul

Bei der Auswahl der komplexeren Sensoren für GPS-Position und Luftdruck wurde auf kommerzielle Produkte zurückgegriffen, die für die Experimentierplattform Arduino, die ebenfalls AVR-Controller verwendet, angeboten werden. Sie sind universell an jeden beliebigen Microcontroller anzubinden. Die Datenübertragung erfolgt bei den hier eingebauten Schaltungen entweder mit einem RS232-Interface oder über einen I²C-Bus.

Der Sensor für die zu implementierende Messaufgabe „Außentemperatur“ ist hingegen ein PTC vom Typ KT81-210. Er wird über einen Spannungsteiler direkt einem Kanal des Analog-Digital-Wandlers des Mikrocontrollers zugeführt. Vor dem Einbau ist er einzumessen und der Spannungsteiler entsprechend zu berechnen. Ähnliches gilt für die Akkuspannungserfassung, die über einen 1:4 Spannungsteiler realisiert wurde.

Das GPS-Modul

Dieses Modul wird kommerziell für ca. 8,- Euro bei einem bekannten Internetauktionshaus angeboten.

GPS-Sensor

GPS-Sensor

Oben auf dem Modul sieht man die Empfangsantenne, die restliche Elektronik befindet sich darunter.

Die Daten des GPS-Modul werden seriell über die RS232-Schnittstelle übertragen. Dazu muss die serielle Schnittstelle des ATMega32 auf eine Übertragungsrate von 9600 Baud konfiguriert werden. Dies geschieht durch einmaliges Aufrufen folgender Programmsequenz in der Software des Controllers:

//Init UART
void uart_init()
{

    /* 9600 Baud */
    UBRRL = 51; 
    UBRRH = 0;
  
    /* RX and TX on INT activate */
    UCSRB = (1<<RXEN)|(1<<TXEN)|(1<<RXCIE); 

    /* 8 data bits, 1 stopbit, no parity */
    UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0); 
}

Während des Betriebes sendet das Modul abwechselnd permanent verschiedene ASCII-codierte Zeichenketten über die serielle Schnittstelle an den Microcontroller, die nun ausgewertet müssen. Die Zeichenketten beginnen dabei mit unterschiedlichen Prefixes. Wird eine Zeichenkette übertragen, die mit „$GPGGA“ beginnt, so enthält diese Informationen:

  • Uhrzeit in UTC
  • Datum
  • Position nördlicher oder südlicher Breite
  • Position östlicher oder westlicher Länge
  • Höhe über NN

Ein Beispiel für eine derartige Zeichenkette, abgeschlossen durch eine Prüfsumme (CRC):

$GPGGA,114353.000,6016.3245,N,02458.3270,E,1,10,0.81,35.2,M,19.5,M,,*50

Die Software des Controllers wertet diese spezifische Zeichenkette nun aus, und verschlüsselt sie zu einem neuen Datensatz, der dann per Funk übertragen wird.

Allerdings wird aus militärischen Gründen der GPS-Empfang systembedingt ab einer Höhe von ca. 12000 Metern deaktiviert. Ebenso wenn eine zu hohe Steig- oder Sinkrate (ds/dt) erzielt wird. Dies dient dazu sicherzustellen, dass mit den frei verkäuflichen Modulen keine Waffensysteme entwickelt werden können.

Die sensorische Erfassung des Luftdrucks

Als Sensor für den Luftdruck wird der Typ „BMP180“ der Firma Bosch verwendet. Dieser ist auf eine Platine aufgelötet und mit Anschlüssen im Standardrastermaß von 2,54 cm versehen. Der Preis liegt zwischen 2 und 3 Euro.

Luftdrucksensor

Luftdrucksensor

Das Modul beinhaltet gleichzeitig einen Temperatursensor. Mit ihm wird die Innentemperatur gemessen.

Der Vorteil des BMP180 ist, dass er werksseitig kalibriert ist und die Kalibrierdaten in einem Datensatz im EEPROM des Sensors abgelegt sind. Es wird über eine Zweidrahtleitung (I²C-Bus, TWI) ausgelesen. Die vom Verfasser entwickelte Software lädt diese Kalibrierungsinformationen vom Sensor herunter und berechnet daraufhin die Werte für den aktuellen ambienten Druck und die Temperatur.

Die Rechenprozedur ist einigermaßen komplex, wie folgender Codeauszug zeigt. Zuerst müssen die Kalibrierkoeefizienten aus dem Sensor mittels des I²C-Bus/TWI gelesen werden:

/Get the calibration values from BMP180 sensor
void BMP180_get_cvalues(void)
{
 int BMP180_regaddress[11] = {0xAA, 0xAC, 0xAE, 0xB0, 0xB2, 0xB4, 0xB6, 0xB8, 0xBA, 0xBC, 0xBE};
 int BMP180_coeff[11] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
 int t1 = 0;
 
 for(t1 = 0; t1 < 11; t1++)
 {
 TWIStart();
 TWIWrite(0xEE); //Device adress and set WRITE mode
 TWIWrite(BMP180_regaddress[t1]); //Specify register (0xF6(MSB), 0xF7 (LSB))
 //Restart first
 TWIStart();
 TWIWrite(0xEF); //Send device adress and set READ mode
 BMP180_coeff[t1] = TWIReadACK() << 8; //MSB
 BMP180_coeff[t1] |= TWIReadNACK(); //LSB
 TWIStop();
 }
 
 ac1 = BMP180_coeff[0];
 ac2 = BMP180_coeff[1];
 ac3 = BMP180_coeff[2];
 ac4 = BMP180_coeff[3];
 ac5 = BMP180_coeff[4];
 ac6 = BMP180_coeff[5];
 
 b1 = BMP180_coeff[6];
 b2 = BMP180_coeff[7]; 
 
 mb = BMP180_coeff[8];
 mc = BMP180_coeff[9];
 md = BMP180_coeff[10];
 
}

Dann kann der Sensor gelesen und aus den erhaltenen numerischen Daten die tatsächlichen Werte für Druck und Temperatur errechnet werden:


//Calculate current air pressure
long BMP180_get_pressure(void)
{

long up;
long x1, x2, x3;
long b3, b6, p;
unsigned long b4, b7;
int oss = 0;
//char *buf = malloc(16);

//Start
TWIStart();
TWIWrite(0xEE); //Device adress and set WRITE mode
TWIWrite(0xF4); //Register adress
TWIWrite(0x34); //Register value = read pressure oss = 0!
TWIStop();

_delay_ms(100);

TWIStart(); //Restart
TWIWrite(0xEE); //Device adress and WRITE mode
TWIWrite(0xF6); //Specify register (0xF6(MSB), 0xF7 (LSB))

//Get value
//Restart first
TWIStart();
TWIWrite(0xEF); //Send device adress and set READ mode

//Copy data to buffer
up = (long) TWIReadACK() << 8; //MSB
up |= (long) TWIReadNACK(); //LSB

TWIStop();

//Calculate real pressure
b6 = b5 – 4000L;
x1 = (b2 * ((b6 * b6) >> 12)) >> 11;
x2 = (ac2 * b6) >> 11;
x3 = x1 + x2;
b3 = (((ac1 * 4 + x3) << oss) + 2) >> 2;
x1 = (ac3 * b6) >> 13;
x2 = (b1 * ((b6 * b6) >> 12)) >> 16;
x3 = ((x1 + x2) + 2) >> 2;
b4 = (ac4 * ((unsigned long) x3 + 32768L)) >> 15;
b7 = ((unsigned long)up – b3) * (50000L >> oss);
p = (b7 < 0x80000000UL) ? ((b7 << 1) / b4) : ((b7 / b4) << 1);
x1 = (p >> 8) * (p >> 8); //???
x1 = (x1 * x1 * 3038L) >> 16;
x2 = (-7357L * p) >> 16;
p += ((x1 + x2 + 3791L) >> 4);

return (p);

}

Nach Errechnen der aktuellen Temperatur und des Umgebungsdruckes werden diese Daten ebenfalls an das Funkmodul zur Übertragung übergeben.

Außentemperaturmessung und Akkuspannungsüberwachung

Besonders interessant bei einem Flug in die Stratosphäre ist die Messung der Außentemperatur. Diese ist bei unserer Schaltung sehr einfach gelöst. Der Microcontroller besitzt einen 10-Bit-Analog-Digitalwandler (ADC, analog-digital-converter) der nach dem Prinzip der sukzessiven Approximation arbeitet und Spannungen im Bereich 0 <= U <= 5 V in einen Zahlenwert zwischen 0 und 1023 umsetzt. Diese Auflösung ist ausreichend für eine analoge Temperaturmessung auf der Basis eines temperaturabhängigen Widerstandes.

Der Auszug aus der Gesamtschaltung für die Beschaltung der analogen Sensoren:

Schaltung Sensorik

Schaltung Sensorik

Der Sensor KTY 81-210 ist ein PTC-Element (positive temperature coefficient). Als Kaltleiter steigt sein elektrischer Widerstand mit der Temperatur. Eine zu Evaluationszwecken vorgenommene Messung an einem ATMega8-Controller ergab eine lineare Funktion T=>RPTC.

KTY-81-210

KTY-81-210

Ähnlich gelöst ist die Schaltung der Akkuspannungsüberwachung. Auch hier wird ein Spannungsteiler benutzt um aus den 12V des Bordnetzes der Nutzlast eine unter den Wert von 5 V geteilte Maximalspannung abzuleiten. Seine Schaltung ist in obigem Schaltplan ebenfalls eingetragen. 2 Widerstände (56kOhm und 12kOhm) teilen die Akkuspannung auf eine Spannung herunter, die auch bei Überladung des Akkus stets unter 5V liegt. Höhere Spannungen am ADC würden den Microcontroller bzw. die Funktionsgruppe des ADC zerstören.

Für die zu messende Akkuspannung gilt:

Formel-ADC

Formel-ADC

(ADC: vom Analog-Digital-Wandler ermittelter Zahlenwert, UAkku = Akkuspannung)

Die Erzeugung der Sendefrequenz

Bevor das Sendesignal ausgesendet werden kann, muss es erzeugt werden. Dazu gibt es verschiedene Verfahren. Früher hätte man einen beispielsweise quarzkontrollierten Sender benutzt, der im Takt der binären Information entsprechend zwischen 2 durch „Shift“ getrennte Frequenzen umgesteuert worden wäre. Diese Technik ist heute obsolet, da es leistungsfähige und preiswerte Mikrobausteine gibt, welche direkt ein hochfrequentes sinusförmiges Signal erzeugen können. Dieses Verfahren nennt sich „Direkte Frequenzsynthese“ (DDS, direct digital synthesis).

Für das hier beschriebene Funkmodul wird ein Chip der Firma „Analog Devices“ vom Typ AD9850 benutzt. Diesen gibt es mit der notwendigen peripheren Beschaltung versehen auf eine Platine montiert. In der gewählten Konfiguration wurde jedoch eine eigene Schaltungsentwicklung bevorzugt, welche ein spektral reineres Ausgangssignal ergibt und welche in Bezug auf ihre hochfrequenten Eigenschaften optimiert wurde.

Der DDS-Baustein vom Typ AD9850 verfügt über eine vom Microcontroller ansteuerbare SPI-Schnittstelle (serial peripheral interface), mittels derer dem Synthesizer die Anweisungen, welche Frequenz in welcher Phasenlage zu erzeugen ist, über einen Datensatz („frequency word“) übertragen werden. Dabei handelt sich um eine binäre Zahlenfolge, die nach einem vom Hersteller im Datenblatt genannten Algorithmus zu errechnen ist.

Link zum Hersteller bzw. Produkt:

http://www.analog.com/en/products/rf-microwave/direct-digital-synthesis/ad9850.html

Abhängig von einem externen quarzgesteuerten Taktgenerator (Clock), der den DDS Chip mit einer genau definierten Frequenz speist, kann der AD9850 Frequenzen bis ca. 40 MHz mit einer Genauigkeit von unter 0,1 Hz erzeugen. Der Clockgenerator muss dann mit ca. 125 MHz arbeiten.

Die beiden Frequenzen „Mark“ und „Space“ für das Übertragungssignal werden nun direkt auf der Ebene der Ausgabefrequenz (ca. 28.320 MHz) erzeugt. Eine Mischung oder Umsetzung eines Audiotonsignales (Modulation) in einem aufwändigen Sender ist also nicht erforderlich. Dieses direkte Verfahren wird als „FSK“ bezeichnet (frequency shift keying) im Gegensatz zu AFSK (audio frequency shift keying). Es vereinfacht die Aufbereitung der Sendefrequenz erheblich.

Die Datenstruktur der Kommunikation zwischen Mikrocontroller und DDS-Chip

Zur Datenübertragung zwischen dem steuernden Controller und dem DDS-Chip werden nur 3 Leitungen benötigt:

  • W_CLK (das Clocksignal, das beide Module synchronisiert),

  • FQ_UD (eine Leitung die auf logisch 0 geht, solange Daten übertragen werden und deren Wechsel auf „hi“ das Ende des Datenstromes anzeigt) und

  • DATA (die eigentlichen Daten für die Frequenzsynthese)

Prinzip der Datenübertragung:

Datenübertragung zwischen Mikrocontroller und DDS-Chip

Datenübertragung zwischen Mikrocontroller und DDS-Chip

xxx

Das zugehörige Timingdiagramm hat folgenden Ablauf:

Timing DDS (Quelle Datenblatt des AD9850 von Analog Devices)

Timing DDS (Quelle Datenblatt des AD9850 von Analog Devices)

Die drei Steuerleitungen werden verschiedenen Ports des Mikrocontrollers zugeordnet. Somit ergeben sich folgende zwei Funktionen in der verwendeten Software welche den DDS-Chip steuern.

/*****************************************************************/
/* DDS mit AD9850 */
/* ************************************************************ */
/* Mikrocontroller: ATMEL AVR ATmega8, 8 MHz */
/* */
/* Compiler: GCC (GNU AVR C-Compiler) */
/* Autor: Peter Rachow */
/* Letzte Aenderung: 09.01.2016 */
/*****************************************************************/

/* PORTX |= 1; // Bit 0 setzen
 PORTX &= ~(1); // Bit 0 löschen
*/


#include <inttypes.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/sleep.h>
#include <avr/eeprom.h>
#include <util/delay.h>

int main(void);

/*******************/
// SPI
/*******************/
//Belegung
//FQ_UD: PB0 (1) green
//SDATA: PB1 (2) white
//W_CLK: PB2 (4) blue
//RESET AD9850 PD7 pink

void spi_send_bit(int);
void set_frequency_ad9850(unsigned long);

//************
// SPI
//************
void spi_send_bit(int sbit)
{
 
 //Bit setzen oder löschen
 if(sbit)
 {
 PORTB |= 2; //SDATA Bit PB1 setzen
 }
 else
 {
 PORTB &= ~(2); //SDATA Bit PB1 löschen
 }
 
 //W_CLK hi
 PORTB |= 4; //Bit PB2 setzen
 
 //W_CLK lo
 PORTB &= ~(4); //Bit PB2 löschen
 
}


//Set AD9850 to desired frequency
void set_frequency_ad9850(unsigned long fx)
{
 unsigned long clk = 125000000;
 unsigned long x;
 unsigned long hibyte, lobyte;
 int t1;

double fword0;
 unsigned long fword1;


 //Split multiplication by 2^32 into 2 parts to avoid wrong 
 //calculation (reason: 2^32 = 0 in 32 bit number!)
 fword0 = (double) fx / clk * 65536;
 fword1 = (unsigned long) (fword0 * 65536);
 hibyte = fword1 >> 16;
 lobyte = fword1 - (hibyte << 16);

//Send 32 frequency bits + 8 additional bits to DDS
 //Start sequence
 PORTB &= ~(1); //FQ_UD lo => Bit PD0 = 0
 
 //W0...W15
 x = 1;
 for(t1 = 0; t1 < 16; t1++)
 {
 spi_send_bit(lobyte & x);
 x <<= 1;
 }
 
 //W16...W31
 x = 1;
 for(t1 = 0; t1 < 16; t1++)
 {
 spi_send_bit(hibyte & x);
 x <<= 1;
 }
 
 //W32...W39
 for(t1 = 0; t1 < 8; t1++)
 {
 spi_send_bit(0);
 } 
 
 //Stop sequence
 PORTB |= 1; //FQ_UD hi => Bit PD0 = 1
 
}

int main()
{
 
 DDRB = 0x07; //SPI (PB0..PB2) 
 DDRD = 128;
 
 int f2;
 //Watchdog abschalten
 //WDTCR = 0;
 //WDTCR = 0;
 
 
 PORTD |= 128; //Bit PD7 set
 _delay_ms(1); //wait for > 20ns i. e. 1ms minimum time with _delay_s()
 PORTD &= ~(128); //Bit PD7 erase


 for(;;) 
 {
 for(f2 = 300; f2 < 3000; f2++)
 {
 set_frequency_ad9850(14200000 + f2);
 }
return 0;
}

Die Funktion set_frequency() erhält als Parameter die auf 1 Hz genaue Frequenz, welche der Chip erzeugen soll.

Die Hardware eines vom Verfasser projektierten verbesserten DDS-Oszillators (mit einem AD9951 anstatt eines AD9850) ist auf folgendem Schaltplan zu sehen:

Schaltplan DDS AD9951

Schaltplan DDS AD9951

Die 4 Leitungen am oberen Rand der Schaltung führen zum Mikrocontroller.

DDS-AD9951

DDS-AD9951

Der Leistungssender

Das digital erzeugte analoge Sendesignal muss nun noch auf eine Ausgangsleistung von ca. 250mW bis 500mW verstärkt, gefiltert und an die Antenne abgegeben werden. Dieser Leistungssender besteht aus lediglich 2 Verstärkerstufen, einer Treiber- und einer Endverstärkerstufe. Beide sind mit bipolaren Transistoren vom Typ 2SC1957 bestückt. Bei der Auswahl der Transistoren ist darauf zu achten, dass Ihre Transitfrequenz (fT) um den Faktor 8 bis 10 höher liegt als das zu erzeugende Sendesignal. Andernfalls wäre der Verstärkungsfaktor der beiden Verstärkerstufen zu gering.

Die Schaltung des Senders (bestückt mit anderen Transistoren ähnlicher fT) :

Leistungssender 28MHz

Leistungssender 28MHz

Die Sendeatenne

Als Antenne kam eine zwischen Ballonhülle und Nutzlast angebrachte Drahtantenne zum Einsatz. Es handelte sich um eine sog. „J-Antenne“:

J-Antenne

J-Antenne

Die J-Antenne besitzt wie oben ersichtlich eine reine Strahlerlänge von einer halben Wellenlänge, verbunden mit einer Anpassleitung von ¼ Wellenlänge. Somit ergibt sich eine Gesamtlänge von ca. 7,5 Metern für den hier verwendeten Frequenzbereich. Sinn der Anpassleitung ist eine Impedanztransformation des hochohmigen Fußpunktes des Halbwellenstrahlers (Z~2000 Ohm) auf die niederohmige Impedanz des Antennenfußpunktes von ca. 50 Ohm, dass die Antenne ohne an den Senderausgang angeschlossen werden kann und kein Leistungsverlust durch Fehlanpassung auftritt. Bei der Anpassleitung handelt es sich streng genommen um eine Viertelwellenlängen-Lecherleitung.

Die Antenne wurde zwischen Ballonhülle und Nutzlast aufgehängt und trug die Nutzlast.

Die Empfangsstation

Für den Empfang wird ein vom Verfasser entwickeltes Amateurfunkgerät verwendet, welches Sende- und Empfangsbetrieb auf mehreren für den Amateurfunk freigegebenen Frequenzbändern erlaubt.

Selbstbau-Transceiver (Peter Rachow, DK7IH)

Selbstbau-Transceiver (Peter Rachow, DK7IH)

Quelle: https://radiotransmitter.wordpress.com/2015/12/08/gimme-five-a-qrp-ssb-transceiver-for-5-bands-with-10-watts-output-power/

Es wird an einer vertikalen Antenne („Groundplane“) betrieben, da die Antenne der Nutzlast ebenfalls vertikal polarisiert ist. Diese Gleichpolarisation minimiert die Übertragungsverluste über die verwendete Funkstrecke. Der oben gezeigte Amateurfunktransceiver besitzt eine sehr gute Empfindlichkeit und erlaubt Empfang bis hinunter zu Antennenspannungen von 0,2 µV.

Als Software zur Umwandlung der Tondaten in Schriftzeichen wurde das frei erhältliche Programm „TrueTTY“ benutzt, welches die Töne vom Mikrofon des benutzten Notebookcomputers erhielt, der direkt neben dem Funkgerät positioniert war. Es stellt die entschlüsselten Daten auf einem Textbildschirm dar.

In der Praxis zeigte sich, dass die Empfangsfeldstärke oberhalb einer Flughöhe von 12 km plötzlich exponentiell abnahm. Die Ursache für diesen rapiden Schwund ist derzeit nicht erklärbar, da vom Verfasser mit der Funkanlage vorher Funkversuche in der Horizontalen unternommen wurden und hier Entfernungen von einem hoch gelegenen Punkt zu einem anderen (um die Erdkrümmung als Störgröße auszuschalten) über > 40 km möglich waren. Beim nächsten Ballonstart ist daher beabsichtigt, anstatt auf einem Kurzwellenband die Funkanlage auf der Ultrakurzwelle (f~144 MHz) zu betreiben.

Soweit die kurze Beschreibung des aufgebauten Telemetriesystems. Fragen und Anregungen richten Sie bitte an den Verfasser: peter.rachow@web.de

Peter Rachow (DK7IH) 2017

Homepage: http://www.radiotransmitter.wordpress.com

Dank für die Unterstützung dieses Projektes geht an die VR Bank Südliche Weinstraße und den Fachmarkt KLEIN in Bad Bergzabern.

Advertisements
 
Hinterlasse einen Kommentar

Verfasst von - 17. Dezember 2017 in Uncategorized