In Bearbeitung
Stand: 3.
März 2019
NEU: Hinweis auf abweichende I2C-Adressen bei
"BME280-Moduln"
NEU: Hinweis auf neuen Wettersensor "BME680" ( siehe weiter unten )
automatic
translation by GOOGLE:
https://translate.google.com/translate?sl=de&tl=en&js=y&prev=_t&hl=de&ie=UTF-8&u=http%3A%2F%2Fwww.kh-gps.de%2Faprs_bake.htm&edit-text=&act=url
Mit der
Erzeugung von APRS-Signalen unter Verwendung von Arduino-Software hatte
ich mich vor längerer Zeit schon einmal beschäftigt [1] und
war dabei auf die sehr hilfreiche Library "QAPRS" von Lukasz Nidecki,
SQ5RWU gestossen. Mit wenig Aufwand erlaubt sie das Generieren
entsprechender AFSK-Signale. Was lag nun näher, als derart
erzeugte Signale unter Verwendung der bekannnten
Transceiverbausteine des Typs "DRA818V" [3] auf der Frequenz 144.8 MHz
auszusenden und auf diese Weise zu einfachen kompakten APRS-Sendebaken
zu kommen?
Abb.1 Schalbild der
APRS-Bakenanordnungen
Abb.1 zeigt das Schaltbild der von mir
gewählten
Bauteileanordnung. Dabei geht es um je eine Version zur Aussendung
von Wetterdaten und einer solchen für GPS-Standortdaten. Dazu
wurde das weiter unten noch näher zu
beschreibende Platinenlayout entworfen, welches je nach vorgesehener
Nutzung entsprechend zusätzlich zu bestücken ist.
Die
Wetterbakenversion
Abb.2 Die Wetterdatenversion mit
dem BME280-Modul von Fa. Watterott
Abb.3 Platinenunterseite mit Transceivermodul
( zum Thema "Tiefpassfilter" siehe Text weiter unten )
Um die Wetterdatenversion möglichst
einfach zu halten, verwende ich an dieser Stelle einen
BOSCH-Multisensorbaustein des Typs "BME280". Von Fa. Watterott [2] gibt
es ihn verbaut auf einem kleinen sog. Breakout-Board, was seine
Einsetzbarkeit stark vereinfacht. Via I2C- oder SPI-Bus ( hier
benutzt: I2C-Bus ) sind von ihm die Daten von Temperatur,
Luftdruck, Luftfeuchte und Höhe abrufbar. Ein
ATMEL-Prozessor des Typs "ProMini" in der 5V-Version verarbeitet
sie und erzeugt daraus ein entsprechend der APRS-Regularien
zusammengesetztes Wetterdatenprotokoll ( Abb.5 ).
Abb.4 Beispiel für
Wetterdaten ( unter APRS:FI empfangen )
Abb.5 Beispiel für
Wetterdaten ( Im Rohdatenmodus unter APRS.FI empfangen )
NEU:
Version mit Multisensor "BME680"
Unlängst
war mir aufgefallen, dass das für dieses Projekt ursprünglich
verwendete
Breakout-Board "BME280" [2] bei Fa. Watterott ( vorübergehend ? )
nicht verfügbar war. Neu im Programm war dagegen ein sehr
ähnlicher Typ mit der Bezeichnung "BME680" [6]. Von seinem
Vorgängertyp unterscheidet er sich vor allem
dadurch, dass zu den
bekannten Sensortypen auch noch ein GAS-Sensor zur Erfassung von
"Indoor Air Quality" hinzugekommen ist. Zur Zeit bin ich mir noch nicht
sicher, ob ich diese Daten auch in Verbindung mit der Wetterdatenbake
verwenden werde, aber auf jeden Fall wurde für den "BME680" schon
einmal eine Version erstellt, bei der wieder die bisher schon genutzten
Daten von Temperatur, Luftfeuchte und Luftdruck Verwendung finden. Sie
kann hier [7] heruntergeladen werden. Die hierbei benutzten Libraries
sind über die BME680-Seiten von ADAFRUIT zu finden.
Die
GPS-Bakenversion
Abb.6 GPS-Bakenversion
Alternativ
zur Wetterdatenversion ist eine Bakenversion realisierbar, die der
Aussendung von GPS-Standort- und Höhendaten dient ( Abb.6 ).
Anstelle eines
BME280-Moduls wird hierbei ein GPS-Empfängermodul verwendet.
Infragekommen dabei Versionen, die serielle NMEA-Daten mit TTL-Pegel
und üblicherweise 9600bps Datenrate bereitstellen.
WICHTIG: Die Verbindung zwischen GPS-Modul-Ausgang und UART-Eingang des
Prozessors ( siehe Abb.1 ) ist für den Zeitpunkt des Hochladens
des
Betriebsprogrammes zu trennen ( Brücke "JP1" öffnen ) .
sonstige Funktionen
Dem
analogen Prozessoreingang #A3 wird ein Teilwert der Versorgungsspannung
zugeführt, was eine Fernübertragung und -auswertung der
jeweiligen Spannungsverläufe ermöglicht.
Einige
zusätzliche Betriebsfunktionen sind über die
Porteingänge #A0 bis #A2
aufrufbar. Dabei ist es z.B. über den Gleichspannungswert an #A0
möglich, Sendeintervalle im Bereich von einer bis zu 15 Minuten
auszuwählen. Wer auf diese Einstellmöglichkeit verzichten
möchte, der kann natürlich auch einen Festwert an der
entsprechenden Stelle im Quellcode eintragen.
Durch Masseverbindung von #A1 kann in den TESTMODUS geschaltet werden.
Unabhängig von der Spannung an #A0 sind die Sendeintervalle dann
auf 10
Sekunden fixiert.
Durch Masseverbindung von #A2 kann bei Bedarf auch eine alternative
Betriebsfrequenz aufgerufen werden. Vorgesehen sind an
dieser Stelle z.B. 145.200 MHz.
Anzumerken ist noch, dass Einstellungsänderungen an #A0-#A2
erst nach Programmneustart wirksam werden.
geplante
Funktionen
* Vorgesehen ist eine
Abschaltung des DRA818 während der
Sendepausen ( Stromaufnahme im RX-Mode schlägt mit zusätzlich
etwas 60mA zu Buche ).
* Pausenzeitverlängerung bei Erkennung von Frequenzbelegung.
Nachbau
Im Vergleich zu
ursprünglichen QAPRS-Anwendungen und auch meiner in [1]
beschriebenen Nutzung, arbeitet das vorliegende Konzept bei seinem
R2R-Netzwerk ( siehe Abb.1 ) mit hiervon abweichenden
Portanschlüssen. Das hat zur Folge, dass für die vorliegenden
Bakenanwendungen nicht die Original-QAPRS-Library, sondern die im
beigefügten ZIP-File enthaltene Version zu verwenden ist. Im
gleichen File sind auch die beiden ARDUINO-Sketches der auf dieser
Seite vorgestellten APRS-Bakenversionen enthalten [5].
Abb.7 Platinenlayout ( vorläufige Version )
Bezeichung der aktuellen Platineversion: "DJ7OO_QAPRS_DRA818_2.LAY6" (
Anfertigung durch Dirk Ruffing, DH4YM )
WICHTIGER HINWEIS ZUR AKTUELLEN PLATINENVERSION:
Zur Reduzierung des Gesamtenergiebedarfs ist für zukünftige
Softwareversionen auch eine Deaktivierbarkeit des DRA818V-Moduls in den
Sendepausen
vorgesehen. Der hierfür zu benutzende Power-Down-Steuerpin Nr.6
ist deshalb nicht länger fest an die Versorgungsspannung gelegt,
sondern frei
beschaltbar. Für den Normalbetrieb ist somit zumindest vorerst
noch eine zusätzliche Drahtbrücke an "PD" einzufügen.
Zum Thema: Tiefpassfilter im
Antennenweg
Messungen verschiedenster Stellen ergaben, dass der
Oberwellenanteil der Sender-Ausgangssignale bei den DRA818V
unzureichend hoch ist und somit zusätzliche Unterdrückung
erfordert. Aus diesem Grunde hatte ich im Schaltbild Abb.1 auch eine
entsprechende zusätzliche Tiefpassfilteranordnung ( vorerst ohne
Bemaßung ) vorgesehen und zudem auch das Platinenlayout gem.
Abb.7 entsprechend ausgelegt.
Bei meinen bisherigen Musteraufbauten wurden
stattdessen allerdings nur fertig erhältliche Tiefpassfilter
gem. Abb.8 provisorisch
verbaut. Sie stammen von der Firma "MCL" und sind unter der Bezeichnung
"LFCN-120" z.B. hier [4] erhältlich. Die aktuelle
Platinenversion wurde dafür aber bereits vorbereitet.
Anm.: Vom gleichen Hersteller und Lieferanten werden auch
Tiefpassfilter mit der Bezeichnung "LFCN-160" angeboten. Nach
Datenvergleich speziell bezüglich ihrer Werte für
Oberwellenunterdrückung sind sie für unsere Anwendung
allerdings kaum geeignet.
Abb.8 Filter "LFCN-120" im Einsatz
Hinweis
zu BME280-Moduln von EBAY
Wie mir berichtet
wurde, gibt es die für unsere Wetterbake verwendbaren
BME280-Moduln auch sehr preiswert z.B. bei EBAY. Im Lieferzustand
müssen diese aber offenbar mit der von meinem Sketch abweichenden
I2C-Adresse "0x76" angesprochen werden. Somit sind sie also entweder (
durch Drahtbrücke ? ) auf die Adresse "0x77" umzustellen, oder es
ist die im Arduino-Sketch zu findende I2C-Adresse entsprechend
abzuändern.
PS:
Da ich selbst ein entsprechendes BME280-Modul nicht getestet habe, gebe
ich das hier nur als nicht verifizierte Information weiter.