Elektronik für Montierung: was könnte ich machen???

Status
Es sind keine weiteren Antworten möglich.

Skywalker

Aktives Mitglied
Hallo,

ich muss die ATM-Gemeinde hier wiedermal mit theorie nerven...

Ich möchte mir für meine deutsche Montierung nun bald mal eine elektronik ausdenken. Diese sollte möglichst viele Funktionen erfüllen. (Goto, PEC...). Nun hab ich aber leider noch nie eine "richtige" Nachführung (a la Böxdorfer, o.ä.) gesehen (hab nur ne EQ3). Deshalb müsste mir mal jemand sagen, welche Funktionen so eine Steuerung unbedingt haben sollte.

Nr.2: Muss LX200 Protokoll sein? Lässt sich imho schwer selber realisieren, oder hat das schon wer gemacht?

Nr.3: Sehe ich das richtig das eine Goto-Fähige Montierung über eine interne Uhr verfügen muss? Wegen Sternzeitberechnung?
Wo könnte man Tipps für die notwendigen Umrechungs / Berechnungsalgorithmen herbekommen?

Also vielen Dank schon Mal,

MfG Torsten



Die nächsten Fragen kommen bestimmt gleich noch :-)

Betreff geändert vom Boardmaster
 
Zuletzt von einem Moderator bearbeitet:
Re: Wie könnte ich das machen???

Hallo Thorsten,

also ich selbst besitze kein GoTo-Teleskop ( ist mir einfach zu teuer ) und habe mich deshalb auch schon einmal mit dem Bau eines solchen Instrumentes befasst, das Projekt aber schon bald wieder auf Eis gelegt.
Es ist für den normalen Amateur wie unsereinen ( es gibt natürlich auch wieder die "Profis" unter den Amateuren ),
eigentlich unmöglich, eine eigene Montierung an die technischen Rafinessen eines High-Tech-Fernrohres "von der Stange" heranzubringen, es sei denn man ist selbst Mitarbeiter bei solch einer Firma.... <img src="/phpapps/ubbthreads/images/icons/grin.gif" alt="" />
An sich ist es ja gar nicht so schwer, man braucht eigentlich nur die Steuercodes ( kann man aus dem Lx200 herausladen, gibts meines Wissens auch irgendwo im Internet ), diese über ein Programm mit den Motoren koppeln, und wer sein Instrument nicht auf den Millimeter ausrichten will, kann sich noch ein GPS dranhängen ( wären wir dann beim Selbstbau eines Lx200 GPS <img src="/phpapps/ubbthreads/images/icons/grin.gif" alt="" /> )
Aber wie man diesen ganzen Krempel so komplex verbunden dazu bekommt, das Teleskop nach seinen Wünschen zu bewegen, das ist wohl eine Kunst für sich. <img src="/phpapps/ubbthreads/images/icons/wink.gif" alt="" />
Aber wie auch immer, ich möchte Dir die Idee nicht madig machen, ausprobieren kann man es ja. Vielleicht funktioniert es, und wenn nicht, dann hat man wieder was gelernt. <img src="/phpapps/ubbthreads/images/icons/cool.gif" alt="" />

Selbstpositionierende Grüße

Michael
 
Hallo Skywalker!
Hast Du schon mal von Mel Barthels gehört? Der Ami hat eine Teleskopsteuerungsmöglichkeit entwickelt mit der die Steuerung vonn Motoren über einen Laptop realisiert wird.Die Software gibts frei in Internet und die noch benötigten Bauteile machen ca. 100 € aus.Nachbau ist kein Problem wenn du Dich ein wenig mit Elektronik auskennst.
Ich selbst habe die Steuerung gerade an meine EQ 5 angepasst.Goto,Pec u.s.w. ist möglich man muß bloß die Parameter selbst einstellen und das dauert eben etwas.Aber man lernt die Sache dadurch richtig kennen und auch etwas über Montierungen.Wenn du eine EQ 3 motorisiern möchtest sind die Einstellungen fast wie bei mir. Einziger Nachteil: durch die hohe Übersetzung ist das Goto etwas langsam aber mich stört es nicht.
Eine deutsche Übersetzung von Mel Barhels Seite gibt es unter http://www.geocities.com-alexanderurban/melspage/altaz.html.
für Fragen kannst Du mich auch direkt anmailen.

Gruß Marco
 
Hallo Skywalker,
ich bin gerade an so was dran!
Ich dachte zunächst an Tracking (später Goto) für eine equ. Monterung (2 Motoren + Fokussierer),
viel später auch an die Steuerung meines Dobsons (+ 1 Motor für Bildfeldrot.)

Hier ein paar vorläufige Daten des ICs:

