Vier PWM über eine Signalleitung

#7120050
Lesenswert?

Christian T. schrieb:
> Hallo,
> ich möchte vier PWM Signale (300Hz) über eine Leitung übertragen.

Warum? Ganz sicher, daß nicht mehr Adern genutzt werden können?

> Möglichst ohne Software mit einer kleinen Hardwarelösung. Kann man da
> z.B. einfach einen Multiplexer nehmen?

Nö.

> Freue mich über jede Idee! Danke im Voraus :)

Nutze die eine Leitung für Datenübertragung eines UARTs und setz ans 
Ende einen kleinen AVR, welcher die Daten empfängt und daraus die 4 PWMs 
generiert. Das braucht aber etwas Software.
Beitrag #7120092 wurde von einem Moderator gelöscht.
Beitrag #7120101 wurde von einem Moderator gelöscht.
Gast #7120104
Lesenswert?

Christian T. schrieb:
> Freue mich über jede Idee

Natürlich gibt es Lösungen  z.B. hat die Post früher 4 (und viel mehr) 
Sprachsignale (also deutlich über 300Hz) über eine (Kupfer)Leitung 
ubertragen  ganz ohne Software und Mikrocontroller,

auch gelingt es Radiostationen 4 (und mehr) Sender uber 1 Antenne zu 
senden und könnte 4 Empfängern (auch an 1 Antenne, z.B. 
Hausgemeinschaft) jeweils ein eigenes Programm zuzusenden,

zudem wurde hier die PCM Multiplexlösung für 
Modellbaufunkfernsteuerungen angesprochen die Motoren simultan mit PWM 
in der Drehgeschwindigkeit regelt,

aber keine der Lösungen wird dir gefallen, daher spart man sich lieber 
deren Ausarbeitung.
Beitrag #7120108 wurde von einem Moderator gelöscht.
Gast #7120131
Lesenswert?

Christian T. schrieb im Beitrag #7120101:
> Viel schöner wäre es wenn sich nur diejenigen melden die gerne
> weiterhelfen wenn sie eine Lösung zu der Frage haben....

Du siehst, dass es hier genug Lösungsansätze gibt. Was fehlt, ist die 
konkrete Beschreibung deines Problems. Damit könnte die Diskussion hier 
wesentlich zielgerichteter laufen.
#7120284
Lesenswert?

Hallo, Du wirst Deine Gründe haben, vier PWM- Signale gemuxt zu 
übertragen. Der Aufwand ist jedoch hoch. Du musst mit einer hohen Rate 
abtasten und viele Daten nacheinander übertragen. Sender und Empfänger 
müssen synchronisiert werden. Vier PWM- Signale neu zu erzeugen ist 
dagegen einfach und die Signale dürften deutlich „sauberer“ sein. 
Vielleicht reicht es, nur Änderungen zu übertragen. Ich habe hier einen 
Dimmer vorgestellt, bei dem über i2c nur die Helligkeitswerte übertragen 
werden können. Vielleicht ist ein solcher Weg einfacher.
Gruß Carsten
#7120295
Lesenswert?

Christian T. schrieb:
> Möglichst ohne Software mit einer kleinen Hardwarelösung.

Varioprop (Graupner) hat das vor ca. 50 Jahren mit Vierschichtdioden 
gelöst. Nachteil: die gibts heute glaube ich gar nicht mehr :-)

Dein Anliegen ist völlig weltfremd/trollig. Bei solch kleinen 
Frequenzen/Datenraten kommt keiner ausser dir auf die Idee das rein 
hardwarebasiert lösen zu wollen. Warum auch?
Gast #7120305
Lesenswert?

Gehen tut das, auch einfach mit fertigen Chips oder mit logikICs.

Wie lang und welche Frequenz? (Die 300Hz ist vermutlich die 
Periodendauer, wie viel Bit bzw welche Auflösung hat der Dutycycle?)

Einfachste bastellösung: parallel/seriell -schieberegister, alle 16us 
mit 1MHz rauspusten, ruhepegel 1, erstes Bit 0, dann 4 Bit - 4 Kanäle 
und dann 9 Bit 1.

Das ist ein UART nachgebaut. Also doch besser überlegen, einen uC mit je 
10 Zeilen Code (4 IO einlesen, über UART direkt rauspusten, auf der 
anderen Seite umgekehrt)
Gast #7120317
Lesenswert?

A. S. schrieb:

> Das ist ein UART nachgebaut. Also doch besser überlegen, einen uC mit je
> 10 Zeilen Code (4 IO einlesen, über UART direkt rauspusten, auf der
> anderen Seite umgekehrt)

Hättest du die Güte, für alle weniger hellen Köpfe, die 10 Zeilen Code 
hier noch schnell anzufügen. Ist doch für Dich sicher ein Kinderspiel. 
Danke.
#7120338
Lesenswert?

Oder vielleicht so:

Du schaltest mit Deinen 4 PWM-Signalen 4 Frequenzgeneratoren,
die alle auf unterschiedlichen Frequenzen laufen (ca. 1000x
so hoch wie Deine PWM-Grundfrequenz).

Die addierst Du alle zusammen und fischt die unterschiedlichen
Frequenzen am Ziel mit Bandpassfiltern wieder raus.

Dann schwupps noch einen Tiefpass oder ein getriggertes
Monoflop dahinter und schon hast Du Dein PWM-Signal rekonstruiert.

Viele Grüße

Igel1
Gast #7120354
Lesenswert?

