Projekt:Nano-Langwellensender: Unterschied zwischen den Versionen

Aus Schaffenburg
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
(Fork)
 
Zeile 1: Zeile 1:
{{Infobox Projekt
{{Infobox Projekt
|name            = Arduino Langwellensender
|name            = Arduino Langwellensender
|status          = unstable
|status          = stable
|beschreibung = Amateurfunk-Morsebake aus Arduino Nano
|beschreibung = Amateurfunk-Morsebake aus Arduino Nano
|autor          = [[Benutzer:Dg3hda|Hendi]]
|autor          = [[Benutzer:Dg3hda|Hendi]]
Zeile 12: Zeile 12:


<span style="color:#ff0000">'''Achtung!'''
<span style="color:#ff0000">'''Achtung!'''
# Projekt ist noch TBD
# Sendebetrieb nur lizenzierten Funkamateuren erlaubt, und die wissen um die Probleme und besonderheiten.
# Sendebetrieb nur lizenzierten Funkamateuren erlaubt
</span>
</span>


Zeile 19: Zeile 18:


Mit den Arduinos kann man relativ hochfrequente Signale erzeugen und damit Sender bauen. Die Modulationssignale kann er dank timern auch kontrollieren, z.B. für Morsetelegraphie das Signal tasten. Dieses Beispiel arbeitet im 137 kHz Amateurfunkband.
Mit den Arduinos kann man relativ hochfrequente Signale erzeugen und damit Sender bauen. Die Modulationssignale kann er dank timern auch kontrollieren, z.B. für Morsetelegraphie das Signal tasten. Dieses Beispiel arbeitet im 137 kHz Amateurfunkband.
Davon abgeleitet wurde das [[Projekt:LW-Kabelsucher|Projekt Langwellen-Kabelsucher]]


==Verantwortlicher==
==Verantwortlicher==
Zeile 25: Zeile 26:
==Details==
==Details==


Aufgrund meiner Bequemlichkeit wird der Träger in den Pausen nicht abgestellt sondern nur die Pulsweite auf Minimalwert gestellt. Bei Aussendung mit "vollem Pegel" steht die Pulsweite bei 50%. Vor Einsatz an effektiven Antennen sollte man einen Tief- oder Bandpassfilter zwischenschalten um das Rechteckspektrum auf möglichst die eine, erwünschte Linie zurechtzuknüppeln.
Aufgrund meiner Bequemlichkeit wird der Träger in den Pausen nicht abgestellt sondern nur die Pulsweite auf Minimalwert gestellt. Bei Aussendung mit "vollem Pegel" steht die Pulsweite bei ~50%.  
 




Zeile 56: Zeile 58:
OCR2B = 0;Minimale Pulsbreite. Träger wird also nicht ganz abgeschaltet aber reduziert.   
OCR2B = 0;Minimale Pulsbreite. Träger wird also nicht ganz abgeschaltet aber reduziert.   
_delay_ms(10000); //sag nix!
_delay_ms(10000); //sag nix!
OCR2B = 59;    //Tastung - 50% Tastverhältnis der PWM
OCR2B = 59;    //Tastung ~ 50% Tastverhältnis der PWM
_delay_ms(300);  //Dauer eines bequemen DAH oder Interzeichenpause
_delay_ms(300);  //Dauer eines bequemen DAH oder Interzeichenpause
OCR2B = 0;      //Aus
OCR2B = 0;      //Aus

Aktuelle Version vom 28. Mai 2021, 11:58 Uhr

Crystal Clear action run.png
Arduino Langwellensender

Status: stable

WhatsApp Image 2017-05-05 at 21.32.15.jpeg
Beschreibung Amateurfunk-Morsebake aus Arduino Nano
Ansprechpartner Hendi


Übersicht

Achtung!

  1. Sendebetrieb nur lizenzierten Funkamateuren erlaubt, und die wissen um die Probleme und besonderheiten.

Verwendung eines handelsüblichen Arduino Nano als Langwellenbake niedriger Leistung für Amateurfunk.

Mit den Arduinos kann man relativ hochfrequente Signale erzeugen und damit Sender bauen. Die Modulationssignale kann er dank timern auch kontrollieren, z.B. für Morsetelegraphie das Signal tasten. Dieses Beispiel arbeitet im 137 kHz Amateurfunkband.

Davon abgeleitet wurde das Projekt Langwellen-Kabelsucher

Verantwortlicher

Hendi, dg3hda Rindphi.jpg

Details

Aufgrund meiner Bequemlichkeit wird der Träger in den Pausen nicht abgestellt sondern nur die Pulsweite auf Minimalwert gestellt. Bei Aussendung mit "vollem Pegel" steht die Pulsweite bei ~50%.


Empfangsprobe

Das Signal wurde in etwa 1/2 m Entfernung mit einem Kenwood TH-F7E an dessen interner Ferritstabantenne empfangen und ein kleines Video aufgenommen

Code

Der folgende Code codiert ein N in Morsetelegraphie, bitte an eigenes Rufzeichen und Message anpassen!

#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
//Ausgang konfigurieren
pinMode(3, OUTPUT);
//Timer 2 modus zurechtbitteln
TCCR2A = _BV(COM2A1) | _BV(COM2B1) | _BV(WGM21) | _BV(WGM20);
TCCR2B = _BV(WGM22) | _BV(CS20);
//Timer 2 einen maximalen Zählwert vorgeben, bestimmt Frequenz
OCR2A = 117;

//sorry
while (1)
{
//Pause von 10 Sekunden
OCR2B = 0;Minimale Pulsbreite. Träger wird also nicht ganz abgeschaltet aber reduziert.   
_delay_ms(10000); //sag nix!
OCR2B = 59;     //Tastung ~ 50% Tastverhältnis der PWM
_delay_ms(300);  //Dauer eines bequemen DAH oder Interzeichenpause
OCR2B = 0;      //Aus
_delay_ms(100);  //Intersymbolpause oder ein DIT
OCR2B = 59;     //Und Träger wieder her
_delay_ms(100);  //Dauer eines bequemen Dah
OCR2B = 0;      //Träger wieder weg
}
}

Referenzen