SBUS-Switch

mein neustes Bastelprojekt: Der SBUS-Switch

Mit dem SBUS-Switch können 8 Schaltausgänge über SBUS angesteuert werden.
Max. Schaltleistung: 500mA pro Kanal

Meine Suche im Netz nach einem vergleichbaren kommerziellen Produkt blieb erfolglos. Also musste ich selbst ran.

IMG_2962.JPG

SBUS-Switch V1.1 Plan.jpg
 

Anhänge

  • SBUS-Switch V1.1.2.pdf
    683,8 KB · Aufrufe: 944

I3uLL3t

User
hi,
Top Doku und simpel nachzubauen. Eine Frage zum Verständnis habe ich aber trotzdem.
Ist das "nur" zum schalten von LED´s und anderen Aktoren oder wird das Sbus Signal in ein PWM Signal konvertiert für Sensoransteuerung und dergleichen?
Kenne die Bauteile nicht wirklich, deswegen entschuldige meine frage :D


Gruß Marcel
 
„nur“ schalten!
Das war das Ziel der Entwicklung.
Sbus zu PWM konverter gibt es für kleines Geld beim China-Mann. Aber eben keine Schaltaktoren.
Wenn Du nachbauen willst, dann melde dich mal per PN
 

I3uLL3t

User
Aktuell habe ich dafür keine Verwendung leider.
Sehe das Potenzial für dein Switch bei Funktionsmodellen oder Großen Scale Modellen.
Für meine Segelflieger kann ich es leider nicht gebrauchen. ändert nichts daran das es ne coole Sache ist :)
Alle sagen man findet die Konverter für kleines Geld. Ich irgendwie nicht :D zumindest sind 15€ für mich nicht kleines Geld für einen.
 
V2

V2

die Version 2 ist fertig.
Wichtigste Neuerung ist, dass man alle 8 Schaltausgänge über einen Kanal steuern kann.
Das ganze funktioniert unter openTX. Ggf auch unter erSky oder anderen Systemen bei denen man 9 freie Mischer auf einen Kanal wirken lassen kann.
Details siehe Anleitung
 

Anhänge

  • SBUS-Switch V2.0.3.pdf
    657,9 KB · Aufrufe: 1.140
Binaries

Binaries

für Nachbauer die Binaries.

bekannte Probleme: die AVRs haben eine gewisse Serienstreuung. Der interne Takt weicht bei einzelnen Exemplaren so stark ab, dass eine zuverlässige Übertragung der SBUS-Daten nicht möglich ist
 

Anhänge

  • sbus-switch-V2.0.1.bin.dat
    2,5 KB · Aufrufe: 555
  • Fusebits.txt
    16 Bytes · Aufrufe: 404
  • Fusebits.jpg
    Fusebits.jpg
    163,4 KB · Aufrufe: 634
  • Like
Reaktionen: lab

Walter24

User gesperrt
Hy,

da gibt es doch die Takt-Korrekturwerte um die 8MHz exakt zu kalibrieren wg der Streueung

Wenn man da ein Hilfsprogramm schreibt das 1s oder 10s Takte bringt könnte man sich den Korrekturwert ausrechnen und eintragen.

Klar mit Oszi und Frequenzzähler geht das einfacher.
 
Hy,
da gibt es doch die Takt-Korrekturwerte um die 8MHz exakt zu kalibrieren wg der Streueung

das wäre evtl eine Möglichkeit. Da der interne Oszillator aber auch von der Versorgungspannung und der Temperatur abhängt, werde ich evtl einen Keramik-Oszillator verbauen.
Die beiden Pins beim Tiny4313 verwende ich zZt nur für die Prog-Karte. Die kann ich frei machen.
Dann muss ich auch nicht jeden einzelnen prüfen und kallibrieren.
Grundsätzlich läuft die Übertragung sehr stabil. Ich habe mal testweise über ein paar Stunden die Fehler gezählt und kam auf genau 0. Das waren ca 30MByte Daten. Da kann man nicht meckern.
 

lab

User
Hallo Marcel,

ein schönes Projekt und genau das, was ich gerade suche!

Ich habe noch nicht ganz verstanden, wie die Ansteuerung des Moduls über einen Kanal funktioniert. Ok, mit Mischern, aber welche Werte müssen zusammengemischt werden..? Kannst Du dazu vielleicht ein Beispiel geben (ich verwende OpenTx auf einer Taranis X9D)?

Danke & Gruß, Kai
 

wkrug

User
Ich mag ja hier nicht rumunken, aber gehört da nicht an den Reset Pin noch ein Pullup Widerstand ran?

Der Pin ist nicht disabled und SPI Programming ist ja auch ein.

