Projekt:Nano-Langwellensender: Unterschied zwischen den Versionen
Dg3hda (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Dg3hda (Diskussion | Beiträge) (Fork) |
||
Zeile 1: | Zeile 1: | ||
{{Infobox Projekt | {{Infobox Projekt | ||
|name = Arduino Langwellensender | |name = Arduino Langwellensender | ||
|status = | |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!''' | ||
# 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%. | 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 | 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
Arduino Langwellensender
Status: stable | |
---|---|
Beschreibung | Amateurfunk-Morsebake aus Arduino Nano |
Ansprechpartner | Hendi |
Übersicht
Achtung!
- 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
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 } }