- Schrittmotor-Steuerung mit einem billigen Standard-Controller IC (Atmel AT90S2313)
- bis zu 4 Motoren, Mikroschrittbetrieb (64 Steps/Phase, Sinus Halbwellen pulslängenmoduliert + Dir-Signal)
- Motor-Ansteuerfrequenz bis 600Hz (die meisten Motoren schaffen aber grad mal 50Hz)
- optional bis zu 3 Motoren synchronisierbar (d.h. kommen zu gleicher Zeit am Zielpunkt an)
- RS232 Ansteuerung (dabei auch die LX200 Move/Quit Befehle, gedacht für Autotracking)
- separate simple Handsteuerung für Betrieb ohne Rechner verwendbar
- viele Möglichkeiten für Steuerung (Digital-Wheel, Tasten, auch mit stufenloser Geschwindigkeit, ..)
- 2 Motoren mit programmierbarem PEC
- alle Motoren mit individuell wählbarem Spielausgleich
- Möglichkeit für je 8 extra Daten-Eingänge und 8 Daten-Ausgänge, steuerbar über RS232 (für Endschalter,...)
- optionales Tracking (360°/Sterntag)

Es sind verschiedenen Betriebsmodi wählbar:
- mini: Direktausgänge für 2 Motoren, nur 5V, Quarz, Motor-Leistungstreiber und evtl. RC-Filter und RS232 Treiber erforderlich
- maxi: Multiplexausgänge für 4 Motoren, zusätzlich je 8 Daten Ein- und Ausgänge (über max.3 Latch-Bausteine)

Je nach Leistung der Motoren können verschiedene Treiberschaltungen verwendet werden (ich hab z.Zt. sogar eine Analogschaltung mit LM324 + 8Transistoren im Einsatz - funktioniert prima für kleine Motoren!)

Einschränkungen:
- nur ganzzahlige Übersetzungen (Getriebe*Schneckenradzähne*SMPhasen) einstellbar
- PEC-Phasenoffset nur mechanisch einstellbar (aber Frequenz+Amplitude programmierbar)
- nicht der volle LX200 Befehlsatz

Die gute Nachricht: ein Prototyp läuft bereits im Testbetrieb!
Die schlechte Nachricht: Da ich nebenher auch noch ein bisschen Beruf habe <img src="/phpapps/ubbthreads/images/icons/wink.gif" alt="" /> , zieht sich die weitere Entwicklung noch hin (sicherlich noch einige Wochen oder Monate, je nach dem wie gerade ich Zeit habe).
Später mehr!

Gruß
Karl-Heinz
 
Hallo zusammen,
ich arbeite zZ. selbst an einer Nachführung (Elektronik).
Meine Erste Version soll kein Goto oder Ähnliches enthalten. Ich möchte zwar letztendlich in diese Richtung gehen.
Die Lösung von Mel Barthels geht nur mit einem PC. - Finde ich deshelb nicht so toll.
Mein Ansatz ist.
1. Micro Controller
2. RS232 Interface zu einem PC ( LX200 Komandos)
3. Einfache Handsteuerung.
4. Beide Achsen werden angetrieben.

Mehr soll die erste Version nicht können.

Die zweite Version enthält dann zusätzlich Positionsgeber und intere Uhr. Diese könnte dann Goto- leisten.

Ich möchte die eigendliche Schaltung möglichst einfach und Preiswert halten.

Ich werde mich wieder in diesem Forum rühren, wennd er Prototyp rennt.

Tschüss und schönes Wochenende
 
Hallo Leute,

da scheinen wohl einige Leute die gleiche Idee gehabt zu haben...

Ich sitze derzeit auch an einer Goto-Steuerung für mein Teleskop. Die Software ist bereits weit fortgeschritten, jetzt fehlt nur noch (!) die Leistungselektronik. Hier mein Aufbau:

Conrad C-Control 2 + Application Board
EEPROM-Speicher für Konfigurationen
DCF-Uhrenbaustein
4x16 LCD mit steuerbarer Hintergrundbeleuchtung
Software-Features:
Objektdatenbank mit ca. 8000 Objekten für GoTo
LX200 Modus

Für den Leistungsteil (Dec,Ra und Fokusmotor) werde ich drei L298-Brücken verwenden. Zusätzlich brauche ich ein Schieberegister für die Schrittmotorsteuerung, da die Ausgänge langsam voll sind. Die Fokussiergeschwindigkeit soll zusätzlich über PWM-Ausgang geregelt werden.

Vielleicht findet sich unter den Lesern noch ein Elektronik-Spezialist. Hier meine Fragen:
Ich plane, den Leistungstreiber gemäß Beispielschaltung im Datenblatt zum L298 zu realisieren. Weiss jemand, was es mit dem Chopper auf sich hat? Brauche ich da etwa noch zusätzliche Anschaltung?
Weiss jemand, wie der Mikroschrittbetrieb realisiert wird?

Vielen Dank schonmal
Bei Erfolg wird es eine komplette Anleitung auf meiner Web-Seite Sky-Observer geben.

Arno <img src="/phpapps/ubbthreads/images/icons/smile.gif" alt="" />
 
Hi @ all. Danke für die antworten. Di Mel-Bartels-Steuerung hab ich mir mal genauer angesehen. das ist schon richtig heftig was der Mann da programmiert hat. Das heb ich mir für den Notfall auf jeden Fall auf.
Aber der Selbstbau-Trieb hat mich gerad befallen, da werd ich doch die Elektronik neu entwickeln.
Nur die Software macht mir noch etwas Kopfzerbrechen. Es wäre super falls mir einer meiner Vorredner mal ein Stück Source posten könnte. Also nicht falscb verstehen, ich will nicht komplett kopieren, nur die Nachführung und Goto Algorithmen interessieren mich brennend.