Mit nem Programmer kann man die Korrekturwerte für den Chip berechnen lassen und in vorbelegte Speicherplätze schreiben ( OSCCAL ).
Damit wäre dann der interne Oszillator schon mal gut abgestimmt.

Wenns klein aber genau sein muss nehm Ich auch gerne mal Keramikresonatoren in SMD Bauweise.
Gibts aber auch bedrahtet.
Und die Nachbausicherheit wird erhöht.
 
Hallo Marcel,

ein schönes Projekt und genau das, was ich gerade suche!

Ich habe noch nicht ganz verstanden, wie die Ansteuerung des Moduls über einen Kanal funktioniert. Ok, mit Mischern, aber welche Werte müssen zusammengemischt werden..? Kannst Du dazu vielleicht ein Beispiel geben (ich verwende OpenTx auf einer Taranis X9D)?

Danke & Gruß, Kai

Hallo Kai
was Du programmieren musst, ist in der Anleitung ab Seite 10 beschrieben. Das ist für alle openTX-Sender gleich.

Siehe auch Tabelle Spalte C
werte.PNG

Der Min/Max-Wert des Kanals muss auf -130%/130% erweitert werden.
Der "Grundwert" (alles aus) ist -92,5% - Fester Mischer - immer aktiv.
Beispiel:
Um Ausgang 1 (auf dem SBUS-Switch) einzuschalten muss +0,5% zugemischt werden
Um Ausgang 2 einzuschalten muss +1,5% zugemischt werden
Um Ausgang 1 und 2 einzuschalten muss +2% zugemischt werden - also beide Mischer aktiv sein.
So lässt sich jeder Ausgang individuell ansteuern.
Da man in Mischern immer nur ganze %-Werte eingeben kann, muss ich den Umweg über die Kurve nehmen, die mit die Werte einfach halbiert.

Das Handling in openTX ist dann ganz einfach. Du richtest die 8 Mischer für die 8 Ausgänge ein und weist jedem Mischer einen Schalter zu. Mit diesem Schalter kannst Du dann direkt den entsprechenden Ausgang auf dem SBUS-Switch ein und auschalten.
Siehe auch Doku S11 unten
 
Ich mag ja hier nicht rumunken, aber gehört da nicht an den Reset Pin noch ein Pullup Widerstand ran?

Der Pin ist nicht disabled und SPI Programming ist ja auch ein.

Mit nem Programmer kann man die Korrekturwerte für den Chip berechnen lassen und in vorbelegte Speicherplätze schreiben ( OSCCAL ).
Damit wäre dann der interne Oszillator schon mal gut abgestimmt.

Wenns klein aber genau sein muss nehm Ich auch gerne mal Keramikresonatoren in SMD Bauweise.
Gibts aber auch bedrahtet.
Und die Nachbausicherheit wird erhöht.

Grundsätzlich schon. Bei den AVR's ist der interne Pullup aktiv und damit keine Beschaltung nötig.

Man könnte den internen Oszillator kallibrieren, aber ich müsste eine Routine einbauen, die die Abweichung berechnet und ausgibt. Am einfachsten man gibt einen Takt aus und misst ihn mit Oszi nach.
Daher habe ich auf Seite 3 in der Doku auch den Keramik Resonator vorgesehen.

Scheinbar ist das Problem aber garnicht so gross. Es ist wohl nur eine Serie, die ich erwischt habe bei denen es einige Abweichler gab. Alle AVR's die ich vorher und nachher gekauft habe laufen ohne Probleme. Alle Module die ich selbst im Einsatz habe, habe ich auf den externen Resonator verzichtet.
 
Hallo Jan,
Du kannst einfach als Treiberstufe statt dem UDN2981 einen ULN2803 nehmen. Der Schaltplan bleibt unverändert. Nur Plus und Minus von U-Last ist dann vertauscht.
 

Anhänge

  • ULN.JPG
    ULN.JPG
    27,8 KB · Aufrufe: 489
Ich sehe jetzt keinen Grund, warum das nicht funktionieren sollte. Ich habe aber kein Futaba System mit dem ich das testen konnte. Futaba schickt die Daten, genau wie FrSky in einem Framing von 9ms. Getestet habe ich mit FrSky und FlySky.
Probiere es einfach mal aus. Falls das Rhein-Main-Gebiet für dich erreichbar ist, können wir notfalls etwas nachentwickeln...

Von Seiten der Senderprogrammierung ist der Multikanal Mode (8 Ausgänge werden über 8 Kanäle angesteuert) unproblematisch. Ob Dein Sender ein Einzelkanal Mode (alle 8 Ausgänge werden über einen Kanal angesteuert) ansteuern kann müstest Du dann mal ausprobieren.
 
Ansicht hell / dunkel umschalten
Oben Unten