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
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.
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.
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, ...)?
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.
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
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.
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?
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.
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.
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?
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"...
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.
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.
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.
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).
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
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.
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.
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.
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.
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