www.mikrocontroller.net

Forum: HF, Funk und Felder Funk , DutyCycle , 868MHz , Trigger , Funkprotokoll


Autor: Sebastian Kreuzer (bastik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Worum__gehts :
Es soll ein Kabel in einer eigenen Schaltung ( billiger und vorallem 
praktischer ) ersetzt werden zum Triggern ( starten ) einer Zeitmessung. 
Es geht also rein um ein Trigger-Signal über etwa 130 Meter.
Sämtliche "Klingel-Tür-Basteleien" kommen für mich nicht in Frage...!

Gegeben :
Ich hab mir bereits zwei Module rausgesucht. Soll jetzt keine Werbung 
sein:
Von www.greenwave.de, Datenblätter

Empfänger:
http://www.ikhf.de/files/datenblaetter_funkmodule_...
Sender:
http://www.ikhf.de/files/datenblaetter_funkmodule_...

Frage / Problem :
Nun gibt es ja Leistungs und Zeitbestimmungen für das 868MHz Band...

Nur ein Link wäre hier:
http://www.roboternetz.de/funkmodule.html
(etwas weiter unten ... ) und noch viele mehr Links... Wikipedia und 
so...

Ich würde nun gerne um mein Trigger Signal zu senden das ganze mit PWM 
kodieren:

Also am Eingang von Data am Funkmodul ein 40 kHz Signal anlegen mit T_on 
( logisch 1 ) von max. 1% von T ( DutyCycle <=1% ) . Damit sollte ich 
mich doch in den Spezifikationen der 868MHz Funkbestimmungen bewegen 
oder?
Im Trigger-Fall ( also beim Start der Zeitmessung ) würde dann das 
Signal an Data für eine Periode auf 30 oder 50kHz sich ändern wieder mit 
Duty von <= 1%

IST DAS SO IN ORDNUNG ?

Ich mein, was sendet/macht das Funkmodul denn wenn am Data-Eingang eine 
0 anliegt? Ich mein irgendetwas muss es ja für die restliche 
Periodendauer von 99% senden um irgendwie einen defenierten Pegel zu 
haben, oder?

Oder_ _mach_ _ich_ _mir_ _zu_ _viel_ _Gedanken_ _und_ _es_ _passt 
alles_ _solang_ _T__on_ _an_ _Data_ _nicht_ _länger_ _als _1_% der 
Periodendauer_ _ist ?

Wäre super wenn jemand dazu was wüsste !

Danke schon mal

Autor: jl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nein, das bedeutet immer noch 100% Senden.

Du musst den Sender ausschalten und darfts ihn nur 10% duty cycle 
einschalten. Auch wenn Low am Eingang anliegen sendet das Modul (868Mhz 
+ Modulation für low). Wenn High am Eingang sendet das Modul 868MHz + 
Modulation für High.


JL

Autor: R. Max (rmax)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sebastian Kreuzer wrote:

> Also am Eingang von Data am Funkmodul ein 40 kHz Signal anlegen mit T_on
> ( logisch 1 ) von max. 1% von T ( DutyCycle <=1% ) . Damit sollte ich
> mich doch in den Spezifikationen der 868MHz Funkbestimmungen bewegen
> oder?

Nein.

In der Zeit, in der Du den Dateneingang auf 0 legst, sendet das Modul 
weiter und verstößt damit gegen die Duty-Cycle-Beschränkung.

Um die Beschränkung einzuhalten darf der ENABLE-Eingang im Mittel über 
eine Stunde nur maximal 1% der Zeit an sein.

Das mit den 30-50kHz im Datenblatt ist übrigens die Differenz zwischen 
den Frequenzen, die das Modul sendet, je nachdem ob der DATA-Eingang auf 
1 oder 0 liegt, diese Frequenz mußt Du also nicht nochmal an DATA 
anlegen.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jl wrote:

> Du musst den Sender ausschalten und darfts ihn nur 10% duty cycle
> einschalten.

1 %, nicht 10 %, ansonsten aber richtig.  Der Sender macht FSK, d. h.
er sendet (solange er aktiviert ist) immer auf einer der beiden
Frequenzen.

Listen-before-talk wäre eine Möglichkeit, um die Duty-Cycle-Regelung
zu umgehen, aber das kannst du mit einem reinen Sender natürlich
nicht, dafür brauchst du einen Transceiver.

Alternativ kannst du natürlich von denen auch die 433-MHz-Version
benutzen, dann hast du keine Einschränkung im duty cycle.  Allerdings
haben natürlich alle anderen Nutzer des Bandes auch keine solche
Einschränkung, und insbesondere dürfen die Funkamateure als Primär-
nutzer dort mit bis zu 750 W senden.

Autor: Sebastian Kreuzer (bastik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antworten!

Puh... das zerstört alle meine " Ach ist das einfach Träume "

Die 433 Mhz wären eigentlich schon eine Lösung aber es sollte ( 
eigentlich muss ) relativ Störsicher sein. Also ich will nicht abhängig 
sein von irgendwelchen lustigen Funkern...

Mh.. Das problem ist, das das Modul ja 0,8 bis 1 ms beim einschalten 
verzögert...

Was haltet Ihr davon:

1)Start-Signal wird gegeben
2)Atmel setzt Enable von Funkmodul auf High
3)Warten von 1 ms ( das ist der max-Wert im Datenblatt bis für Zeit bis 
gefunkt wird )
4) Übertragung des Startsignals
5) Später am Ziel die 1ms dazu rechnen