@Arno: wegen dem L29x könnte der Link helfen:
http://www.schulseiten.de/elektronik/bohrplotter/download/Dokumentation.pdf
und wie machst du eigentlich die Auswertung des DCF Signals?

Also Danke und
Tschau
Torsten

PS: 8" Newton für die Montierung ist fast fertig *freu*

 
Hallo Skywalker,

zuallererst vielen Dank für den Link! Genau das Richtige!

Schicke mir eine EMail an arno@sky-observer.de. Ich habe eine Zip-Datei (ca. 700Kb) mit dem gesamten Treiberprojekt vorbereitet. Dort findest Du den Sourcecode unter anderem für ein einfaches GoTo. Die Synchronisation erfolgt derzeit nur an einem Objekt und es gibt noch einen kleinen Fehler:
Beim Bewegen der RA-Achse müssen die aus der fehlenden Nachführung verlorenen Schritte korrigiert werden. Dies scheint derzeit noch nicht richtig zu funktionieren. Leider hatte ich die letzten Wochen kaum Zeit mich darum zu kümmern.
Der Sourcecode ist größtenteils dokumentiert, es gibt auch eine HTML-Dokumentation dazu. Du kannst jederzeit nachfragen, wenn Du irgendwelche Probleme hast.

Gruß
Arno
 
Hallo Freunde von Bits und Bytes,

Hier ein bisschen Theorie zur Schrittmotor-Steuerung:
(nichts ist so praktisch wie eine gute Theorie...)

