FLProg + nooLite (Fortsetzung)
In einem früheren Beitrag habe ich über die Implementierung der Unterstützung für nooLite-Geräte im FLProg-Programm gesprochen. Ich habe nicht über eine sehr praktische Funktion dieses Geräts gesprochen, mit der Sie mehrere Transceiver an denselben UART-Port anschließen und unabhängig voneinander handhaben können. Ich habe beschlossen, diese Auslassung zu korrigieren.Das Schema zum Anschließen mehrerer Transceiver an einen UART-Port (aus der Transceiver-Dokumentation entnommen) sieht folgendermaßen aus:
Ein Merkmal dieser Aufnahme ist die Verwendung von SE-Transceiver-Eingängen. Wenn an diesen Eingang 0 V angelegt werden, reagiert der Transceiver nicht auf Befehle, die über UART übertragen werden, und wenn 3-5 V angelegt werden, werden die Befehle ausgeführt.In dieser Lektion werden wir mehrere Lasten mit verschiedenen Transceivern ein- und ausschalten.Schema des Prüfstands:
Wir erstellen ein neues Projekt und konfigurieren darin den Input-Output der Steuerung.Zuerst erstellen wir drei Eingänge für die Tasten:
Da die Tasten zwischen GND und dem Eingang angeschlossen sind, schalten wir die Pull-up-Widerstände ein. Für einen klaren Betrieb schalten wir den Ratternschutz ein.
Dann erstellen wir drei Ausgänge zur Steuerung von Transceivern.
Dann erstellen wir sechs Variablen für die Steuerbefehle.
Ziehen Sie nun den ersten Eingang auf die Schaltung, zwei R-Flip-Flop-Blöcke (Blockbibliothek - Ordner „Trigger“) sowie zwei Variablen - „Befehl zum Einschalten von Last 1“ und „Befehl zum Ausschalten von Last 1“. Dann verbinden wir sie gemäß dem Schema:
Wie arbeitet sie? Da zwischen GND und dem Eingang eine Taste angeschlossen ist und auch ein Pull-up-Widerstand eingeschaltet ist, ist der Ausgang der Eingabeeinheit beim Loslassen der Taste 1 und beim Drücken der Taste 0. Der obere R-Trigger wählt die Vorderflanke aus (Übergang von 0 nach 1) - dann Es gibt einen Moment des Loslassens der Taste und erzeugt einen kurzen Impuls zum Trennen der Last in der Variablen "Lastabwurfbefehl 1". Der untere R-Trigger erzeugt, da sein Eingang invertiert ist, eine Hinterflanke (Übergang von 1 nach 0) - dh in dem Moment, in dem die Taste gedrückt wird. Und es bildet sich in diesem Moment auch ein kurzer Impuls in der Variablen „Befehl zum Einschalten von Last 1“.Wiederholen Sie diese Schaltung nun für die restlichen Eingänge.
Wir werden dieses Board "Front Highlighting" nennen und ein weiteres erstellen. Sie können es sofort als "Transceiver Management" bezeichnen. Ziehen Sie die Variablen "Befehl zum Einschalten der Last 1" und "Befehl zum Ausschalten der Last 1", den ODER-Block (Elementbibliothek - Ordner "Grundelemente") und die Ausgabe "Transceiver 1 einschalten" per Drag & Drop. Dann verbinden wir sie gemäß dem Schema:
Wie funktioniert es? In Gegenwart von 1 zu der Variablen „Befehl , um die Last 1 zu schalten“ , oder in der Variablen „Befehl zum Deaktivieren Last 1“ Ausgang „Aktivieren des Transceivers 1‚log 1 ( das heißt, der Sender - Empfänger 1 den Befehl zugeführten erfüllen). Wiederholen Sie diese Schaltung für die restlichen Transceiver.
Lassen Sie uns ein neues Board "Sendende Teams" erstellen., , , , . , , . .
Ziehen Sie alle Aktivierungsbefehlsvariablen auf die untere Karte, den ODER-Block (Element Library - Ordner Basic Elements) und die Steuereinheit nooLite Transceiver (Element Library - Ordner Miscellaneous). Verbinden Sie sie.
In Übereinstimmung mit dem Schema wird ein Befehl zum Einschalten der Last gesendet, wenn in einer der Variablen ein Protokoll.1 angezeigt wird. Konfigurieren Sie die nooLite-Transceiver-Steuereinheit für die Übertragung dieses Befehls.
Wiederholen Sie diese Schaltung, um einen Befehl zum Herunterfahren zu senden.
Richten Sie den Block ein.
Nun, das ist es. Vielen Dank für Ihre Aufmerksamkeit.Source: https://habr.com/ru/post/de391837/
All Articles