A. S. schrieb:
> Wie lang und welche Frequenz? (Die 300Hz ist vermutlich die
> Periodendauer

Nein, 300Hz ist eine Frequenz, keine Periodendauer, die ist 1/300Hz

A. S. schrieb:
> Einfachste bastellösung: parallel/seriell -schieberegister, alle 16us
> mit 1MHz rauspusten, ruhepegel 1, erstes Bit 0, dann 4 Bit - 4 Kanäle
> und dann 9 Bit 1.

Spielst Du Buzzwordbingo? Möglichst viele Fachbvegriffe würfeln, merkt 
schon keiner daß alles Unsinn ist?

A. S. schrieb:
> Das ist ein UART nachgebaut. Also doch besser überlegen, einen uC mit je
> 10 Zeilen Code (4 IO einlesen, über UART direkt rauspusten, auf der
> anderen Seite umgekehrt)

und hoffen daß es keiner wirklich liest.
#7120468
Lesenswert?

Ich finde es zwar auch total übertrieben und würde es eher digital mit 
einem uC lösen, aber wenn es unbedingt sein muss habe ich da auch an 
eine OOK o.ä. gedacht.

Andreas S. schrieb:
> Oder vielleicht so:

Evtl kommt man da auch mit 8 solchen RS485 Transceiver mit OOK zurecht.
Kommt wahrscheinlich darauf an wie gut der eingebaute Bandpass ist und 
auf die "Datenrate" an:
https://www.ti.com/product/THVD8000
(Firma: Funkenflug Industries) #7120502
Lesenswert?

Der Igel hatte da schon Recht: Trägerfrequenzverfahren.

Fernsteueranlagen funktionieren manchmal anders, da die Pulsbreite zur 
Ansteuerung von Servos verglichen mit der Wiederholrate sehr schmal war 
wenn ich das richtig in Erinnerung habe. Da kann man mehrere Kanäle 
nacheinander übertragen und recht einfach multiplexen, aber wenn man am 
Ende 0..100% PWM haben will, wirds schwierig.
Gast #7120541
Lesenswert?

Chrstian, wenn man eine Diskussion führt, muss man auch dabei bleiben. 
Nicht einfach eine Frage in den Raum werfen und sich dann verpissen.

Je länger du die Diskussion unmoderiert laufen lässt, umso weniger 
hilfreich wird sie enden.
Gast #7120610
Lesenswert?

Paul schrieb:
> Nein, 300Hz ist eine Frequenz, keine Periodendauer, die ist 1/300Hz

Du meine Güte: 300Hz wird meist als Rechteck/Sinus mit 50/50 aufgefasst. 
Wenn jemand fragt, ob man 300Hz über 100m übertrgen kann, dann wird 
jeder sagen. Ja.

Wenn aber hier die 300Hz nur (der Kehrwert) der Periodendauer meint, das 
"Signal" aber darin steckt, ob es 1,5% oder 1,58% Duty-Cycle sind, dann 
ist das eine ganz andere Größenordung.
Gast #7120628
Lesenswert?

unwissender mitleser schrieb:
> Hättest du die Güte, für alle weniger hellen Köpfe, die 10 Zeilen Code
> hier noch schnell anzufügen. Ist doch für Dich sicher ein Kinderspiel.
> Danke.

Voraussetzung: gleicher µC, gleicher Quartz, ein Port A mit 8 Bit, wovon 
die ersten 4 vom µC an die Gegenstelle gesendet werden und umgekehrt. 
Quasi Bidirektional jeweils 4 Bit.

Register/Framework:
 * trisA: (wr-only) 1=input, 0=output
 * portA (lesen: Eingangswert, schreiben: Ausgangswerte)
 * uart_init() : initialisieren mit hoher Baudrate (Wert ist egal, ohne 
Parity. Z.B. 1 MBaud oder minimaler Baudratenteiler)
 * tx_flg : (rd-only) Flag, dass Transmit-Buffer leer ist
 * reg_tx : (wr-only) Register um ein Byte zu senden
 * rx_flg : (rd-only) Flag, dass ein neues Byte in reg_rx ist
 * reg_rx : (rd-only) Register für letztes Empfangsbyte
1
int main(void)
2
{
3
    trisA = 0x0f; /* upper nibble output, lower = input */
4
    uart_init();
5
    for(;;)
6
    {
7
        if(tx_flg) {reg_tx = portA | 0xf0;}
8
        if(rx_flg) {portA  = reg_rx << 4;} 
9
    }
10
}
Da die high-bits 1 sind, gibt es kein Synchronisierungsproblem des 
Uarts.

(Edit: Dass es genau 10 sind ist Zufall. Und ja, "Hello World" mit Uart 
in einem µC ist eine große Herausforderung. Aber sobald man ein Byte 
senden und empfangen kann, reicht der ungetestete Code hier)
Gast #7120700
Lesenswert?

Schon lustik wenn man nicht(s) brogrammieren kann.
Dann soll es harte Ware richten.

Einfach die 4 gleichpegeligen PWM-Signale binaer gewichtet addieren
durhc die Leitung damit und am anderen Ende dann mit einem ADC
wieder dekodieren.

Das ist doch jetzt nicht so schwer oder?
Gast #7120798
Lesenswert?

> Dazu müsste das analoge Signal am Empfänger "springen"

Bravo! Du hast das Prinzip von u.a. QAM verstanden.

> ganz ohne Prozessor

Unsportlich könnte ich einen Flash-ADC vorschlagen.
Aber es gibt auch ganz simple mit parallelen Ausgängen.
Hast du eigentlich viel in der Schule gefehlt?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren