Projekt:Nano-Langwellensender: Unterschied zwischen den Versionen

keine Bearbeitungszusammenfassung
(Bild)
Keine Bearbeitungszusammenfassung
Zeile 8: Zeile 8:
}}   
}}   


==Übersicht==


'''Achtung!'''
<span style="color:#ff0000">'''Achtung!'''
 
# Projekt ist noch TBD
# Projekt ist noch TBD
# Sendebetrieb nur lizenzierten Funkamateuren erlaubt
# Sendebetrieb nur lizenzierten Funkamateuren erlaubt
 
</span>
 
==Übersicht==


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


Mit den Timergesteuerten PWM-Blöcken der Arduinos kann man relativ hochfrequente Signale erzeugen, mit einem anderen Timer als Taktquelle kann man Modulationssignale kontrollieren, z.B. für Morsetelegraphie das Signal tasten.  
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.


==Verantwortlicher==
==Verantwortlicher==
Zeile 26: Zeile 24:
==Details==
==Details==


TBD
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.
 


==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
[[Datei:Arduino Nano Telegraphiebake.mp4]]
[[Datei:Arduino Nano Telegraphiebake.mp4]]
== Code ==
Der folgende Code codiert ein N in Morsetelegraphie, bitte an eigenes Rufzeichen und Message anpassen!
<pre>
#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
}
}
</pre>
== Referenzen ==
mitglieder, vorstand
1.688

Bearbeitungen