Bei Voll- und Halbschritt-Betrieb werden die Ströme (Ia, Ib) durch die beiden Motorspulen einfach nur an- oder ausgeschaltet (1 oder 0, bei 'an' gibt's dann noch 2 Richtungen: +1 oder -1). Die Steuer-ICs L298, L293, usw... haben dazu Eingänge für an/aus (INH oder EN) und +/- (DIR).
Die Logik dazu ist besonders einfach zu realisieren (4 Digitalsignale pro Motor). Auch die restliche Elektronik ist nicht allzu kompliziert. Daneben haben diese Betriebsarten noch den unschätzbaren Vorteil einer inhärenten akustischen Funktionskontrolle: so angesteuerte Motoren erzeugen das Geräusch einer lauten elektrischen Kaffeemühle oder - bei Ausnutzung günstiger Resonanzen - einer Schlagbohrmaschine! <img src="/phpapps/ubbthreads/images/icons/grin.gif" alt="" />
Wer keinen gesteigerten Wert auf einen kraftvollen Sound legt und zudem eine feinere Winkelauflösung möchte, verwendet die Mikroschritt-Ansteuerung. Hier werden die Motorspulen nicht nur an/aus geschaltet, sondern mit Strömen variabler Amplitude versorgt. Zur Ansteuerung sind somit 2 Analogsignale je Motor erforderlich, die die Steuerelektronik bereit stellen muss (ich verwende hierzu bei meiner Lösung für 4 Motoren 8 Signale mit ca. 19kHz nichtlinear pulsweitenmoduliert + RC-Sieb, was eine wunderschöne sinusförmige Halbwellenspannung ergibt). Die erforderlichen Stromstärken für einen bestimmten Motor-Winkel habe ich mal unten in einer Tabelle aufgelistet (Beispiel: Motor mit 3.6°/Schritt).
Im Unterschied zu normalen Motoren (Spannung dran und läuft) müssen Schrittmotoren beim Anfahren und Halten mit genau definierten 'Rampen' gefahren werden: abrupte Änderungen der Motorgeschwindigkeit mögen sie gar nicht und führen dazu, dass sich der Motor verhaspelt und die Positionierung verliert. Die Steuerlogik muss nun bei der Berechnung dieser Start/Stop-Rampen nicht nur den jeweiligen Schaltzeitpunkt bestimmen, sondern auch die zugehörigen Stromamplituden. Dabei berechne ich die Rampen nicht im voraus, da sich während der Fahrt die Zielposition noch ändern könnte (genau das passiert bei einer RA-Nachführung). Ich berechne also in jedem Punkt eine neue Schrittweite mit folgendem Algorithmus (hier in Pseudocode, in Wirklichkeit in hochoptimiertem Assemblercode programmiert, incl. Berücksichtigung des Überlaufs 360°<->0°, Umrechnung Grad<->Microsteps, zusätzliche zeitliche Dehnung der Rampe, Tracking, PEC, Backlash-Kompensation,...)

<pre><font class="small">code:</font><hr>
Dir =Richtung, in der sich der Motor bewegen soll (BOOL)
DirS =Richtung der Steps (=Richtung, in der sich der Motor gerade wirklich bewegt)
Step =aktuelle Schrittweite (UINT)
StepMax =maximale Schrittweite (bestimmt die Verfahrgeschwindigkeit) (UINT)
Pos =aktuelle Position (UINT)
Tgt =Zielposition (UINT)
Rem =restliche Entfernung zum Ziel (UINT)

Task {
Rem=abs(Tgt-Pos); Dir=sgn(Tgt-Pos);
if (Step==0) DirS=Dir; // Steprichtung umschalten
if (Step>0 && (Rem<Step*(Step+1)/2 || Dir!=DirS)) Step--; // bremsen
if (Rem>=(Step+1)*(Step+2)/2 && Step<StepMax) Step++; // beschleunigen
Pos+=[DirS]*Step // neue Position
}

(juhuu, bei 'Code' bleiben die Leerzeichen erhalten!)
</pre><hr>

Beachte: gewünschte und tatsächliche Bewegungsrichtung des Motors können voneinander abweichen! Wenn ich von A nach B fahre, unterwegs aber wieder A als neues Ziel angebe, muss der Motor erst mal langsam auf 0 abgebremst werden (d.h. noch ein Stückchen in die falsche Richtung fahren), dann langsam in der richtigen Richtung beschleunigt werden, und kurz vor dem Ziel dann wieder langsam abgebremst werden, so dass das Ziel mit Geschwindigkeit 0 erreicht wird.

Aus Pos kann dann die Phase i und daraus die Stromstärken bestimmt werden:
i=(Pos & 63);
Ia(i)=sin(2Pi*i/64); Ib(i)=cos(2Pi*i/64);


--- Goto+Tracking: -------------------------------------
Ohne Tracking ist die Zielposition einfach 'Tgt' = RA. Mit Tracking wird ein zusätzlicher Zähler T verwendet, der in einem Sterntag 360° durchläuft. Die Zielposition ist dann Tgt=RA-T (oder je nach Winkeldefinition auch T-RA).
Beispiel: bei meinem Zähler werden 360° repräsentiert durch 2^21 bits, die ich mit 24.33904876Hz hochzähle:
2^21/24.33904876=86164.093sec=1 Sterntag
Diese etwas krumme Frequenz gewinne ich aus einer vorhandenen 2400Hz Interrupt Task durch folgenden Algorithmus:

<pre><font class="small">code:</font><hr>
Hilfszähler H
Task(2400Hz) {
H+=430
if (H>42401) {H-=42401; T+=1}
}
</pre><hr>

Mit den Werten 430 und 42401 erhält man zufällig genau (2400Hz*430/42401)=24.3390486.... Die Abweichung beträgt nur 0.008 arcsec/day - der Quarz und selbst die Erddrehung sind viel ungenauer! Für andere Frequenzen als 2400Hz existieren entsprechende Zahlenpaare.


--- Chopping bei Schrittmotor-Steuerungen ------------------
Einfache Schrittmotoren haben einen hohen Spulenwiderstand (typ. einige 10 Ohm) und lassen sich ohne Zusatzbeschaltung an die Treiber-ICs anschließen. Leider haben sie damit auch eine hohe Induktivität, d.h. der Spulenstrom folgt bei höheren Geschwindigkeiten nicht mehr richtig der Ansteuerspannung. Damit lassen sich nur ziemlich kleine Geschwindigkeiten erreichen.
Niederinduktive Motoren umgehen das Problem, brauchen aber zwingend eine Strombegrenzung, die durch Chopping erreicht wird. Der Treiber läuft somit praktisch als bipolares Schaltnetzteil im Konstantstrommodus. Für den L298 gibt's dazu den L297. Außerdem müssen schnelle Freilaufdioden (Schottky oder SuperFastRecovery) verwendet werden, die in den Schaltpausen den vollen Spulenstrom übernehmen - genau wie in einem normalen Schaltnetzteil auch, nur dass es halt 4 Stück je Motor sind. Im Mikroschrittbetrieb ist sowieso nix mehr mit ein/aus, der Treiber muss analoge Ströme liefern können. Das wird durch zusätzliche Regelschaltungen erreicht (2 je Motor), die aus der Spannung am Stromsensor und dem Analogsignal von der Steuerlogik die richtige Chopper-Pulslänge ermitteln. Da ist dann aber nix mehr mit L298 und ein paar Kabel drangelötet..

So long,
Gruß
Karl-Heinz

Tabelle:
<pre><font class="small">code:</font><hr>
Motorwinkel und Spulenströme (Ia, Ib) bei verschiedenen Modi:
--- Vollschritt -------------------------------
i Winkel Ia Ib
0 0 0 1
1 3.6 1 0
2 7.2 0 -1
3 10.8 -1 0
4 14.4 0 1

--- Halbschritt -------------------------------
i Winkel Ia Ib
0 0 0 1
1 1.8 1 1
2 3.6 1 0
3 5.4 1 -1
4 7.2 0 -1
5 9 -1 -1
6 10.8 -1 0
7 12.6 -1 1
8 14.4 0 1

--- Mikroschritt ------------------------------
Ia(i)=sin(2Pi*i/n), Ib(i)=cos(2Pi*i/n); i=0...n,
n=Microsteps/Phase (z.B. n=64)

i Winkel Ia Ib
0 0 0.00 1.00
1 0.225 0.10 0.99
2 0.45 0.20 0.98
3 0.675 0.29 0.96
4 0.9 0.38 0.92
5 1.125 0.47 0.88
6 1.35 0.56 0.83
7 1.575 0.63 0.77
8 1.8 0.71 0.71
9 2.025 0.77 0.63
10 2.25 0.83 0.56
11 2.475 0.88 0.47
12 2.7 0.92 0.38
13 2.925 0.96 0.29
14 3.15 0.98 0.20
15 3.375 0.99 0.10
16 3.6 1.00 0.00
17 3.825 0.99 -0.10
18 4.05 0.98 -0.20
...
62 13.95 -0.20 0.98
63 14.175 -0.10 0.99
64 14.4 0.00 1.00
</pre><hr>
 
Oh gott!
Ich meld mich morgen, wenn ich fertig bin mit lesen ;-)

