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
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
Microcontroller drives DSEC motors Use satellite disk motor in stepper-motor applications. http://www.edn.com/article/511510-Microcontroller_drives_DSEC_motors.php
@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
@martin69 gern geschehen, aber bitte poste du im gegenzug was immer er an zusätzlichen infos zurückmailt. merci
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
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
@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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.