Wie kann ich zwei ASK RF Sendemodule (433 MHz) gleichzeitig betreiben, ohne dass sie sich gegenseitig stören?

Das Senden mit diesem Sender scheint viele drahtlose Geräte (möglicherweise mit derselben Frequenz) zu stören, wie z . Eine Problemumgehung besteht darin, einen Oszillator zu verwenden, um diskontinuierlich zu senden (ein kurzer Burst alle paar Sekunden). Aber ich habe mich gefragt, ob es eine Möglichkeit gibt, das Störproblem zu lösen und Signale von beiden Sendern gleichzeitig zu übertragen. Der Empfänger ist für beide Sender gemeinsam (mit unterschiedlichen Adressen unter Verwendung von HT12E), und daher wird zu jedem Zeitpunkt ein Signal von nur einem Sender verwendet. ASK RF Sender und EmpfängerDatenblatt (nicht das genaue Produkt, aber ähnlich) https://electrosome.com/wp-content/uploads/2014/10/MO_SAWR.pdf

Sie sind nicht wirklich für die kontinuierliche Übertragung gedacht , sondern für kurze Bursts (wie die von Ihnen erwähnten Eingabesysteme). Ihre Optionen sind im Grunde eine Art oder CSMA/CD, CSMA/CA oder zeitbasiert (möglicherweise Zeitschlitze wie GSM, wenn Sie viele davon haben werden).
Ich habe nur zwei davon. Die anderen beteiligten Komponenten sind ein Prioritäts-Encoder, ein ht12e-Encoder usw. Ich habe darüber nachgedacht, es wirklich einfach zu halten. Aber wenn es nicht anders geht, werde ich deinen Vorschlag berücksichtigen. Ich werde mich auf den Weg machen, um etwas über CSMA/CD und CSMA/CA zu recherchieren, da ich mich vorher noch nicht damit befasst habe. Aber es wäre wirklich hilfreich, wenn du mir den Einstieg erleichtern könntest 😄

Antworten (2)

Ihr Empfänger ist auf eine einzelne Frequenz festgelegt und kann das Signal jeweils nur von einem Sender empfangen, sodass Ihre einzige Option eine Art Zeitmultiplex ist (dh jeder Sender sendet einen Burst in einem anderen "Zeitschlitz", wenn der andere einer ist untätig).

Das Problem ist, wie sichergestellt werden kann, dass jeder Sender in seinem eigenen Zeitschlitz bleibt und nicht über den anderen stampft? Sie brauchen eine Möglichkeit, sie zu synchronisieren. Eine Möglichkeit könnte darin bestehen, dass ein Sender einen Empfänger enthält, der auf Übertragungen von dem anderen lauscht, dann kann er den Zeitschlitz des anderen Senders vermeiden. Oder Sie könnten gelegentlich ein Synchronisationssignal an beide Sender senden, die dann lange genug synchron bleiben, um in der Zwischenzeit eine Kollision zu vermeiden (wie lange hängt davon ab, wie genau die Uhren in jedem Sender sind).

Alternativ könnten Sie sie einfach kollidieren lassen und sich darauf verlassen, dass der Decoder es regelt. Damit dies zuverlässig funktioniert, muss jeder Sender Bursts mit einer anderen (asynchronen) Rate oder mit zufälligen Verzögerungen senden. Gelegentlich kollidieren sie und dann wird das beschädigte Signal vom Decoder zurückgewiesen, aber meistens senden sie zu unterschiedlichen Zeiten, damit ihre Signale durchkommen. Da HF-Übertragungen ohnehin durch Rauschen und Störsignale verfälscht werden können, unterscheidet sich dies nicht wesentlich von der Verwendung eines einzelnen Senders (nur ein paar verlorene Datenpakete mehr).

Das HT12E benötigt etwa 40 ms, um einen Burst zu senden, sodass die absolute Höchstrate für den Empfang von zwei Übertragungen etwa 12 pro Sekunde beträgt. Wenn die Sender jedoch nicht synchronisiert sind, benötigen Sie möglicherweise eine viel niedrigere Rate, um Kollisionen zu reduzieren. Wenn dies nicht akzeptabel ist, müssen Sie möglicherweise anspruchsvollere Transceiver verwenden.

Das Hinzufügen eines weiteren Empfängers mit dem zweiten Sender, um einen Transceiver zu bilden, und das "Hören und Senden im Leerlauf" würde großartig funktionieren. Die maximale Verzögerung, die ich mir zwischen jeder Übertragung von einem Sender leisten kann, beträgt 8 Sekunden. Einen Sender so einzustellen, dass er jede 7 relative Zeiträume werden sich wahrscheinlich nicht wesentlich ändern). Danke
Ein Problem mit dem "Hör"-Trick besteht darin, dass es, sobald es auf die andere Übertragung "hört" und mit der Übertragung seines eigenen Signals beginnt, das andere Signal nicht mehr hören kann, da es von seinem eigenen Sender gestört würde. Daher müsste ich es tun Ändern Sie es in "Zuhören, wenn inaktiv, für eine feste Zeit senden und dann wieder zuhören". Angesichts all dessen wäre das Senden zu unterschiedlichen Zeiten weniger anspruchsvoll und der relativ seltene Datenverlust ist tolerierbar, wenn man bedenkt, dass die in Rede stehenden Sender nicht so hochwertig sind.

Sie müssen einen Medium-Zugriffskontrollmechanismus finden , der Ihren Anforderungen entspricht.

Am einfachsten ist es, ein Gerät als Master und die beiden anderen als Slaves festzulegen. Der Master fragt jeweils nur einen von ihnen nach Daten. Der Slave sendet nur, wenn er vom Master dazu aufgefordert wird, sodass Sie Kollisionen leicht vermeiden können.