Nein ganz im Ernst, danke für diese Zusammenfassung.

Ich hab mir heut auch schon mal Gedanken gemacht. Könnt ihr mal checken ob ich da richtig liege...

1. 24h RA = 360°
1h RA = 15°
4' = 1°
Das ist soweit richtig, denke ich :-)

So, die Montierung hat Untersetzung 1:2000 der Stepper 96 Schritte (nur so angenommen)

Das bedeutet für 360° an der RA Achse macht man
2000*96 = 192000 Schritte.
Die Frequenz ist 192000 / 86164s = 2,22.. Hz (ganz schön langsam...)
Die Winkelauflösung wäre jetzt 360° / 192000 = 0,001875°
das sind 6,75" pro Schritt. Ok, das geht natürlich so nicht, aber ist ja nur ein Beispiel...

Damit ist das Tracking schon mal klar. Jetzt GoTo.
Hier muss ich zugeben, das ich die rechung mit Rektaszension, Sternzeit usw. noch nicht ganz begreife. *HILFE*

Aber nun kann man ja anhand eines Referenzsterns die aktuelle Position merken und die Differenz zum Objekt ausrechenen. Jetzt die Entfernung / Schrittweite ergibt die Schrittanzahl bis zum Objekt. Richtig?

Ok, das genügt erstmal.
Danke
MfG Torsten
 
Alle Achtung,

Also was da einige Leute so nebenbei zusammenbasteln ist schon Klasse, da währe es schon fast mal interessant über eine Zusammenarbeit von verschiedenen Leuten nachzudenken, damit nicht einer alles machen muss.
Das macht zwar auch Spaß, aber die Zeit ist halt immer verdammt knapp, wenn da halt die Arbeit nicht währe.

Meine eigentliche Frage ist folgende:
Ich habe jetzt schon mehrmals versucht, auf die Seite mit dem obigen Link zu kommen, aber da kommt immer nur eine Fehlermeldung, das die Seite nicht mehr verfügbar ist, ist die evtl. umgezogen ?

CS Raimund

 
Hallo,

warum verwendest Du nicht den L6219 ?
Er ist günstiger, Microschritt tauglich und super einfach anzusteuern ;-)

Das Datenblatt kannst Du Dir ja mal Googeln

Grüße
Rajiva
 
Hallo,

ich würde gerne die Diskussion fortsetzen.
Nachdem ich mich die letzten Wochen mit verschiedenen Datenblättern und Lösungsmöglichkeiten herumgeschlagen habe, weiss ich nicht so recht weiter.
Leider fällt bei mir die klassische Lösung mit der PWM-Ansteueurung für den Mikroschrittbetrieb aus, da die C-Control 2 leider nur über drei PWM-Ausgänge verfügt. Die PWM in Assembler zu programmieren und auf einem digitalen Port auszugeben erscheint mir bei der geforderten Sample-Rate aussichtslos. Wenn ich korrekt gerechnet habe, muss ich bei meinen ESCAP-P530 mit 12er Getriebe und Vixen GPDX den Strom 12000 mal pro Sekunde variieren können, wenn ich ein schnelles Goto (1,5 Grad/Sekunde) haben möchte.

Nun ist mir ein Datenblatt in die Hände gefallen zum TCA3727 von SIEMENS. Dieser kann über eine relativ simple Ansteuerung einen sogenannten Ministep-Modus realisieren. Ich nehme an, hierbei handelt es sich um ein Achtel-Schritt-Modus.
Vielleicht kennt ja jemand dieses Bauelement und kann mir dazu ein paar Tipps geben.

Vielen Dank schon mal
Arno:-)
 
Hehe, die hab ich auch zu hause liegen.
Das ist genau Achtel-Schritt. Ich persönlich hab bisher aber nur Halbschritt benutzt. Voll- und Achtel geht aber auch gut.
Wobei ich das nächste Mal wohl auf die L297/L293 Kombination umsteigen würde. Die lassen sich noch einfacher ansteuern. Einfach Voll/Halb, Takt und Richtung.
Zu dem TCA hab ich irgendwo ein umfassendes Tutorial rumliegen... *aber wo*

Wenn ichs finde schick ich es rüber.

Tschau
Torsten
 
Erfahrungen mit Mikro/Halbschritt

Hallo,

