Schrittmotor-Steuerung

  • Ersteller des Themas Ersteller des Themas KHS
  • Erstellungsdatum Erstellungsdatum
Status
Es sind keine weiteren Antworten möglich.

KHS

Aktives Mitglied
Hallo Freunde der Schrittmotoren,

ich hatte vor längerer Zeit schon mal mein Projekt für eine Schrittmotorsteuerung erwähnt, das für nicht gänzlich unerfahrene Lötakrobaten von Interesse sein könnte. Kernstück ist der weit verbreitete und inzwischen sehr preiswerte Atmel Mikrocontroller 2313 (genaue Bezeichnung AT90S2313 oder Nachfolgetyp ATiny2313).

Link zur Grafik: http://www.s-line.de/homepages/schweikert/SMCtrl/control.jpg

Die neue Gesetzeslage (Elektronikschrottverordnung, Bleifrei-Lot, usw.) macht den Vertrieb von Kleinserien nicht gerade einfacher (faktisch unmöglich <img src="/phpapps/ubbthreads/images/graemlins/confused.gif" alt="" />). Dazu kommt, dass ich eh gerade zu wenig Zeit habe, um eine sinnvolle Weiterentwicklung und vernünftigen Support zu machen.
Ich habe mich nun dazu entschlossen, die Binärdateien (braucht man zum Programmieren des Controllers) und den zugehörigen kommentierten Sourcecode allen interessierten Bastlern zur Verfügung zu stellen. Es wäre doch schade, wenn das Werk auf irgendeiner Festplatte vergammeln würde, ich habe viel Zeit investiert <img src="/phpapps/ubbthreads/images/graemlins/crazy.gif" alt="" />. Download auf meiner Homepage <img src="/phpapps/ubbthreads/images/graemlins/smile.gif" alt="" />.

Der mögliche Einsatz beschränkt sich mitnichten auf astronomische Zwecke, auch lineare Antriebe wie Koordinatentische, Roboter, o.Ä. lassen sich damit steuern - also eine echte eierlegende Wollmilchsau.

Hier eine kurze Zusammenfassung der Eigenschaften:
- bis zu 4 Motoren parallel steuerbar
- bis zu 3 Motoren können synchronisiert werden (d.h. kommen gleichzeitig am Zielpunkt an)
- Mikroschritt-Betrieb (64 Steps/Phase, Sinus-Halbwellen pulslängenmoduliert + Dir-Signal)
- hohe Fahrgeschwindigkeit (bis zu 2.4 kHz Taktfrequenz = 600 Hz Phasenfrequenz)
- Beschleunigungs- und Bremsrampen werden intern in Echtzeit berechnet
- Getriebeübersetzungen individuell einstellbar
- individuell einstellbarer Getriebespielausgleich
- einfache PEC (Periodenfehlerkorrektur) für 2 Motoren, frei einstellbar (Amplitude+Phasenversatz)
- voll über serielle Schnittstelle (RS232) steuerbar (z.B. Goto, Move, ...)
- die wichtigsten Bewegungskommandos LX200 kompatibel (z.B. für Auto-Nachführung)
- hochgenaue integrierte Sternzeituhr für parallaktisches Tracking
- frei setzbare externe Digitalports (z.B. für Kamerasteuerung, Relaisbox, ...)
- Anschluss für Handbox (mit Tasten oder Drehgeber) und mehrzeiliger LCD-Anzeige
- nur Standardbauteile verwendet (2313 im DIL20 Gehäuse)
- separate Platinen für Controller und Treiber, somit problemlos Treiberalternativen möglich
- einfach herzustellende Platinen: einseitig geätzt, keine Durchkontaktierungen, kein SMD

Die Steuerung lässt sich komplett über einen angeschlossenen Rechner bedienen, hierfür steht auch ein ASCOM 3.0 Treiber für die Verwendung mit gängigen Astroprogrammen zum Download zur Verfügung. Getestet hatte ich mit Cartes du Ciel (CDC). Die Umstellung auf ASCOM 4.0 steht noch aus (Freiwillige vor <img src="/phpapps/ubbthreads/images/graemlins/grin.gif" alt="" />!).
Alternativ ist ein eigenständiger Betrieb mit einer einfachen Handbox möglich (derzeit noch beschränkt auf Bewegen einer parallaktischen Montierung mit verschiedenen Geschwindigkeiten und Tracking).
Mit einem einzigen weiteren - noch zu entwickelnden - Controllerbaustein wäre ein eigenständiger Betrieb auch für azimutale Montierungen ohne angeschlossenen Rechner möglich (z.B. Dobson Goto-Steuerung). Die passende Mathematik für Alignment und Betrieb hatte ich früher schon mal hergeleitet, es muß 'nur' noch ein bisschen programmiert werden <img src="/phpapps/ubbthreads/images/graemlins/grin.gif" alt="" />...

