Forum: Mikrocontroller und Digitale Elektronik USALS-Codegenerator für Sat-Drehmotor


von Martin M. (martin69)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe eine Satellitenempfangsanlage mit 3 Schüsseln. 2 davon haben 
einen Drehmotor mit USALS-Protokoll (auch DiSEqC 1.3, Go X oder Go to XX 
genannt). Die Motoren werden nicht all zu oft bewegt (nur ca. 1-3 Mal im 
Monat, wenn ich etwas von einem neuen interessanten Sender auf einem 
Satellit lese, den ich gerade nicht angepeilt habe).

Ich habe 2 SAT-Buchsen in der Wohnung, mit denen ich die 2 Drehmotoren 
ansteuern kann. Zum Ansteuern verwende ich bisher meinen uralt 
Grundig-Receiver, der langsam aber sicher seinen Geist aufgibt.

Mir wäre es lieber, wenn ich ein separates kleines Gerät mit 
Tasten/Display hätte, mit denen ich die Satellitenposition wählen kann. 
Bisher habe ich aber kein Gerät gefunden, das so etwas kann. Kennt 
jemand ein solches Gerät? Ansteuerung per PC wäre auch OK.
Die Datenkommunikation bei USALS bzw. DiSEqC erfolgt mit aufmodulierten 
22kHz-Signalen (siehe Anhang).

Alternativ könnte ich mir auch selbst ein solches Gerät bauen (mit AVR).
Gibt es eine fertige Hardware-Komponente, die man für die 
22kHz-Signalaufmodulierung verwenden könnte? So etwas sollte ja in fast 
allen Satellitenreceivern drin sein. Müßte es ja auch irgendwo samt 
Datenblatt kaufen können.

Hier noch Links zu USALS bzw. DiSEqC

http://en.wikipedia.org/wiki/Universal_Satellites_Automatic_Location_System
http://de.wikipedia.org/wiki/Digital_Satellite_Equipment_Control

Gruß
Martin

von Martin M. (martin69)


Lesenswert?

Nachtrag:

Vom Motorhersteller Stab gibt es so was Ähnliches (mit Fernbedienung), 
allerdings nur für DiSEqC 1.2:

http://www.satshop24.de/satshop24_s/positionierer_fuer_stab_motor_interface_.html

Bei DiSEqC 1.2 muß man den Motor auf die einzelnen gewünschten 
Satellitenpositionen einlernen und kann diese dann mittels gespeicherter 
Werte im Motor abrufen (Satellit Nr. 1,  Satellit Nr. 2, ...). Das hat 
gewisse Nachteile, wenn man einen "neuen" Satelliten anfahren möchte.

Bei USALS muß man nur einen Satellit zum Kalibrieren einstellen. 
Zusätzlich benötigt man noch die Koordinaten des Standortes der 
Sat-Schüssel (Längen- / Breitengrad => bei Sat-Receivern mit USALS gibt 
man die Standortwerte einmalig im Receiver ein).

Anschließend muß man nur die Position des Satelliten angeben (z.B. 22,8° 
Ost), und der Motor fährt an die gewünschte Position, ohne diese vorher 
einlernen zu müssen.

Gruß
Martin

von ingenium (Gast)


Lesenswert?

Microcontroller drives DSEC motors
Use satellite disk motor in stepper-motor applications.
http://www.edn.com/article/511510-Microcontroller_drives_DSEC_motors.php

von Martin M. (martin69)


Angehängte Dateien:

Lesenswert?

@ingenium:
vielen Dank für den Link.

Was mich wundert ist, daß das 22kHz-Signal bei der angegebenen Schaltung 
digital zu sein scheint.

Ich habe mal den Entwickler des Teils angemailt. Mal sehen, ob ich eine 
Antwort von ihm bekomme.

Gruß
Martin

von ingenium (Gast)


Lesenswert?

@martin69
gern geschehen,
aber bitte poste du im gegenzug was immer er an zusätzlichen infos 
zurückmailt.
merci

von Martin M. (martin69)


Lesenswert?

ingenium schrieb:
> aber bitte poste du im gegenzug was immer er an zusätzlichen infos
> zurückmailt.

Klar, mache ich.


Weiß jemand, wie die Signalgenerierung in Sat-Receivern realisiert ist? 
Wird da ein 22kHz-Sinussignal geschaltet?

Gruß
Martin

von Martin M. (martin69)


Lesenswert?

Nun kam die folgende Antwort von dem Entwickler. Er hat mir erlaubt, den 
Inhalt der Email hier rein zu kopieren:


First of all, here are the documents used, otherwise, the circuit would 
not have been designed:

-1- EUTELSAT: Positioner application note version 1.0
-2- EUTELSAT: Bus functional specification version 4.2
-3- EUTELSAT: Application information for using a PIC microcontroller in 
DiSEqC and simple switcher Versiuon 1.0 (based on an old PIC16C620)

-4- ELEKTOR ELECTRONICS 9/2006: (page46) DiSEqC monitor, PIC listens in 
on satellite receiver control bus, based on a PIC16F628
-5- diseqc12_navod_fw114_fw115.zip, from Hynek GAJDA (Tcheque republic) 
based on a PIC16F84A

The most important thing is to well undestand the bus functionality, 
from which I wrote the assembler code EMITMSG (in the file DiSEqC.INC). 
The 22kHz is a digital square wave generated by the routine "emit22kHz" 
(in the file DiSEqC.INC), and holds the message data format, as 
specified in reference 2, pages 8,9,10. Briefly:

- to send a bit at logic "1", you just have to send 11 cycles of 22kHz 
(see routine "emit1")
- to send a bit at logic "0", you just have to send 22 cycles of 22kHz 
(see routine "emit0")

Finally, emitting a binary code (1 byte + odd parity bit) consists of a 
combinaison call of these two routines.
Messages hexadecimal data E0 31 69 FF (1 step to West),  E0 31 68 FF (1 
step to East) and  E0 31 6B 00 (goto reference position) have been 
retreived from Tables 5 and 6, pages 15 and 16, in reference 1.

Then I tried the circuit of ELEKTOR, which worked well.

Finally, I looked again at the old circuit of EUTELSAT (PIC16F620) and 
tried to optimize it, with a smaller PIC, and a basic assembler code to 
drive the motor 1 step to East, or 1 step to West, or return to a 
reference position (0° South).


Best regards
Charaf Laissoub

~~~~~~~~~~~~~~~~~~~~
Leider habe ich gerade keine Zeit, mir das ganze rein zu ziehen, da ich 
an einem anderen Projekt arbeite. Wäre nett, wenn der eine oder andere 
weitere Infos hier rein stellen würde.

Gruß
Martin

von Cyrus X. (cyrus-nab)


Lesenswert?

@Martin, @Ingenium,

ich arbeite momentan an diesem Projekt mit der Schaltung des 
EDN-Networks.
Habt ihr daran weiter gearbeitet? Wenn ja, welche Erfahrungen habt ihr 
damit gemacht?

Ich erhalte mit der Schaltung, obwohl ich aus dem Arduino UNO direkt ein 
schönes Rechtecksignal erhalte, starke Überschwinger bei steigenden und 
fallenden Flanken.

Ich habe sie nur leicht abgeändert um sie mit dem Arduino zu verwenden.
Hierzu habe ich den oberen Teil zur Spannungsregelung entfernt, da der 
Arduino eine interne Spannungsregelung besitzt.

Danke für eure Hilfe!

: Bearbeitet durch User
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.