ich habe nun ein wenig mit meiner Powerflex MTS3 experimentiert, hier meine Erfahrungen mit Halb- und Mikroschritt:
Mikroschritt habe ich in der Grundeinstellung mit hochgesetzter Frequenz (2000Hz) eingestellt. Der Lauf ist absolut ruhig. Im Nachführmodus ist mit den ESCAP-Motoren praktisch nichts zu hören.
Halbschritt bei PWM=100% und Grenzfrequenz=225Hz ist bis auf den Schrittverlust durch die zu hoch eingestellte Beschleunigung (Kurze Rampe:2) durchaus mit dem Mikroschritt vergleichbar. Ich glaube ein wenig lauter.
Im Nachführmodus ist ein deutliches klicken zu hören. Wie sich das auf die Montierung auswirkt (Schwingungen) vermag ich nicht zu sagen.

Für mich ziehe ich die Konsequenz, dass ich auf jeden Fall Mikroschritt in meiner eigenen Steuerung realisieren werde. Dazu auch noch ein paar Anmerkungen:
Bisher hatte ich eine ohnehin vorhandene C-Control 2+Application Board dafür angedacht. Leider gibt es hier nur drei PWM-Ausgänge, so dass eine Mikroschritt-Steuerung nur mit erhöhtem Aufwand zu realisieren ist. Die Programmierung in Assembler ist kaum möglich, da es keine freien Tools dafür gibt und die Demoversionen stark eingeschränkt sind. Der eingebaute Befehlsinterpreter ist zwar recht umfangreich aber auch sehr langsam. Um die benötigten schnellen Timer zu realisieren ist zudem ein recht hoher Aufwand notwendig.
Ich werde nun auf die Atmel-Controller ausweichen. Neben der großen Auswahl an Tools und Hilfen im Internet spricht die Ausstattung beispielsweise des ATmega 128 für sich. Siehe ATMEL.
Auch scheinen hier einige auf die Atmel-Controller zu setzen.
Es gibt auch eine Auswahl an fertigen Miniboards, so dass man sich das löten von SMD Käfern sparen kann. Die Miniboards kann man leicht auf Experimentierplatinen verwenden.
Im Vergleich zur C-Control muss man zwar viel selbst machen, dafür bekommt man aber auch brauchbare Werkzeuge.
Für die Schrittmotorsteuerung selbst werde ich wohl den L6219 verwenden. Da Steuerung und Treiber hier integriert sind spart man sich einiges an löterei und miniaturisiert das Ganze noch ein wenig.

Ich bin sehr gespannt auf Eure Erfahrungen.

Gruß
Arno
 
Re: Erfahrungen mit Mikro/Halbschritt

Hallo,
mit dem L6219 habe ich bisher noch nicht gearbeitet. Von den Daten her ist das ein Treiber für eher hochohmige Motoren, die zwar einfacher anzusteuern sind, aber keine hohen Drehzahlen erlauben. Für die schnellen niederohmigen Typen gibt's zum L298 wenig Alternativen. Und da das ein weitverbreitetes Standardteil ist (den ich vor 10 Jahren schon erfolgreich verwendet habe), wird er wohl noch ein Weilchen bei den meisten Händlern erhältlich sein.
Bitte beachtet: der schönste IC nützt nix, wenn ich keinen Ersatz dafür bekomme (außer ich lege mir einen Sack voll auf Lager...), oder wenn der Hersteller/Händler nur bei mindestens 1000 Stück/Monat Abnahme liefert...
Gruß
Karl-Heinz
 
Re: Erfahrungen mit Mikro/Halbschritt

Hallo,

jetzt bin ich schon wieder verunsichert...
Also nochmal eine Frage:
Ich verwende die ESCAP-P530-xxx-004 Motoren. Bei serieller Verschaltung ist ein nomineller Phasenstrom von 0,7A (2 Phasen an) bzw. 1A (1 Phase an) angegeben.
Der L6219 verträgt laut Datenblatt 0,75A/Phase bzw. 1A Spitzenstrom. Das müßte doch noch funktionieren, oder?
Ich wüßte sonst wirklich nicht, wie ich mit dem L298 noch vernünftig Mikroschritt realisieren kann. Soviel verstehe ich nun auch wieder nicht davon... und jetzt sagt mir bitte nicht, ich soll mir eine Steuerung kaufen, denn ich habe schon eine <img src="/phpapps/ubbthreads/images/icons/wink.gif" alt="" /> Ich will mir nur den Spaß gönnen, so etwas mal selbst zu bauen.

Der Controller kommt morgen mit der Post <img src="/phpapps/ubbthreads/images/icons/smile.gif" alt="" /> <img src="/phpapps/ubbthreads/images/icons/smile.gif" alt="" /> <img src="/phpapps/ubbthreads/images/icons/smile.gif" alt="" />
Dann kann es bald losgehen.

Gruß
Arno
 
Re: Erfahrungen mit Mikro/Halbschritt

Hallo,

ich weiß nicht wie Du darauf kommst, das der L6219 nur für hochohmige Motoren geeignet ist. Ich habe in meinem EQ6 Booster Sanyo Denki Motoren eingebaut. 3 Ohm / Phase ist nicht besonders hochohmig und funktioniert prima !
Der L6219 ist quasi ein L297/L298++ ;-)

