suche Signalumschalter

Hallöchen,

Ich suche für mein aktuelles Projekt mit dem Due eine art Umschalter.

Der Due erzeugt ein PWM-Signal. Dieses wird über digitalWrite an einem Pin ausgegeben, funktioniert soweit perfekt. Der Empfänger hängt am gleichen Akku wie der Due. Jetzt möchte ich gerne einen zusätzlichen PWM-Empfänger dran basteln. Der Due soll, je nach gewähltem Programm, entweder den einen oder den anderen aktivieren und das Signal zu diesem schicken, am besten wenn das über ein Pin vom Due gesteuert werden kann.

Geht das? Wenn ja, was für Bauteile brauch ich dazu?

Ein Pin ist wichtig, weil durch diverse Inputs, SD-Karte, TFT, Serielle Verbindungen uswusw der Platz extrem begrenzt ist, es sind noch genau 3 Stück frei und ich möchte mir gerne für die Zukunft noch was offen halten.

Dankeschön

Über digitalWrite eine PWM zu erzeugen ist nicht so vorteilhaft, wenn diese auch noch genau und im hohen Frequenzbereich stattfinden soll.

Was verstehst du über PWM Empfänger?

Mit einem Pin wird das meiner Meinung nach nicht mehr so klappen. Was gehen dürfte, wäre die Aufgabe mit einem PWM sowie normalen Digitalen Pin zu nutzen.

Wenn der Digitale Pin HIGH ist, wird die PWM zum ersten Gerät geschickt, ist der Digitale Pin LOW, wird es zum zweiten Gerät durchgeleitet. Möglich wäre es mit folgendem Logikbauteil SN74LVC1G18

Allgemein geht das mit Multiplexern. Bei dir reicht ein Digital-Multiplexer, aber man kann auch einen Analog-Multiplexer nehmen.

Da gibt es auch Standard ICs in DIP wenn du nichts ausgefallenes in SMD willst.

PWM-Empfänger hab ich die Dinger nur hier genannt um es einfach zu halten.
Genau genommen gehts auch um ein PPM-Signal, das an entweder ein Jeti Duplex TU2 oder ein FrSky DHT geht. Die Erzeugung ist bombensicher und super genau. Ich habe dazu eine ISR geschrieben, mit TIMER_CLOCK1, der Pin wird jeweils HIGH/LOW geschaltet. Am Oszilloskop nachgemessen, die Toleranz bewegt sich im Bereich von unter 0,1%, genauer kann ich nicht messen, genug für meine Zwecke.

void TC6_Handler(){
  static boolean state = true;
  TC_GetStatus(TC2, 0);
  if (state){
    digitalWrite(signalPin,Polaritaet);
    TC_SetRC(TC2, 0, PPM_Puls);
    state = false;
  } else {
    static byte cur_chan_numb;
    static unsigned int calc_rest;
    digitalWrite(signalPin,!Polaritaet);
    state = true;
    if(cur_chan_numb >= kanalanzahl){
      cur_chan_numb = 0;
      calc_rest = calc_rest + PPM_Puls;
      TC_SetRC(TC2, 0, (PPM_Frame - calc_rest));
      calc_rest = 0;
      eingabe();
    } else {
      TC_SetRC(TC2, 0, (ppm[cur_chan_numb] - PPM_Puls)); 
      calc_rest = calc_rest + ppm[cur_chan_numb];
      cur_chan_numb++;
      }
  }
}

Da aber PPM_Puls immer gleich ist, werd ich das nochmal umschreiben, RA ist dann PPM_Puls und Ausgabepin wird der dem Timer entsprechende. Wenn Zeit ist, erstmal stehen andere Dinge an, wie zum Beispiel meine eigentliche Frage.

Kann mich schlecht ausdrücken… Ich meine Logisch so etwas:

Hat wer einen Konkreten Tip für mich? Es braucht nicht dauernd hin und her geschaltet werden, eher alle Nase lang. Mal den ganzen Tag gar nicht, mal vielleicht einmal in ner halben Stunde. Wenn das Umschalten dann 1 Sekunde dauert ist das auch nicht wild, will das aber nicht manuell machen, so läuft das jetzt. Das Signal, welches durch geht, muß halt 100% unverfälscht sein und die Module sollte auch nur jeweils das aktive laufen, Akkubetrieb = Strom sparen.
Bedanke mich