Ich mein den Empfänger kann ich ja immer AN lassen, oder?

Aber wie sieht es aus wenn der Empfänger AN ist? Nach Datenblatt liegt 
am Ausgang dann ein Rauschen an...
Wie erkenn ich dann den Stabilen-Pegel.
Also blöde Frage, ist beim Rauschen dann quasi garantiert, dass ich nie 
einen zulangen definierten Pegel habe.
Wenn das so wäre könnte ich ja die Sequenz mit einer langen 0 oder 1 
starten und somit erkennen ob der Sender An oder Aus ist und dann 
schnell mein Start-Signal über die Leitung schicken....

Und dann hoffen, dass sich nicht jemand in der nachtbarschaft genau die 
Selbe kodierung überlegt hat...

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1 ms stört dich?

Du beliebst zu scherzen.  Dann ist Funk einfach keine Lösung für
dich.  Nimm ein Kabel, dann bist du Herr über das Medium.

Für eine störsichere Übertragung solltest du auf jeden Fall einen
Transceiver nehmen und eine Bestätigung verschicken, damit man die
Übertragung im Fehlerfall wieder anschieben kann.  Da bist du dann
ziemlich schnell bei IEEE 802.15.4 (,,Zigbee'', auch wenn's nicht
Zigbee ist).  Ja, das gibt's auch im 868-MHz-SRD-Band.

Aber wie geschrieben, zeitliche Anforderungen von 1 ms als Garantie
sind für Funk (jenseits einer expliziten Frequenzzuteilung für dich
allein) einfach mal illusorisch.

Autor: Sebastian Kreuzer (bastik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mh...

@Jörg

Also es geht hier ja um meine Anwendung....

>> "ersetzt werden zum Triggern ( starten ) einer Zeitmessung."

also, wenn es um Zeitmessung geht ist halt 1 ms = 1 ms. Würde die bei 
einer Zeitmessung ungern einfach wegdiskutieren oder fallen lassen... 
:-/

Ist eine Rückmeldung bei einem Trigger Signal nicht halbwegs sinnlos:

Start - Start - Start OK ?

Was könnte es nützen , den im Fehlerfall wäre ja eben der Start der 
Zeitmessung schon vergangen und die Messung hinfällig....

Zigbee! Nichts lieber als das, ich lege gern 10 Euro drauf für Zigbee 
und Bluetooth und co . Aber bei dieser Lösung weiß ich ja am aller 
wenigstens wie lange nun das Start-Signal auf dem Weg ist, womöglich 
wird es ja nochmal zurückgeschickt....
Also kann(?) das doch für mich keine Lösung sein...

Bin aber gern offen für Vorschläge!

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, Zeitmessung ist immer relativ.  Du hättest ja auch was im
Bereich von 100 ms Genauigkeit brauchen können, für andere Leute
wiederum fangen Zeitmessungen vielleicht bei 10 ps an...

Für 1 ms Genauigkeit sehe ich einfach keine realistische Chance,
das mit einer auch nur hinreichend hohen Wahrscheinlichkeit ohne
Retries und innerhalb dieser Zeit in Verbindung mit weiteren
Bedingungen (wie duty cycle) auf einem öffentlich verfügbaren
Band hin zu bekommen.  Bei BPSK-20-Modulation gemäß IEEE 802.15.4
auf 868 MHz benötigt ja bereits die Präambel 2 ms für die
Übertragung.  Nach dieser Zeit ist dann erst einmal der Empfänger
auf den Rahmen synchronisiert, aber den muss man auch noch
übertragen.  OK, O-QPSK 100 (IEEE 802.15.4-2006) könnte die Präambel
in 400 µs übertragen, danach dann 80 µs für den PHR (d. h. das Feld
mit der Rahmenlänge), danach vielleicht 1 Byte Nutzlast und 2 Byte
CRC, also nochmal 240 µs.  Das kommt dem vielleicht schon nahe, nur:
eine Garantie hast du damit nicht, und irgendwelche Retries
bekommst du in der Zeit auch nicht unter.  Du kannst noch nicht
einmal eine Kanal-frei-Erkennung machen, wie 802.15.4 sie normalerweise
vor der Aussendung macht.

Autor: R. Max (rmax)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falls möglich, könntest Du den Zeitpunkt des Start-Ereignisses im 
Controller auf der Senderseite messen und den Zeitstempel übertragen.
Aber auch da wäre ein Rückkanal sinnvoll, für Bestätigungen und evtl. um 
die Uhren zu synchronisieren.

Eine Variante ohne Rückkanal und synchronisierte Uhren wäre:

- Du optimierst die Übertragung nicht auf eine möglichst kurze 
Zeitdauer, sondern auf eine möglichst konstante Verzögerung, die Du am 
Ende möglichst genau mißt.

- Der Sender sendet unabhängig von eintreffenden Start-Ereignissen 
regelmäßig den aktuellen Stand seines Zeitzählers.

- Der Sender sendet das Start-Ereignis zusammen mit dem aktuellen 
Zeitstempel mehrmals nacheinander.

Nun kann der Empfänger aus dem Zeitpunkt der letzten 
Zählerstandsmeldung, der Verzögerung und dem Start-Zeitstempel den 
genauen Start-Zeitpunkt errechnen, auch wenn er das Start-Paket 
vielleicht erst bei der zweiten oder dritten Aussendung korrekt 
empfangen hat.

Für weitere Hilfe wäre es evtl. sinnvoll noch ein bißchen mehr über die 
Anwendung zu wissen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.