Grüße
Rajiva
 
Re: Erfahrungen mit Mikro/Halbschritt

Hallo Arno,

schau Dir mal das IC von Nanotec an.
Es heißt IMT901 und kann auch 8tel Schritt und ist recht einfach anzusteuern. Zu bekommen direkt bei Nanotec oder Geist Elektronik.

Gruß Gerd
 
Mikroschritt auch im Schnellgang?

Hallo,

ich möchte gerne die Diskussion noch einmal auffrischen. Inzwischen bin ich dabei eine eigene Schaltung zu entwerfen. Die C-Control2 habe ich wieder in den Karton gepackt und mir einen Atmel-Controller geholt (ATmega128).
Im Grunde ist die Schaltung bereits fertig gestellt. Ich bin mir aber noch beim RC-Sieb für die PWM-Ansteuerung etwas unsicher, deswegen hier noch einmal eine Frage zu Mikroschritt:
Ich würde gerne meine ESCAP-Motoren wie die Powerflex mit einer Halbschrittfrequenz von etwa 1200 Hz betreiben. Bei 1/64 Mikroschritt würde das ja bedeuten, dass ich den Wert am Komparator 38400 mal pro Sekunde ändern muss. Will ich, dass mein RC-Sieb folgt, so ist eine Dimensionierung von R=1K, C=5nF zum Beispiel notwendig.
Im Nachführmodus ist die Dimensionierung ganz anders, da hier eine viel niedrigere Frequenz geglättet werden soll. Der obige Filter folgt ja sonst der Treppenstufe. Ist das überhaupt ein Problem?
Wird Mikroschritt eigentlich sowohl im Schnell- als auch im Nachführmodus verwendet?

Vielleicht kann mir jemand ja ein paar Tipps geben...
PS: Ich werde die Schaltung mal mit den L6219 testen, die Chopperschaltung ist ja so komplex nicht einmal. Im Grunde muss nur noch ein Komparator vor der Brücke geschaltet werden und der Sense-Eingang am L298 entsprechend beschaltet und an den Komparator geführt werden, richtig?

Grüße und vielen Dank schon mal für Eure Antworten.
Arno
Sky-Observer
 
Re: Mikroschritt auch im Schnellgang?

Hallo Pernozzoli und Freunde der 'winzigen Schritte',

zunächst mal zu den Microsteps: die machen natürlich nur bei kleinen Frequenzen Sinn, bei höheren Drehzahlen vergrößert man normalerweise die Schrittweite, bis man bei der höchsten Drehzahl dann beim reinen Vollschrittbetrieb angelangt ist. Das funktioniert deshalb gut, weil der Motor selbst durch seine Trägheit als Tiefpass wirkt. In der Praxis taktet man oft die Logik mit einer konstanten Frequenz (typisch der Vollschrittfrequenz) und steuert die Geschwindigkeit mit dem jeweils addierten oder subtrahierten (=vorwärts/rückwärts) Phasenwinkel (~Anzahl Microsteps) vor.
Beispiel: 0° bei stehendem Motor, 90°/Takt bei max. Geschwindigkeit, 45°/Takt bei halber Drehzahl, usw.

Die Phase für die beiden Spulen (='Stränge') wird dann nach der Funktion
Amplitude1=Umax*sin(2*Pi*Pos/N) (Pos=Position in Microsteps, N=Anz.Microsteps/4Vollschritte)
Amplitude2=Umax*cos(2*Pi*Pos/N)
eingestellt, die analogen Amplituden entweder über separate D/A-Wandler oder über PulsWeitenModulation mit anschließender Glättung erzeugt. Ich bevorzuge PWM, weil dadurch die umständlichen D/A-Wandler wegfallen.
Das funktioniert bei mir so:
ich verwende nichtlineare PWM-Stufen, die zeitlich gestaffelt sind mit

dt=50,50,49,47,45,43,41,37,34,30,26,21,17,12,7,3 Takten mit 9.8304Mhz (Summe=512).

Für einen Motor sind je 2 PWM-Ausgänge erforderlich (mit 90°Phasenverschiebung zueinander)

Bei gewünschter Amplitude=0 bleibt der jeweilige Port-Pin immer Low, bei max. Amplitude immer High (eigentlich klar).
Ansonsten wird er bei Takt t=0 auf High gesetzt, und dann je nach gewünschter Ausgangsamplitude dieses Pins bei Takt
t=50 oder t=(50+50) oder t=(50+50+49) oder t=(50+50+49+47) oder t=(50+50+49+47+45) ...usw...
zurück auf Low gesetzt.
Das ergibt nach Glättung der PWM-Frequenz 17 Spannungsstufen von 0 bis 5V, die fast perfekt auf einer Sinuskurve liegen (für äquidistante Achsenwerte; der negative Ast wird duch Umpolen an der H-Brücke erzeugt). Damit ergeben sich 64 Microsteps für eine komplette 360° Sinuskurve (entspricht 4 Vollschritte).

