Offene Steuerung mit Encoder und Autoguider

  • Das autoguideing ist dabei kein Problem.
    Da brauchstu bestimmt kein RTOS, dass stimmt.
    Es gehet nur um das teiben der Motore, und um Berechnung der aktuelle Position.


    <blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote"><i>Original erstellt von: Birki</i>
    <br />hi!
    naja - für was? zum treiben der motoren sicher; ich werd auch keine choppersignale über die digitalen ios schicken (da würde der gute pi in sekunden in flammen aufgehen). dafür hab ich aber einen microcontroller, der sitzt auf dem treiberboard für den motor. dem mikrocontroller schicke ich nur, wie weit ich fahren will.
    <hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">


    Das ist dann was anderes, es bring aber neue Probleme mit.


    Dann fassen wir es zusammen.


    1. Das eigentliche guiding (nich autoguideing) möchtest du also nicht mit Raspi machen.
    D.h du wirdst nicht zu deine Motoren sagen wollen , step, step, step in einem genauen berechneten abstand, sondern du willst den Treiber sagen wollen, fahre vorwärts mit sterngeschwindigkeit.
    Das ist schon mal gut. Bedeutet aber das die raspi keine Ahnung hat wo gerade dein Motor stehet.
    Wie willst du dann wissen wo grade dein Motor stehet?
    Encoder auslesen?
    Musst du aber andauer machen und da wird es wieder Zeitkritisch.


    2. Goto
    Sagen wir mal du sagst zu dein Treiber er soll 800 000 Mikroschritte vorwärts fahren um an eine bestimmte Position ran zu kommen.
    Er macht diese 800 000 Mikroschritte und er wird nicht treffen!
    Aus einfachen Grund, weil sich während diese 800 000 Mikroschritte die Erde ebenso gedreht hat und genau für diese Zeit liegt er daneben.


    Die Lösung wäre wieder Encoder, aber auch da wird es Zeitkritisch weil du die ganze Zeit nur am auflesen bist und keine Zeit um das schicke Display hast oder andere schicke dinge die noch dabei sind.


    Das sind nur so 2 Sachen für den Auftakt, wo mir noch nicht leuchtet, wie du es machen möchtest.


    Gruß
    Igor




    lg
    wolfi
    [/quote]

  • hi!


    <blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote"><i>Original erstellt von: universe</i>
    <br />Das autoguideing ist dabei kein Problem.
    Da brauchstu bestimmt kein RTOS, dass stimmt.
    <hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">


    will ich schon machen, aber in einem eigenen thread, d.h. motortreiber läuft asynchron auf einem eigenen core ... das ist auch jetzt schon so ...


    "1. Das eigentliche guiding (nich autoguideing) möchtest du also nicht mit Raspi machen."
    doch, aber es läuft getrennt vom restliche programm auf einem eigenen thread.


    "D.h du wirdst nicht zu deine Motoren sagen wollen , step, step, step in einem genauen berechneten abstand, sondern du willst den Treiber sagen wollen, fahre vorwärts mit sterngeschwindigkeit.
    Das ist schon mal gut. Bedeutet aber das die raspi keine Ahnung hat wo gerade dein Motor stehet."


    ich muss einmal ein sync auf eine bekannte position (stern) machen, dann habe ich die lokale sternzeit. genauso wie z. B. beim LX 200 protokoll. das ist der zeitpunkt null, hier starte ich einen lokalen timer, der in der applikation läuft und an der uhr vom pi hängt ...


    "Wie willst du dann wissen wo grade dein Motor steht?"


    in dem moment auf dem objekt, auf das ich gesynct habe. dann sschaue ich regelmässig auf den timer, weiss, wieviel zeit vergangen ist ist, und sag dem motor fahr x schritte nach.


    "Encoder auslesen?
    Musst du aber andauer machen und da wird es wieder Zeitkritisch."


    naja, meine eventqueue fragt derzeit 20x pro sekunde nach, was so anliegt. der encoder hat eine responsetime von ca. 20 mikrosekunden. er ist aber nicht absolut, sondern er kann dzt. nur überprüfen, wieviele schritte die endstufe wirklich gemacht hat.


    " Sagen wir mal du sagst zu dein Treiber er soll 800 000 Mikroschritte vorwärts fahren um an eine bestimmte Position ran zu kommen.
    Er macht diese 800 000 Mikroschritte und er wird nicht treffen!
    Aus einfachen Grund, weil sich während diese 800 000 Mikroschritte die Erde ebenso gedreht hat und genau für diese Zeit liegt er daneben."


    da brauch (egal ob RTOS oder nicht) einen timestamp und merke mir, wann das goto angefangen hat. dann fahre ich, und wenn ich fertig bin, schau ich, wieviel zeit seitdem vergangen ist, und fahr die strecke in rektaszension nach.


    "Die Lösung wäre wieder Encoder, aber auch da wird es Zeitkritisch weil du die ganze Zeit nur am auflesen bist und keine Zeit um das schicke Display hast oder andere schicke dinge die noch dabei sind."


    nein, weil das asynchron ist - das display, die kamera, der indiserver laufen auf anderen cores und wissen von den motoren nix, solange deren thread sich nicht mit einem signal (z. B: ich bin fertig) meldet.


    timestamps brauch ich immer, das ist keine realtime, oder nicht realtime frage.


    aber du hast schon recht, die frage der latenz ist gegeben. ich denke, dass kann man nur ausprobieren und schauen :)


    lg
    wolfi

  • <blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote"><i>Original erstellt von: Birki</i>
    <br />hi!


    <blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote"><i>Original erstellt von: universe</i>
    <br />Das autoguideing ist dabei kein Problem.
    Da brauchstu bestimmt kein RTOS, dass stimmt.
    <hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">


    will ich schon machen, aber in einem eigenen thread, d.h. motortreiber läuft asynchron auf einem eigenen core ... das ist auch jetzt schon so ...


    "1. Das eigentliche guiding (nich autoguideing) möchtest du also nicht mit Raspi machen."
    doch, aber es läuft getrennt vom restliche programm auf einem eigenen thread.


    "D.h du wirdst nicht zu deine Motoren sagen wollen , step, step, step in einem genauen berechneten abstand, sondern du willst den Treiber sagen wollen, fahre vorwärts mit sterngeschwindigkeit.
    Das ist schon mal gut. Bedeutet aber das die raspi keine Ahnung hat wo gerade dein Motor stehet."


    ich muss einmal ein sync auf eine bekannte position (stern) machen, dann habe ich die lokale sternzeit. genauso wie z. B. beim LX 200 protokoll. das ist der zeitpunkt null, hier starte ich einen lokalen timer, der in der applikation läuft und an der uhr vom pi hängt ...


    "Wie willst du dann wissen wo grade dein Motor steht?"


    in dem moment auf dem objekt, auf das ich gesynct habe. dann sschaue ich regelmässig auf den timer, weiss, wieviel zeit vergangen ist ist, und sag dem motor fahr x schritte nach.


    "Encoder auslesen?
    Musst du aber andauer machen und da wird es wieder Zeitkritisch."


    naja, meine eventqueue fragt derzeit 20x pro sekunde nach, was so anliegt. der encoder hat eine responsetime von ca. 20 mikrosekunden. er ist aber nicht absolut, sondern er kann dzt. nur überprüfen, wieviele schritte die endstufe wirklich gemacht hat.


    " Sagen wir mal du sagst zu dein Treiber er soll 800 000 Mikroschritte vorwärts fahren um an eine bestimmte Position ran zu kommen.
    Er macht diese 800 000 Mikroschritte und er wird nicht treffen!
    Aus einfachen Grund, weil sich während diese 800 000 Mikroschritte die Erde ebenso gedreht hat und genau für diese Zeit liegt er daneben."


    da brauch (egal ob RTOS oder nicht) einen timestamp und merke mir, wann das goto angefangen hat. dann fahre ich, und wenn ich fertig bin, schau ich, wieviel zeit seitdem vergangen ist, und fahr die strecke in rektaszension nach.


    "Die Lösung wäre wieder Encoder, aber auch da wird es Zeitkritisch weil du die ganze Zeit nur am auflesen bist und keine Zeit um das schicke Display hast oder andere schicke dinge die noch dabei sind."


    nein, weil das asynchron ist - das display, die kamera, der indiserver laufen auf anderen cores und wissen von den motoren nix, solange deren thread sich nicht mit einem signal (z. B: ich bin fertig) meldet.


    timestamps brauch ich immer, das ist keine realtime oder nicht realtime frage. aber du hast schon recht, die frage der latenz ist gegeben. ich denke, dass kann man nur ausprobieren und schauen :)


    lg
    wolfi
    <hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">

  • <blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote"><i>Original erstellt von: Birki</i>
    [quote]
    ich muss einmal ein sync auf eine bekannte position (stern) machen, dann habe ich die lokale sternzeit. genauso wie z. B. beim LX 200 protokoll. das ist der zeitpunkt null, hier starte ich einen lokalen timer, der in der applikation läuft und an der uhr vom pi hängt ...
    <hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">


    das hast du nicht sobal du es mit lx200 machst, ein sync gibt ihr nur die RA und DEC des Objekts.
    Was statisch ist. An HA (Hour Angle) kommst du damit nicht ran.


    Der einzige Befehl der dir die Lokale Siderische Zeit liefert wäre :SSHH:MM:SS# und diese kannst du nicht anfordern oder erfragen und wird mit wenigen Astro Programme mitgeschickt.

  • <blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote"><i>Original erstellt von: universe</i>
    das hast du nicht sobal du es mit lx200 machst, ein sync gibt ihr nur die RA und DEC des Objekts.
    Was statisch ist. An HA (Hour Angle) kommst du damit nicht ran.


    Der einzige Befehl der dir die Lokale Siderische Zeit liefert wäre :SSHH:MM:SS# und diese kannst du nicht anfordern oder erfragen und wird mit wenigen Astro Programme mitgeschickt.


    <hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">


    hallo!
    naja, also ich stell immer einen stern ein, dann fragt mich z. B. cartes du ciel brav, ob das teleskop auch wirklich dort ist, und dann setze ich ein sync ab.
    - zu dem zeitpunkt (t0) habe ich eine position, und schalte die nachführung ein. ich habe also zu t0 eine relative position, nämlich stundenwinkel = 0 und deklination = 0;
    - die nachführroutine schaut, wieviel zeit seit t0 vergangen ist und führt dementsprechend in RA nach; das macht sie sehr oft (20x por sekunde dzt).
    - dann mach ich zu t1 ein goto, z.B 5° in RA und 5° in dekl. ich stell die nachführung ab, lass die motoren drehen (ich weiss auch, wie lang die brauchen, weil ich rampe und geschwindigkeit kenne) und fahre dorthin. jetzt ist das teleskop dort, wo das objekt zu t1 gewesen wäre. ich messe wieder die zeit = t2.
    - ich fahre die differenz t2-t1+dauer der nachführung in RA nach und messe, ob dieser zeitpunkt (t3) auch der ist, wo mir der motor sagt, dass er fertig ist , oder ob ich weiter korrigieren muss.
    - ich beginne von vorn und schalte die nachführung wieder ein.


    ganz im vertrauen - so wird das in allen steuerungen, die ich kenn, gemacht. die frage ist, wie genau die systemuhr ist - hier sollte ich laut posix standard zumindest 1/60 sekunde auflösung haben.
    lg
    wolfi

  • Hallo Wolfi,


    Also, in der Praxis dürfte für die einfache Nachführung eine konstante Zeitverzögerung im Sekundenbereich noch gar kein Problem sein. Wenn ich mit laufender Nachführung das Objekt im Gesichtsfeld/auf dem Kamerachip zentriere, habe ich damit auch automatisch die Zeitverzögerung im System ausgeglichen.
    Was stört, ist ein schwankendes Delay durch andere Prozesse, die Rechenzeit abknapsen.
    In Linux kannst Du deinen Prozessen unterschiedliche Prioritäten zuweisen und so das Zeitverhalten optimieren. Wenn Du Probleme mit der Nachführung bekommst, gib doch mal den entsprechenden Prozessen eine höhere Priorität. Das geht sogar dynamisch zur Laufzeit.
    "Richtig Echtzeit" ist das dann zwar immer noch nicht, aber Du willst ja keine Einzelschritte eines Schrittmotors steuern. Wichtig ist nur, dass die zeitkritischen Prozesse zusammen nicht zu viel Rechenzeit belegen. Da bringt Linux aber hervorragende und simple Methoden mit, das zu überprüfen.


    Nennenswert Jitter könnte vielleicht noch durch nicht konstante Auswertezeiten des Autoguiding-Kamerabilds auftreten, im schlimmsten Fall bis zum Aufschaukeln des Systems. Hier bewege ich mich aber weit in den Bereich der Theorie, weil ich so ein System noch nie selbst aufgesetzt habe.


    Ich bin gespannt, wie es bei dir weiter geht!
    So langsam juckt es mich schon, auch mal mit Astrofotografie zu beginnen. Wenn doch der Tag nur mehr als 24 Stunden hätte...


    Wenn ich dein Projekt so anschaue, dann brachst Du "nur" noch eine automatische Leitsternsuche und Nachfokussierung einzubauen, die Ausgabebilder per Plate Solver auszurichten, und schon kann deine vollautomatische Supernova-Suche loslegen[:p] Das fänd ich jedenfalls viel spannender als das 324ste Foto von M31 oder die 879ste Aufnahme vom Ringnebel.


    Gruß,
    Martin

  • <blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote"><i>Original erstellt von: Birki</i>


    ganz im vertrauen - so wird das in allen steuerungen, die ich kenn, gemacht...
    <hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">


    Hi,
    noch vertraulicher,


    so wird es nicht bei jede Steuerung gemacht ;)


    Ist dir schon mal aufgefallen dass man bei z.B Skywatcher unbedingt Datum, Zeitzone Uhrzeit und Beobachter Punkt angeben musst?
    Warum denn?


    Erstmal ein paar Begriffe:


    RA = Rektaszension (wird von z. B. cartes du ciel geliefert)
    HA = Stundenwinkel (muss man errechnen)
    LST = Local Sidereal Time = Loakale Sternzeit oder Siderische Zeit (muss man errechnen)


    Um LST zu berechnen brauchst du aktuelles Datum und Zeit, Zeitzone sowie geographische Länge des Beobachter Punkt (Über Julianischen Tag)


    Um den Stundenwinkel zu errechnen muss man die Rektaszension von der Sternzeit abziehen
    HA = LST - RA


    Das ist der Grund warum du es bei vielen Steuerungen angeben musst!
    Der von dir beschriebene Stundenwinkel hat absolut nichts mit oben genannten zu tun.


    ABER, es muss nicht über Stundenwinkel gearbeitet werden!


    <b>Beispiel 1: Statisches Koordinatensystem (Meine Steuerung und FS2)</b>


    Hier ist es egal wie spät es ist und welcher Tag es ist und noch weniger wo man sich befindet.
    Der Himmel wird statisch betrachtet und jede Bewegung der Motor die als Nachführung dient wird ignoriert (nicht gezählt)
    Gezählt wird nur die Bewegung bei goto Befehlen sowie jeder Bewegung über die Steuertasten.
    Nachteil: Man weiß nie wo man sich tatsächlich am Himmel befindet (RA ist am Mittag und am Mitternacht dieselbe) und vor allem ein 2 oder 3 Sternalligment ist unmöglich.


    <b>Beispiel2: Dynamisches Koordinatensystem (Skywatcher und co.)</b>


    Hier wird immer mit HA gearbeitet und braucht wie oben geschrieben jede Menge Daten und Rechnerei.
    <b>Vorteil:</b>
    ein 2 oder 3 Sternalligment möglich und mann weißt wo man sich am Himmel befindet.
    <b>Nachteil:</b>
    Um Aufstellungsfehler mitzubeziehen (2 Stern aAlignment) muss man permanent zwischen Alt/Azm und HA/Dec Rechnen.
    Beispiel dazu:
    Stelarium sagt goto RA(x) und DEC(y).
    Jetzt muss du als erstes die Angaben im ALT und AZM umrechnen um den Aufstellungsfehler addieren zu können, Danach wieder in RA und DEC umrechnen, dann Lokale siderische Zeit abziehen und den Unterschied zu aktuelle Position errechnen.
    Nach x mal Sinus und Cosinus kommt ein Wert raus was der Motor fahren muss um an die gewünschte Position zu kommen.


    Ich will nicht der Buhmann sein, aber es leuchtet mir immer noch nicht so ganz, wie du dein Projekt machen willst, es fehlen mir die Ziele und die Angaben was genau die Steuerung machen will und wie es machen will.


    Viele Grüße
    Igor
    <b></b><b></b><i></i>

  • hallo!


    ja, klar, natürlich helfen dir position und uhrzeit, und alignment ist nocheinmal eine andere sache, ich geh ersteinmal von einem festaufgestellten eingescheinerten fernrohr aus.


    das entspricht dann deiner variante 1. in dem moment, wo du so einer steuerung sagst, wo sie gerade hinschaut und du dich "auf null" stellst, weisst du wo du bist solange du die steuerung nicht abschaltest, weil du weisst, um wieviel du dich beim goto bewegt hast und wieviel zeit vergangen ist. die nicthbetrachtung der nachführungsbewegung ist in dem fall natürlich nicht sehr sinnvoll, ich versteh auch nicht, warum man das ignorieren sollte.


    deine variante 2 ist für mobile geräte natürlich sinnvoll, geht aber darüber hinaus.


    ich werde einmal mein kleinfernrohr anhängen und dann über die erfahrungen berichten :)


    lg
    wolfi

  • <blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote"><i>Original erstellt von: Birki </i>... die nicthbetrachtung der nachführungsbewegung ist in dem fall natürlich nicht sehr sinnvoll, ich versteh auch nicht, warum...
    <hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">


    Das ist ganz einfach.
    Sagen wir mal dass die RA nach sync 18h 36m 56s war. Jetzt läuft die montierung 5 minuten lang.
    Wie ist RA nach diese 5 Minuten?
    Genau so wie vor 5 Minuten.
    Der Motor hat aber ordentlich Schritte in diese 5 Minuten gemacht, und diese zähle ich halt nicht mit, weil sich im statischen RA DEC Himmel nichts bewegt hat.


    Oder Beispiel autoguider.
    Dar wird der Motor hin und her bewegt um stern mittig zu halten, soll ich es zählen? Nein, weil RA und DEC immer noch die gleiche sind.


    Ich hoffe du verstehst was ich meine.


    Gruß
    Igor

  • hallo!


    ja, schon. nur was hält mich davon ab, deine frage aus zeile drei ist ganz einfach zu beantworten:
    "Sagen wir mal dass die RA nach sync 18h 36m 56s war. Jetzt läuft die montierung 5 minuten lang.
    Wie ist RA nach diese 5 Minuten?"
    sind wir noch ein bisserl grosszügiger: das sind 279.2333°
    - 5 minuten später sollten das 280.4833° sein - je nach händigkeit.
    ich muss also in den 5 minuten die stundenachse um 1.2503° vor- oder zurückdrehen. nehmen wir an, mein stepper habe 1.8° steps und 1/8 mikroschritte, ein planetengetriebe mi 1:27 und eine schnecke mit 1:144:
    dann muss ich in der zeit 21607 microsteps machen, wenn ich mich nicht verrechnet hab, sind das 72 microsteps /sekunde ... das schreckt mich noch nicht ...
    lg
    wolfi

  • Hallo Wolfi,


    So jetzt sehe ich wo ich nebeneinander reden :)
    Wenn ich zähle meine, dann meine ich deine aktuelle RA und DEC Position am Himmel.


    Cartes du ciel fragt dich immer ab wo du grade bist mit :GR und :GD.
    Um deine Position auf dem Bildschirm zeigen zu können.


    Dann darfst du deine 21607 Mikroschritte die du in diese 5 Minutten gefahren bist nicht zählen bei der Rückmeldung wenn Cartes du ciel dich fragt :GR und :GD.


    Anders jedoch wenn du goto Befehl machst oder die Montierung per Tasten manuell bewegst. Dann muss du das gefahrene in Antwort schicken.


    Das meinte ich mit nicht Zählen der Nachführ.


    Grüße
    Igor

  • Das lx200 Teil kannst du gerne von mir haben.
    Es ist für Arduino geschrieben und behandelt 2 Serielle Ports gleichzeitig.
    So kann man goto über BT und Autoguiding über PC gleichzeitig machen.


    Viele Grüße
    Igor

  • hi!
    wär ja cool, wird auch dokumentiert, dass es von dir ist. ich hab in der richtung noch nix gmacht und habe mir die INDI-seite bei der LX200 noch nicht angeschaut, etwas anschauungsmaterial wär auf jeden fall nett :)


    lg
    wolfi

  • hi! gestern standen wir am abgrund, heute sind wir wesentlich weiter ... hoffen wir auf gutes wetter am wochenende, dann probier ich amal die reine nachführung aus. stundenmotor läuft scheinbar konstant im asynchronen thread mit 92.26 microsteps/s :)
    lg
    wolfi

  • hi! mitm wochenende wirds nix ... da bastel ich halt im wohnzimmer weiter. man sieht in grauslicher qualität:
    - 2 schrittmotoren aus der wühlkiste, einer läuft ständig (RA), der andere nur auf wunsch.
    - eine qhy 5 am INDI server
    - laden von katalogen. auslastung der CPU geht auf 300%, ein bisserl was geht also noch :D
    - der raspberry wird ordentlich warm :D
    - das gui lüft hier am monitor, nicht auf dem kleinen 3.2" touchscreen


    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    lg
    wolfi

  • hi! das ist schon mikroschrittbetrieb - der kleine ist nur mit viel zu viel strom gefahren :D
    die steuerung kann 16 mikroschritte, und mit anderen motoren die nicht einfach am tisch liegen,
    macht sie das auch etwas leiser :)
    lg
    wolfi

  • Hallo Wolfi,


    <blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote"><i>Original erstellt von: Birki</i>
    die steuerung kann 16 mikroschritte
    <hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">


    Wenn ein Vollschritt nur in 16 Mikroschritte zerlegt wird, muss man die Getriebe-Untersetzung aber deutlich größer machen als es eigentlich notwendig wäre. Mit der Folge, dass die maximale Schwenk-Geschwindigkeit entsprechend kleiner sein wird. Ich habe jetzt noch nicht gesucht was aktuell auf dem Markt angeboten wird. Gibt es denn keine bezahlbare Endstufe, die ca. 4A pro Wicklung liefern kann und mindestens 64 Mikroschritte pro Vollschritt macht?

    Die Idee, einen Raspi zu verwenden, finde ich sehr reizvoll. Aber wir sind uns glaube ich alle darin einig, dass man die zeitkritischen Dinge (Ansteuerung der Motore) an einen Mikrocontroller auslagern muss.


    Zur Anmerkung von Igor, wie die Steuerung reagieren muss wenn vom Sternkarten-Programm eine :GR# Anfrage kommt:
    Die Steuerung muss die aktuelle Position des Motors kennen. Das ist (nach einmaliger Kalibrierung) der Stundenwinkel.
    Die Rektaszension wird dann wie folgt berechnet:
    RA = Sternzeit - Stundenwinkel
    Wobei die Sternzeit aus der aktuellen Uhrzeit errechnet wird. Der Zeitversatz zwischen der Abfrage des Stundenwinkels und der Abfrage der Uhrzeit muss klein sein.
    Siehe
    https://de.wikipedia.org/wiki/…nwinkel_und_Rektaszension


    Gruß
    Michael


    P.S. Noch besser wäre eine 4A Endstufe, die einen analogen Sollwert-Eingang hat. Dann könnte man einen Mikrocontroller mit 4-Kanal 10-Bit D/A Umsetzer verwenden. Mehr als 10 Bit braucht man nicht.

  • servus michael!


    erstens einmal freut es mich sehr dein und igors interesse an dem thread sehr - input von erfahrenen leuten ist mir wichtig und ich bin auch diskussionsbereit ;)


    also - das board, das ich verwende, ist folgendes:
    http://www.phidgets.com/produc…gory=13&product_id=1067_0
    man sieht die 2 dinger auch auf dem video.


    das hat einen microcontroller, der seine befehle (anzahl der schritte, beschleunigung, geschwindigkeit) über USB bekommt. der pi steuert also keine schrittmotoren, sondern das board. er ist allerdings doch so schnell (1.2 GHz), dass er recht gute timerauflösung hat (ich habe eine monotone unix-clock laufen, die liefert schon mikrosekunden). die motoren werden in eigenen threads gestartet, d.h. die einzelnen boards "leben" parallel. daher auch die auslastung mit 300 %, wie in dem terminal mit top zu spitzenzeiten ersichtlich. INDIserver und 2 motoren belegen dann 3 der 4 cores von dem ARM.


    bzgl. der mikroschritte - das ding ist, was es ist. wenn man mit den mikroschritten raufginge, geht halt auch das haltemoment ordentlich runter (oder?). egoistischerweise will ich einmal mein eigenes fernrohr damit antreiben :) - das hat ein rad mit 288 zähnen und ein 1:9 planetengetriebe vor dem stepper. damit habe ich eine geschwindigkeit von 96.26 1/16 microsteps/s. das ist schon recht wenig. ich weiss nicht genau, was meine littlefoot vpower macht - es lässt sich auch nicht mehr so genau nachvollziehen und ist eh wurscht :D - aber die läuft sicher nicht kontinuierlich sondern tickert.


    bezüglich des geratteres von dem kleinen stepper - das ding habe ich in der wühlkiste gefunden, das ist ein vexta PX244 und nicht als antriebsmotor gedacht. ich habe nanotecs im fernrohr. ich sollte ihn auch nicht mehr mit mehr als 0.8 A betreiben :D


    bzgl. RA & stundenwinkel: ist mir schon klar, ich habe physik studiert und kann sphärische triginometrie ;)


    zu meiner motivation:
    - wie eingangs geschrieben sehe ich das ende der vpower kommen, wenn ich nicht mehr parametrisieren kann. ausserdem hat sie einen bug (ein st4 eingang geht nicht). soll so sein, is mir wurscht.
    - ich will das irrsinnige gewurschtel mit guiding via laptop, 1000 RS232/usb/st4 adaptern, verschiedenen ASCOM versionen am laptop nicht mehr.
    - ich will nicht mehr zum laptop rennen müssen, um zu sehen , ob ich wirklich einen leitstern hab und ob er fokussiert ist.
    - ich brauch dicke motoren. die littlefoot muss auch mit kühlkörpern und lüftern versehen werden, sonst dreht sie sich nach 3 sekunden mit dem thermoschutz ab.


    die onstep wäre durchaus interessant und scheint ja ganz ok zu sein. ich hätt das guiding halt auch gern dabei ;)


    und wenn ich fertig bin, bau ich mir eine bluetooth handbox dazu ;)


    lg
    wolfi

  • Hallo Wolfi,


    <blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote"><i>Original erstellt von: Birki</i>
    bzgl. der mikroschritte - das ding ist, was es ist. wenn man mit den mikroschritten raufginge, geht halt auch das haltemoment ordentlich runter (oder?).
    <hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">


    Nein, die Mikroschritt-Auflösung hat überhaupt keinen Einfluss auf das Haltemoment.


    Gruß
    Michael

  • <blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote"><i>Original erstellt von: Birki</i>
    also - das board, das ich verwende, ist folgendes:
    http://www.phidgets.com/produc…gory=13&product_id=1067_0


    ... damit habe ich eine geschwindigkeit von 96.26 1/16 microsteps/s. <hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">


    Was mir an dem Ding gefällt sind die 4A pro Wicklung. 16 Mikroschritte pro Vollschritt sind meiner Meinung nach zu wenig für die Anwendung um die es hier geht. Ein weiteres Problem scheint die Geschwindigkeits-Auflösung zu sein. Wenn ich die Daten richtig interpretiere, ist die Auflösung nur 1 Mikroschritt pro Sekunde? D.h. du kannst die Geschwindigkeit entweder auf 96 oder auf 97 stellen und dauernd hin- und herschalten, in der Hoffnung dass sich im Mittel die richtige Geschwindigkeit ergibt?


    Gruß
    Michael


    P.S. Kennt jemand eine vergleichbare Endstufe mit 64 Mikroschritten pro Vollschritt, oder mit Analog-Eingang?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!