Forum: Mikrocontroller und Digitale Elektronik DiseqC (22kHz) messen


von Thomas (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

ich möchte DiseqC-Telegramme mit einem Mikrocontroller aufzeichnen. Es 
handelt sich um 22 kHz-Pakete, die der Versorgungsspannung 14V bzw. 18V 
aufmoduliert sind.
Ich habe eine entsprechende Schaltung gefunden (siehe Anhang), dem 
Signal habe ich mit Widerständen einen Offset von ca. 1,5V gegeben. Im 
Prinzip muß ich "nur" die Breite der Pulspakete messen um 1 und 0 zu 
detektieren. Aber mit der Schaltung habe ich leider kein Digitalsignal 
und muß es dann wohl oder übel mit ADC-Eingang schnell abtasten. Ich 
habe Bedenken, daß dies so ohne weiteres geht...

Gäbe es eine Möglichkeit, aus dem Analogsignal ein 22 kHz-Digitalsignal 
zu erzeugen? Oder noch besser, eine Schaltung die mir die Paketlänge 
(0,5 ms / 1 ms) als Digitalsignal zur Auswertung zur Verfügung stellt.

Es scheint kein IC auf dem Markt zu geben, das das Ganze schon selbst 
macht. Von ST gibt es zwar den STM8SPLNB1 (DiSEqC slave microcontroller 
for SaTCR based LNBs and switchers), aber hier scheint es nicht möglich 
zu sein, die Telegramme an einen übergeordneten Mikrocontroller zu 
übergeben.

LG
Thomas

von hinz (Gast)


Lesenswert?


von K. S. (the_yrr)


Lesenswert?

Thomas schrieb:
> mit einem Mikrocontroller
Welchem?

> Aber mit der Schaltung habe ich leider kein Digitalsignal
> und muß es dann wohl oder übel mit ADC-Eingang schnell abtasten.
Du hast sehr viele Möglichkeiten, und dies ist eine der schlechtesten 
(vllt. grad noch besser als eine Röhrenschaltung). Am Einfachsten wäre 
ein schneller Komparator, entweder im µC integriert oder ein externer.

> 22 kHz-Digitalsignal
Was soll das bitte sein? ein Digitalsignal mit 22kBaud? oder ein sehr 
viel langsameres das auf einen 22kHz Träger aufmoduliert ist? Und ist 
das das einzige Signal auf der Leitung?

> aber hier scheint es nicht möglich
> zu sein, die Telegramme an einen übergeordneten Mikrocontroller zu
> übergeben.
nur ganz kurz draufgeschaut, das kann wohl IIC als slave. musst du 
selber das Datenblatt lesen und rausfinden ob du alles auslesen kannst 
was dich interessiert.

von Martin R. (mme)


Lesenswert?

Könnte eventuell auch gehen (rechter Teil im Bild der Schaltung)
https://www.maximintegrated.com/en/design/technical-documents/app-notes/5/5339.html

von hinz (Gast)


Lesenswert?

K. S. schrieb:
> oder ein sehr
> viel langsameres das auf einen 22kHz Träger aufmoduliert ist?

Ja, AM, 0,5Vpp.


> Und ist
> das das einzige Signal auf der Leitung?

DC (14/18V) und HF (1-2GHz) noch.

von hinz (Gast)


Lesenswert?

hinz schrieb:
> NE567

Übrigens auch als LM567 bekannt.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Einfach mal hier gucken, da gibts doch was aus erster Hand:

https://de.eutelsat.com/en/support/technical-support/diseqc.html

.z.b. in der "App.Info for LNBs and Switches" Fig. 2 oder 3...

Gruss
WK

von hinz (Gast)


Lesenswert?

Dergute W. schrieb:

> Einfach mal hier gucken, da gibts doch was aus erster Hand:
>
> https://de.eutelsat.com/en/support/technical-support/diseqc.html
>
> .z.b. in der "App.Info for LNBs and Switches" Fig. 2 oder 3...

Guter Vorschlag!

von Edward C. (teddy)


Lesenswert?

Moin Thomas,

Einfach:

atmega diseqc generator project

In google.com eingeben?

Einfache DiSEqC Generatoren auf AVR basis mit Firmware zum selbermachen.

Teddy

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Leider nur das Gegenstück zum Gesuchten:

https://www.richtek.com/assets/product_file/RT5047/DS5047-00.pdf

das ist allerdings für den umgekehrten Fall, wenn man ein DiSEqC-Signal 
auf eine Spannung aufmodulieren will. Wird im MiniToiunerPro benutzt
https://boutique.r-e-f.org/kits-et-composants/205-minitiounerpro-avec-nim.html

von Thomas (Gast)


Angehängte Dateien:

Lesenswert?

vielen Dank für Eure Antworten!

Ich habe Fragen zu den Schaltungen im Anhang:

1. Diodentyp: ist wohl mit der zweiten Schaltung beantwortet

2. PCB-Track. Wie lege ich diese aus? Es wird angegeben, daß diese 1/4 
der Wellenlänge von 1...2 GHz sein soll.
1 GHz: 1/4 Wellenlänge = 75 mm
2 GHz: 1/4 Wellenlänge = 37,5 mm
Was nehme ich da, einen Mittelwert? Muß ich etwas beachten beim Routen 
(Leitungsabstand, ...)?

von Thomas (Gast)


Lesenswert?

Christoph db1uq K. schrieb:
> Leider nur das Gegenstück zum Gesuchten:

Das gibt es von verschiedenen Herstellern wie auch z.B. von ST. Nur 
einen fertigen Empfänger scheint es nicht für 22 kHz zu geben.

von Michael U. (amiga)


Lesenswert?

Hallo,

hinz schrieb:
> hinz schrieb:
>> NE567
>
> Übrigens auch als LM567 bekannt.

Dein Vorschlag scheint kein Interesse zu finden, obwohl es wohl auch 
meine erste Wahl wäre.

Gruß aus Berlin
Michael

von hinz (Gast)


Lesenswert?

Michael U. schrieb:
> Hallo,
>
> hinz schrieb:
>> hinz schrieb:
>>> NE567
>>
>> Übrigens auch als LM567 bekannt.
>
> Dein Vorschlag scheint kein Interesse zu finden, obwohl es wohl auch
> meine erste Wahl wäre.

Macht doch nichts. Er wird das Hühnerfutter parat haben, die PLL müsste 
er wohl bestellen.

von Thomas (Gast)


Lesenswert?

LM567 sieht auch sehr interessant aus. Werde mal etwas Bastelmaterial 
bestellen und ausprobieren, welche Schaltung für mich am besten geeignet 
ist.

Kann man anstelle der Leiterbahninduktivität keine Mini-Drossel 
verwenden?

von hinz (Gast)


Lesenswert?

Thomas schrieb:
> 1. Diodentyp: ist wohl mit der zweiten Schaltung beantwortet

Ist unkritisch.


> 2. PCB-Track. Wie lege ich diese aus? Es wird angegeben, daß diese 1/4
> der Wellenlänge von 1...2 GHz sein soll.
> 1 GHz: 1/4 Wellenlänge = 75 mm
> 2 GHz: 1/4 Wellenlänge = 37,5 mm
> Was nehme ich da, einen Mittelwert? Muß ich etwas beachten beim Routen
> (Leitungsabstand, ...)?

Du hast doch eine Vorlage, kupfer ab.

von hinz (Gast)


Lesenswert?

Thomas schrieb:
> Kann man anstelle der Leiterbahninduktivität keine Mini-Drossel
> verwenden?

Könnte man, aber 100nH sind wenig gängig.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Der Vorschlag oben "...Generator" ist auch für den umgekehrten Fall (für 
den ich noch eine Lösung suche, um meinen Mini-Tiouner an der 
Sat-Antenne betreiben zu können.)

Wie schnell kann der 567 schalten, reicht das für die Baudrate? Ich 
hatte den vor vielen Jahren für 50 Baud Funkfernschreiben benutzt, das 
hat gut funktioniert.

EIn "schwimmender" Komparator, der seinen Vergleichspegel aus dem 
mittleren DC-Pegel des Signals gewinnt wäre vielleicht zweckmäßig. Ich 
dachte erst, Maxim macht das, aber da liegt er fest auf dem Ref-Pegel 
1,18V.
Ein Schmitt-Trigger nach der Hochpass-Auskopplung ist sicher nicht 
falsch.

Zur Demodulation würde vielleicht ein Monoflop mit ca. 0,75ms reichen. 
Wenn der Pegel nach der Zeit noch gleich bleibt ist es ein 1ms-Puls, 
sonst einer mit 0,5ms.

von Thomas (Gast)


Lesenswert?

Gibt es irgendwo eine Doku wie das Protokoll von USALS ist? Mich würde 
interessieren, wie Längen- und Breitengrad des Standorts da rein 
berechnet wird. Oder ist das Betriebsgeheimnis der Fa. Stab in Italien?

von Christoph db1uq K. (christoph_kessler)


Angehängte Dateien:

Lesenswert?

So verstehe ich auch die Modulation:
aus: https://www.spaun.com/files/8df79_de_DiSEqC_fur_Techniker_.pdf
gefunden über
https://de.wikipedia.org/wiki/Digital_Satellite_Equipment_Control

Ein Bit dauert 1,5ms:
22 Schwingungen mit 22kHz und 11 Schwingungen Pause sind ein low-Bit,
11 Schwingungen mit 22kHz und 22 Schwingungen Pause sind ein high-Bit,

und das ergibt 667 Bit pro Sekunde

: Bearbeitet durch User
von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Thomas schrieb:
> Oder ist das Betriebsgeheimnis der Fa. Stab in Italien?

Nö, das ist viel trivialer. Der Benutzer gibt seinen Standort in den 
Receiver ein. Zitat aus
http://vdr-wiki.de/wiki/index.php/DiSEqC
"Bei entsprechenden Receivern genügt die Eingabe der geografischen 
Position"...

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Es gibt auch Rolladenmotoren mit GPS-Empfäger, die wissen den Standort 
ohne Eingabe des Benutzers. Aber deutlich billiger geht es über die 
Postleitzahl.

Noch eine simple Idee, ein Doppel-Monoflop, nachtriggerbar. Das erste 
wird von den 22kHz getriggert und fällt in der Pause ab, das zweite 
detektiert davon getriggert wie schon beschrieben das Bit.

von Thomas (Gast)


Lesenswert?

Matthias S. schrieb:
> "Bei entsprechenden Receivern genügt die Eingabe der geografischen
> Position"...

Und genau diese Berechnung die der Receiver macht, möchte ich gerne 
wissen.

Hintergrund: Ich habe 4 Satschüsseln, 2 davon mit USALS-Motor, deren 
Signale alle auf verschiedene Sat-Receiver gehen. Ich möchte die 
Bewegung der Antennenschüsseln mit einem zentralen Gerät steuern. Das 
Senden von Signalen an den Motor geht schon problemlos, aber ich 
benötige eine Möglichkeit, die Signale aufzuzeichnen, die normalerweise 
der Sat-Receiver sendet. Ich muß ja genau wissen was ich an den Motor 
senden muß, wenn ich verschiedene Satelliten abfahren möchte. Ich habe 
folgende Eingangsparameter:
* Längengrad
* Breitengrad
* Position des Satelliten (z.B. 19° Ost)
Und aus diesen 3 Parametern möchte ich das USALS-Protokoll berechnen. 
Falls es nicht offengelegt ist, muß ich halt für meinen aktuellen 
Standort die Daten aller gewünschten Satellitenpositionen auslesen und 
fest im Programm hinterlegen. Bei einem Umzug dann entsprechend 
anpassen, falls es gravierende Abweichungen der Koordinaten vom Standort 
gibt.

von Thomas (Gast)


Lesenswert?

Das DiseqC-Aufzeichnungsgerät benötige ich später auch bei der 
Fehlersuche, wenn mal was nicht geht. Mit dem Oszilloskop die Werte 
abzulesen ist ein ziemliches Gefummel. Eine Aufzeichnung mit 
Mikrocontroller ist die Ideallösung. Dann kan nich die Protokolle auf 
einem großen Display anzeigen oder auf der Schnittstelle an den PC 
senden.

von Michael B. (laberkopp)


Lesenswert?

Thomas schrieb:
> Was nehme ich da

Im Prinzip: Die Realisation, die auf deinem Basismaterial (Epoxy, also 
je nach Feuchtigkeitseinlagerung) die beste Dämpfung bei 1-2GHz bringt 
und die geringste bei 22kHz (sowieso fast 0).

Weil man solche selbstgebauten Spulen also (mit einem NWA) messen 
müsste, nimmt men fertige (SMD Chip Spule mit Datenblatt das die 
Dämpfung bei 1-2GHz zeigt).

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Thomas schrieb:
> Das DiseqC-Aufzeichnungsgerät benötige ich später auch bei der
> Fehlersuche, wenn mal was nicht geht

Fuer sowas taet' ich dann aber tatsaechlich per ADC eines µControllers 
die LNB-Leitung samplen lassen. Ggf. Umschaltbar, um DC zu messen und 
auch den Pegel/Frequenz der diseqc Bursts. iirc ist grad' so Zeugs, wie 
zu kleiner Pegel, Sauereien beim Ein- oder Ausschalten oder grob daneben 
liegende Frequenz der Bursts eine Ursache fuer komisches Verhalten.

Gruss
WK

von diseq (Gast)


Lesenswert?

Es gab da mal einen guten Artikel inkl. Firmware für einen 16F628 hier:

https://www.elektormagazine.com/magazine/elektor-200609/18370

von Christoph db1uq K. (christoph_kessler)



Lesenswert?

Leider sind im Original keine Maßangaben, nur ein Printfile als PDF, ich 
nehme an auf DIN A4:
http://juras-projects.net/files/diseqcconv_board.pdf
Ich bin nicht sicher, ob der Drucker das 1:1 gedruckt hat, es sind hier 
jedenfalls 48*68 mm. Daraus folgt eine Länge eines Mäanderstücks von 
etwa 10 mm.

von Thomas (Gast)


Lesenswert?

diseq schrieb:
> Es gab da mal einen guten Artikel inkl. Firmware für einen 16F628 hier:
>
> https://www.elektormagazine.com/magazine/elektor-200609/18370

Das Problem ist, daß es nur auf einem kleinen Display ausgegeben wird 
und man kann es nicht lesen, wenn mehrere Signale kurz nacheinander 
kommen. Habe das vor einigen Monaten auch gesehen und extra ein Abo bei 
Elektor abgeschlossen. Der Link für das Projekt geht aber nicht, weil 
die ihre Internetseite total umgestellt haben und dadurch einige tote 
Links erzeugt haben. Es kam die Email-Rückmeldung, daß es in 4 Wochen 
gehen sollte, aber es geht bisher immer noch nicht. Auf die letzte Email 
vor 20 Tagen habe ich nicht einmal eine Antwort von Elektor erhalten. 
Mir wäre es lieber, wenn die Protokollinfo per UART raus geht und nicht 
aufs kleine Display.

von Christoph db1uq K. (christoph_kessler)


Angehängte Dateien:

Lesenswert?

Der Assembler-Sourcecode von Elektor, mit "cream" und 
pic-syntax-highlighting gedruckt. 4Mhz-Quarztakt steht darin, ein 
Großteil ist Display-Ansteuerung. Es wird anscheinend Interrupt benutzt, 
habs noch nicht näher betrachtet.

von Thomas (Gast)


Lesenswert?

Danke für den Assembler-Sourcecode. Ich muß mich erst mal rein denken, 
habe die letzten 22 Jahre kein Assembler mehr programmiert.

von Thomas (Gast)


Lesenswert?

Ich habe die Schaltung von Eutelsat verwendet und sie geht auch soweit. 
Da ich kein Monoflop (NE555) da habe, habe ich das 
Monoflop-Ausgangssignal per Software realisiert:
* High wenn erste Flanke kommt
* Low, wenn 60 µs keine positive Flanke mehr kam.
Der High-Impuls ist dadurch etwas länger, macht aber nichts.

Geht auch soweit. Man hat nun Impulse von ca. 0,5 ms bzw. 1 ms Breite.

Wie macht man am besten die Auswertung der Impuls-Zeiten um 
herauszufinden ob es ein High- oder Low-Signal ist? Nur anhand der 
Breite der High-Signale? Oder zusätzlich Auswertung der Low-Zeit?

Ich würde es so machen:
Bei steigender Flanke einen Zähler löschen und bei fallender Flanke den 
Zähler auslesen? Auflösung des Zählers wäre in meinem Fall 10µs. Dann 
die Werte in ein Array schreiben und anschließend mit einer Funktion das 
Array auswerten, dabei prüfen, ob das Paritybit stimmt.

von Thomas (Gast)


Lesenswert?

Thomas schrieb:
> Auflösung des Zählers wäre in meinem Fall 10µs.

Ich meine damit, daß der Zähler alle 10µs um 1 hochgezählt wird.

von Sascha W. (sascha-w)


Lesenswert?

Christoph db1uq K. schrieb:
> Leider sind im Original keine Maßangaben, nur ein Printfile als PDF, ich
> nehme an auf DIN A4:
> http://juras-projects.net/files/diseqcconv_board.pdf
> Ich bin nicht sicher, ob der Drucker das 1:1 gedruckt hat, es sind hier
> jedenfalls 48*68 mm. Daraus folgt eine Länge eines Mäanderstücks von
> etwa 10 mm.

Du hast doch den Chip und irgendwelche Stiftleisten, damit kannst du die 
Größe ja abgleichen.

Sascha

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.