SBUS-Switch

onki

User
Hallo,

So -ich hab jetz nochmal ein wenig experimentiert.
Die SMD ATtinys bekomme ich (auf der Platine nicht programmiert. Die DIL-Versionen gehen problemlos (gleicher Programmierer, gleiche Einstellungen. Die Verdrahtung ist verifiziert, rivchtig und durchgeklingelt. Da ich einen SMD über habe versuche ich nochmal die Kabel direkt am SMD anzulöten.
Der Testaufbau auf dem Steckbrett (ohne Treiberstufe - der Ausgang kann ja bis 40mA) funktioniert soweit.
Nur scheint das SBUS-Signal eines REX6 Empfängers irgendwie nicht so der Knaller zu sein. Das Schalten des Ausganges klappt nur unzuverlässig (Modus 4 Kanal 9-16 mit PWM) und auch die PWM-Ausgabe ist holprig.
Mit einem FrSky RX-4R funzt alles sehr zuverlässig.

Gibt es beim SBus-Signal solch krasse Unterschiede?

Gruß
Onki.
 
was sagt denn die LED im Betrieb ?
(auf Prog-Karte Jumper abgezogen und Codeschalter auf 0 oder einfach nur eine LED mit Vorwiderstand zw Pin 9 und GND)
Leuchtet sie stetig oder flackert sie ?
 

onki

User
Hallo,

Ab und zu sieht man ein kurzes "Zucken" der Diagnose-LED wenn man die Dimmfunktion-Regler schnell bewegt.
Das Problem scheint aber gelöst. Ich hab die "Impulsgeschwindigkeit" im Sender von 20ms auf 17ms herabgesetzt. Damit funktioniert es besser.

Gruß
Onki
 
sehr guter Hinweis!
Scheinbar sind die Timer für 10ms-Frames zu knapp eingestellt.
Futaba und FrSky mit ACCST haben ein 9ms Framing. FlySky und FrSky mit ACCESS sogar nur 7ms.
Leider ist das SBUS Protokoll echt besch.... Es gibt keine eindeutigen Start- und Stop-Bytes. Um Fehler zu identifizieren und das Start-Byte eines Frames zu finden muss man immer die Zeitrahmen betrachten, in den Daten kommen oder eben nicht.

Wenn Du Lust hast zu testen, kann ich dir eine Test-Binary zukommen lassen mit dem auch 10ms-Frames funktionieren sollten
 
Hallo Onki,
das wäre super. Beginn mal mit der "160"
Allerdings scheint Jeti dann noch andere Dinge zu ändern. Ich werte nur die Dauer während der Datenübertragung aus (ca 3ms) und nicht die Pausen. Egal - teste mal ob das mit den Varianten funktioniert
 

Anhänge

  • sbus-switch-V2.2.0rex160.bin.dat
    2,2 KB · Aufrufe: 137
  • sbus-switch-V2.2.0rex180.bin.dat
    2,2 KB · Aufrufe: 149

onki

User
Hallo,

So - ich hab beide Versionen mal getestet.
Proband war ein REX 6 mit aktueller Firmware. Ausgang E2 auf SBUS eingestellt.

Mit der 160er Version leigt der Bereich, in dem die Ausgabe ohne Probleme arbeitet (flackern der Diagnose LED bzw. der Ausgänge) bei 15-18ms.
Bei der 180er Version verschiebt es sich etwas auf 14-17ms.

Bei allen anderen Einstellungen darüber wie auch darunter kommt es zu flackernden Ausgängen. Ebenso bei Einstellung Auto.
Die Idealeinstellung für alle Versionen liegt also bei 17ms.

Ich hoffe das hilft dir weiter.

Gruß
Onki
 
OK - dann scheint es das einfachste zu sein den Empfänger auf 17ms einzustellen.
Wie heisst der Parameter genau? Dann nehme ich das in die Anleitung auf.
 
hier (auf mehrfachen Wunsch) ein paar Beispiele für leistungfähigere Treiber.
Die Beispiele lassen sich beliebig mischen und können an Schalt- oder Dimm-Ausgänge des AVR angeschlossen werden.
Wenn man die FET-Treiber bei >50% der Max-Leistung im Dimm-Betrieb nutzt, muss man evtl für etwas Kühlung sorgen.
Motortreiber gibt es sehr viele, in allen Leistungsstufen. Das Grundprinzip der Anschaltung ist aber oft das Gleiche.


SBUS-Switch V2.1.png

Links:
 
Zuletzt bearbeitet:

onki

User
Hallo,

hier mal ein Screenshot der betreffenden Einstellung:

Screen001.png

Ist in den Geräteeinstellungen (zugänglich über die Geräteübersicht) im Menü Haupteinstellungen zu finden.

Gruß
Onki
 

onki

User
Hallo,

Es gibt da doch noch ein kleines Problem.
Ich hab nochmal die Originalsoftware drauf gemacht (2.2.0).
Da gibt es mit Jeti ein generelles "Startproblem". Wenn ich Jeti RX und TX einschalte geht erstmal gar nix.
Wenn ich dann mit der Impulsgewschwindigkeit herumspiele leuchte die Diagnose LED auf einmal auf und alles klappt.
Die anderen Versionen verhalten sich so, dass hier zumindest die Funktion aus dem Programmiermodus heraus (Programmierung auf Modus 4) erfolgt.
Kaltstart geht hier auch nicht. Hier sehe ich nur ein Blitzen (ca. 1Hz) der Diagnose LED.

Bei FrSky alles kein Thema, da klappt es immer zuverlässig.

Gruß
Onki
 
Hallo

Ich habe jetzt einen Jeti REX6 mit Firmware 1.14.
Als Sender nutze ich meine QX7 mit Jetimodul.
Das ganze an einen Logic-Analyser gehängt brachte die Erleuchtung.

Man muss als "Output Period" im Empfänger 9ms eintragen. Dann wird der SBUS-Frame auch mit 9ms ausgegeben, so wie es sie SBUS-Spezifikationen vorsehen.

Mit diesen Einstellung hat man dann auch eine stabile Verbindung zum SBUS-Switch.

Auffällig ist, dass der Jeti-Empfänger beim Framing sehr ungenau ist. Es gibt Abweichungen von bis zu +/-1ms.
Damit kommt der SBUS-Switch aber gut zurecht und kann daher so uneingeschränkt benutzt werden.
Die Abweichungen bei FrSky-Empfängern liegen im Bereich weniger µs.
 

onki

User
Hallo,

hab die Schaltplatine als diskreten Aufbau mit DIL-Bausteinen nun auch in meinem Crawler am Laufen.
Hab noch einen 78L05 spendiert, damit der µC brav seine 5V bekommt. An den Ausgängen hab ich noch diese winzigen LED KSQ drangehängt und auch die JST-Platinenstecker, damit die Beleuchtung daran direkt angeschlossen werden kann.
Da die BEC-Spannung geschaltet ist, liegen die rund 12V (3s LiPo) immer am Board an, die Ausgänge sind aber abgeschaltet was soweit sehr gut ist.
Ich nutze die beiden PWM-Kanäle für Front und Rücklicht für Fernlicht und Bremslicht. Wichtig ist hier die Einstellung auf 130% Servoweg, damit es richtig funktioniert.

Für Hinweise wie man ein Bremslicht automatisiert in OTX realisieren kann, wäre ich dankbar (also eine Art Differenzierglied mit Filter).

Gruß
Onki
 
  • Like
Reaktionen: gpo

onki

User
Hallo,

Ideal wäre es wenn das Bremslicht ca. 1s aufleuchtet (100% PWM), wenn ich vom Gas gehe (vor- wie rückwärts).
Es ginge aber auch, wenn eine Knüppelbewegung von +x bzw -x nach Nullstellung einen 1s "Impuls)" erzeugen würde.
Der von dir gezeigte Modus funzt natürlich auch, ich fahre so aber selten bis gar nicht.

Gruß
Onki
 

onki

User
Hallo,

Danke - so hatte ich das auch angedacht, in der Denkphase dann aber gleich verworfen weil es mir unlogisch erscheint (weil X ja immer = 0 ist wenn der Knüppel in Neutralstellung ist und somt eine Art Blinken entstehen sollte.
In der Praxis ist das aber anders, daher funzt es.

Gruß
Onki
 

onki

User
Hallo nochmal,

bin gerade zufällig auf diesen LED-Treiber hier gestoßen:


Der wäre prima geeignet um statt eines ULN xxxx direkt ein paar LEDs mit konstantem, einstellbaren Strom zu schalten (über den Enable-Eingang).
Ohne zusätzlichen Widerstand bringen die Teile 10mA Konstantstrom, der aber über einen Fußwiderstand auf bis 350mA erhöht werden kann.

Wäre für Funktionsmodellbauer für kompakte Mehrkanal S-Bus-Lichtsteuerungen sicher eine schicke Lösung.

Gruß
Onki
 
Treiber gibt es jede Menge...
Du musst hat 8 von diesen Krabbelkäfern verbauen. Plus 8 Widerstände.
In den meisten Fällen erreichst Du das gleiche mit einem UDN und Vorwiderständen mit wesentlich weniger Aufwand.
Die Treiber muss man immer im Zusammenhang mit der jeweiligen Anwendung sehen. Der UDN oder ULN sind nur 2 von unzähligen Möglichkeiten.

Softwaremäßig gibt es demnächst noch die Möglichkeit die PWM-Frequenz der Dimmfunktion von 60Hz - 15kHz einzustellen. Sinnvoll z.B. für Motorsteuerung.
Manchmal erwischt man AVR’s, deren Taktfrequenz soweit abdriftet, dass das SBUS-Signal nicht erkannt wird. Hier kommt eine einfache Möglichkeit sehr einfach den Takt zu kalirieren
 
Ansicht hell / dunkel umschalten
Oben Unten