zum Filter:
Du filterst natürlich nicht die Microstep-Frequenz (die kann ja auch 0 sein bei stehendem Motor oder beliebig langsam), sondern die PWM Frequenz! Dann aber so, dass die höchste auftretende Nutzfrequenz (i.A. die Vollschritt-Frequenz) noch ordentlich durchkommt.

Erst mal ein paar Worte zur Dimensionierung
Diese Interrupt-Tasks mit den angegebenen Frequenzen sind bei meinem Programm im Einsatz:

Quarzfrequenz = 9.8304Mhz
PWM Frequenz = 19.2kHz =9.8304Mhz/512 (512=Summe der PWM Stufen, siehe oben)
RS232-Frequenz = 9.6kHz =9.8304Mhz/1024 (programmierbarer UART Vorteiler)
Taktfreq.Amplitude = 2.4kHz =19.2kHz/8 (=Vollschrittfreq.)
Taktfreq.Rampe = 300Hz =2400Hz/8 (alle 3.33ms wird 1/8 Mikroschritt zur Schrittweite addiert/subtr.)
Taktfreq.Move = 150Hz =300Hz/2 (=Autorepeatefreq. der Handsteuerbox)

Da 1 komplette Sinusschwingung (Phase 360°) = 4 Vollschritte entsprechen, ergibt sich damit eine max. Freq. des Spulenstroms von 2400Hz/4 =600Hz. Das entspricht bei einem Motor mit 1.8°/Vollschritt einer Geschwindigkeit von 720 U/min. Beim Anfahren/Abbremsen wird eine Rampe von ca. 0.5s gefahren, was nach meiner bisherigen Erfahrung für normale Motoren ausreicht.

Ich verwende zur Filterung je Signal jeweils Doppel-RC-Glieder in Serie, die gleichzeitig als 1:10 Spannungsteiler wirken von 5Vp PWM auf 0.5Vp Uout (gleiche Spannung wie am Sense-Widerstand der Treiber).

(Na ja, das soll ein Schaltbild sein...):
<pre><font class="small">code:</font><hr>
(PWM in)--10k -|- 100k -|-----|--- (Analog out)
10nF 10nF 12k
Gnd___________|________|_____|_____Gnd
</pre><hr>

Zeitkonstante tau =R*C=0.1ms (10k*10nF bzw [12k||100k]*10nF)
Grenzfreqenz F_g =1/(2*Pi*R*C) =~1.5kHz, Steilheit -40dB/Dekade
-> die Spannung steigt innerhalb einer Vollwellenzeitkonstante (1/2.4kHz=0.417ms) auf >92% des max.Werts.
-> der 19.2kHz Anteil wird um einen Faktor >50 gedämpft. Das ergibt somit nur noch ein paar mV Ripple bei der auf 0.5Vp heruntergeteilten Analog-Ausgangsspannung. Zumindest im Oszi siehts sehr gut aus.
Natürlich könnte man erheblich bessere aktive Filter verwenden (z.B steile Tschebysheff höherer Ordnung), aber da ich für 4 Motoren 8 Filter brauche, ist das etwas zu aufwendig. Ich will's möglichst einfach halten.
Falls der max. Spulenstrom einstellbar sein soll, kann das über Änderung des 100k Widerstands erfolgen. Solange er >50k bleibt, wird die Zeitkonstante praktisch nicht beeinflusst, der max.Strom bei konstantem Sense-Widerstand ändert sich aber mit 1/R (mach ich aber nicht. Ich persönlich ziehe eine Anpassung über die passene Auswahl der Sense-Widerstände vor, die Steuerspannung bleibt dann bei 0.5Vp).

Bei mir schreitet die Arbeit an der Steuerung exakt nach Plan vorwärts - nämlich im Moment fast gar nicht <img src="/phpapps/ubbthreads/images/icons/frown.gif" alt="" /> , da derzeit einige andere Dinge Vorrang haben. Wahrscheinlich wird's September, bis ich wieder nennenswert daran weiterbasteln kann. Das hat den Vorteil, dass man alles exakt dokumentieren muss, weil ich nach ein paar Wochen Pause die ganzen Details wieder vergessen habe ...
Immerhin ist der AT2313-Controller fertig programmiert und erfolgreich an einem Probeaufbau getestet, ich habe das Platinenlayout für die Steuerplatine fertig, und das für die Treiberplatine etwa zur Hälfte.
Schau'n mer mal!

Gruß
Karl-Heinz
 
Re: Mikroschritt auch im Schnellgang?

Hallo,

vielen Dank für die aufschlussreiche Antwort! Jetzt blicke ich langsam wirklich durch...

Gut Ding braucht Weile, ich habe mir von vorn herein viel Zeit für das Projekt genommen, da ich natürlich nebenher noch meine Brötchen verdienen muss.

@KHS:
Ich habe gerade gesehen, dass Du im Raum Stuttgart bist. Vielleicht können wir uns ja mal zum Erfahrungsaustausch treffen? Waldenbuch ist ja nicht weit von Stuttgart...

Gruss
Arno <img src="/phpapps/ubbthreads/images/icons/smile.gif" alt="" />
 
Status
Es sind keine weiteren Antworten möglich.
Zurück
Oben