Dann viel Spaß <img src="/phpapps/ubbthreads/images/graemlins/Spitze.gif" alt="" />!

Gruß
Karl-Heinz
 
Hallo Karl-Heinz.

Das sieht nicht schlecht aus! <img src="/phpapps/ubbthreads/images/graemlins/Spitze.gif" alt="" />
Wie hoch darf denn der Strom für die Motoren werden?
 
Hallo Karl-Heinz,

sehr schönes Projekt! Arbeite auch gerade an sowas... <img src="/phpapps/ubbthreads/images/graemlins/wink.gif" alt="" />

Das alles so kompakt auf einseitige Platinen mit so wenigen Brücken zu bringen zeugt von viel Geduld <img src="/phpapps/ubbthreads/images/graemlins/Spitze.gif" alt="" />

Frage zur RTC: Du schreibst die Uhr hat eine Abweichung von 0,05"/Tag. Das wären 0,1s pro Monat. Was für eine RTC liefert diese Genauigkeit? Oder meinst Du damit nur die Auflösung der Umrechnung von MEZ in Sternzeit?

Viele Grüße
Martin
 
Hallo Mario,
der maximale Phasenstrom hängt nur von der Treiberschaltung ab.
Mit der von mir eingesetzten sehr kompakten L298-Platine dürfte der max. Stom bei ca. 1A/Phase liegen, ich betreibe die Schaltung derzeit mit etwa 0.5A an mittelohmigen Schrittmotoren.
Bei etwas entspannterem Layout mit mehr Platz für Hochlastwiderstände und größere Kühlkörper sind 2A/Phase möglich, mit 2 L298 Stufen parallel bis zu 4A.
Da Prozessor- und Treiberplatinen getrennt sind, lässt sich alternativ auch eine Platine mit anderen Treiberbausteinen oder Einzeltransistoren einsetzten - mit nach oben hin unbegrenzten Stromstärken.
Der Atmel-Controller liefert ja "nur" die Stuersignale für die nachgeschaltete Treiberstufe, da muss man nicht die von mir vorgestellte Lösung verwenden.

Gruß
Karl-Heinz
 
Hallo Martin,

die 0.05arc"/Tag ist der Teilungsfehler. Da hat bereits ein normaler Quarz höhere Abweichungen und bestimmt letztendlich die erreichte Genauigkeit - im Vergleich zu einfachen Teilerschaltungen, wo die Nachführfrequenz nur grob gerundet erzeugt werden kann <img src="/phpapps/ubbthreads/images/graemlins/frown.gif" alt="" />.
Die Schaltung verwendet auch keine externe RTC, sondern alle Taktsignale werden intern im Controller von der Quarzfrequenz abgeleitet.

Gruß
Karl-Heinz
 
Hi,
ich hab die Schaltung von Karl-Heinz nachgebaut und die funzt ech gut.
Ich will die Ansteuerung aber um eine Steuerplatine mit einem Mega128 erweitern. Und das solls können:

LX200 Protokoll
512MB SD-Card mit Fat32 (funzt schon)
Pec und andere mechanischen Fehler
2-Star Alignment
Datenbank mit 512MB oder weniger

Handsteuerbox mit Mega8 oder Mega16 µP über SPI Bus
Matrix-Display oder sogar grafisches Display
Proportionale Kreuzknüppelsteuerung (Conrad 99 Cent)

und alles andere was mir noch so einfällt.

Die Steuerplatine ist fertig aufgebaut und funktioniert schon mit 512MB SD-Card. Ich würge mich grade durch das 2-Star Alignment und die Koordinatentransformation.(Grusel)
Auch überlege ich als Ansteuerung der Stepper Trinamic IC zu nehmen.
TMC428 mit drei TMC236.Das würde 1,5A Strangstrom bedeuten, ich glaub mehr braucht man nicht.
Wenn doch kann man auch einen TMC239 mit externen
Mosfet Treibern verwenden. (4A Strangstrom). Es sind SMD IC's dabei, aber wer die Minischaltung von Karl-Heinz löten kann, der wird sich auch vor 0,8er Pitch nicht fürchten. <img src="/phpapps/ubbthreads/images/graemlins/wink.gif" alt="" />
Mal sehen was daraus wird. Ich bleib am Ball, zumal das Alignment von Karl-Heinz für mich durchschaubar ist.(nach zehnmaligem lesen <img src="/phpapps/ubbthreads/images/graemlins/wink.gif" alt="" /> )

Wie ich hier gelesen habe, arbeiten noch mehrere Leute an solchen Projekten. Wenn man sein Wissen und Erfahrung bündelt gehts schneller.

LG Pit
 
Zuletzt von einem Moderator bearbeitet:
Status
Es sind keine weiteren Antworten möglich.
Zurück
Oben