Das sollte wenn ich das richtig sehe mit zwei 1:2 Demultiplexern gehen

Stört es die Bausteine 1 und 2 wenn die nicht-beschalteten Eingänge offen sind? CMOS Logik-Gatter haben das nicht gerne.

Wenn das kein Problem darstellt, dann wäre der 74HC4052 eine einfache Option. 2 x 4 Kanal De/Mutiplexer. Die zweite Adressleitung kann man auf Masse legen, und dann nur die erste nutzten um zwei Ausgänge zu schalten. Das IC hat wirklich wortwörtlich Schalter drin wie bei dir im Bild. Nicht Logikgatter zum Schalten wie reine Digital-Multiplexer.

Das sieht sehr gut aus, werde das probieren. Offen ist kein Problem, die werden ja abgeschaltet wenn sie kein Signal bekommen. Denke nach Datenblatt das dort noch ein Transistor zwischen muß aber das ist ja kein Hit.

Vielen Dank.

Grüße

Ist das + die Versorgungsspannung der "PWM-Empfänger"? Dann geht das über einen Multiplexer nicht gut. Grüße Uwe

Ja, das Plus (blauer Strich) ist Versorgungsspannung für die 2 Teile.

Mit deiner Info hab ich mich weiter auf die Suche gemacht und noch was passenderes gefunden: DG403DJ passt rein von der Schaltung perfekt, allerdings diese ±15V (V+ an 11 und V- an 14), was genau hat es damit auf sich? Kann das nicht wirklich aus dem Datenblatt raus lesen. Ich habe in der Schaltung 3V3, 5V und 7V-8V4. Kann man damit auch was machen?

Danke und Grüße

Ah, dass dass die Versorgungsspannung sein soll hatte ich nicht kapiert. Der 4052 macht nur max. 25mA über die Schalter.

+/15V ist die maximale Spannung die man damit schalten kann. Der DG40x macht aber auch nur 30mA. Außerdem haben die Schalter einen gewissen Widerstand.

Strom könnte also ein Problem werden.

Was auch wichtig ist. Die Betriebsspannung muss mindestens gleich der maximalen Spannung über den Schaltern sein. Das ist aber kein Problem.

Vielleicht sind bistabile Relais eine Option. Die brauchen nur Strom wenn sie umgeschaltet werden. Als man hat nicht dauernd Spulenstrom. Wäre damit auch was für Batteriebetrieb. Mit einer kleinen Transistorschaltung kann man die glaube ich auch über nur einen Pin ansteuern.

Hallo,

ich habe Deine Anforderungen nicht genau studiert, aber schau Dir mal den 4066 an, das ist ein vierfach bilateraler Schalter. Damit hat mal jemand in einem Youtube-Video einen Umschalter für einen Videosender gebaut. Ansteuern könntest Du ihn als Umschalter über einen Inverter, dann würdest Du nur einen Arduino-Pin benötigen.

Gruß, Ralf

Vielen Dank euch, das alles zusammen reicht, damit ich glücklich werde und mein Ziel erreiche, Danke. Was genau es nun wird, werde nochmal genau gegenüberstellen, vergleichen und rechnen.

Wenn der Strom nicht reicht kommt halt noch nen Transistor dahinter, das ist nicht wild. Aber die Sache mit den Relais sieht auch interessant aus, das mit dem -bistabil- kannte ich noch gar nicht.

Nochmal, danke alle :smiley:

Sijjim: Wenn der Strom nicht reicht kommt halt noch nen Transistor dahinter, das ist nicht wild.

Gute Idee. Das vernünftigste wird dann vielleicht sein, gleich einem PNP oder P-Kanal FET die Betriebsspannung zu schalten - egal wie viel Strom der MUX verträgt. Dessen Basis/Gate kann man dann mit einem Pullup auf +Ub legen um ihn abzuschalten wenn kein Ansteuerungssignal da ist.