Schrittmotorsteuerung selbstgemacht

  • Hallo,


    Habe diesen Thread eben erst gelesen. Meine Bemerkung zum urspruenglichen Post waere auch mal etwas mehr an Softwareloesungen zu denken. Ich habe mal eine Motorsteuerung mit 68HC11 gebaut, die dann nur noch zwei Treiberbausteine fuer die Motoren brauchte. Das ganze Gewusel mit verdrahteten Teilern usw. entfaellt dann!
    Software eroeffnet dann Moeglichkeiten, wie selbstgebautes PEC, positionieren, Rampenfahren etc...
    Wer's noch billiger moechte kann einen PIC nehmen:
    http://www.microchip.com/stell…74&mid=10&lang=en&defID=1
    Dort gibt's sogar einen Chip, der gleich Logik fuer Schrittmotorsteuerung incl. Mikrostep eingebaut hat. Application Note und Programmcode inclusive. Preis fuer den Chip unter $2.
    Harwareaufwand = 1xPIX + Treiber! (niedlich!)
    http://www.microchip.com/stell…eId=1824&appnote=en012150


    Clear Skies,


    Gert

  • Hallo Gert,


    ja, der geringe Hardwareaufwand ist genial einfach. Demgegenüber steht aber die Entwicklung der SW. Und das kann ich leider nicht. Habe auch keine Brenner u. dergleichen...


    Grüße, Ralf

  • Hallo!


    Nochwas zu der Steuerung selber.


    Ist es nciht möglich statt 0,5, 1, 2 usw. sowas wie einen POti also eine Stufenlose geschwindigkeitsregulierung zu realisieren?!


    Ich denke das hätte den Vorteil, dass man Korrekturen sehr weich durchführen kann.


    Wäre das keine Überlegung wert?!


    würde mich freuen von euch zu hören!


    mfG Michael

  • Hi Michel,


    <blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote"><i>Original erstellt von: Der_Michael</i>
    ...
    Ist es nciht möglich statt 0,5, 1, 2 usw. sowas wie einen POti also eine Stufenlose geschwindigkeitsregulierung zu realisieren?!
    ...
    <hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">


    Das ist moeglich. Aber: Mit diskreten digitalen Schaltkreisen aufgebaut wird das sehr schnell recht aufwendig (viele Bausteine und viel Verdrahtung). Ich komme wieder auf meinen obigen Software-Vorschlag zurueck. Da ist sowas genial einfach. Ich habe das in meiner Steuerung drin.


    Das geht so. Im Mikrocontroller sind automatische Timer/Zaehler eingebaut. Die tuckern von einem Startwert runter und geben ein Signal (Interrupt) wenn sie bei 0 angekommen sind. Im selben Moment wird der Zaehler neu aus einem Register geladen und startet neu. Den Interrupt nutze ich in meinem Programm, um dann einen Schritt an den Motortreiber zu schicken. Aufwand dazu ist absolut minimal. Bei den MHz Frequenzen der Mikrocontroller und den Taktraten von Schrittmotoren (beim Nachfuehren) haben diese Zaehler recht grosse Werte. Wenn ich daher den Ladewert z.B. um 1 groesser oder kleiner mache bekomme ich ganz sanfte Rampen und 'pseudo' stufenlose Geschwindigkeitsverstellungen hin.


    Der Kommentar von Clavius ist natuerlich richtig, dass man dazu den Mikrocontroller auch programmieren muss. Ja, das muss man erstmal lernen, aber es ist auch nicht sooo schwierig. Und man braucht heute auch keinen Eprom-Brenner mehr. Die Mikros haben oft schon Flash-RAM, den man ueber eine Bootsequenz meist via serielle Schnittstelle laden kann. Ich mache das z.B. aus dem PC heraus. Die Sequenz geht etwa so.
    Code im PC bearbeiten.
    Assemblieren. (fuer HC11 gibt es Freeware dafuer)
    Steuerung an PC stoepseln. Und Boot-download-knopf druecken.
    Uebertragungsprogramm starten.
    Warten bis Uebertragung fertig.
    Steuerung abstoepseln. Und Reset geben.
    Steuerung laeuft mit neuem Code. :)
    Das geht in Minutenschnelle.


    Ich selbst habe das bereits mehrfach mit HC11 duchgespielt. Eine sehr schicke Entwicklungsplatine, die ich benutzt habe, gibt es z.B. bei:
    http://www.pmb.co.nz/cpu_1a1.htm


    Mein letztes Projekt damit:
    http://www.trivalleystargazers…rt/hc11_drift/drift_e.htm


    Clear Skies,


    Gert

  • Hallo Gert,


    Mann, der Thread wird ja immer länger...[:)]. Wie gesagt, die µC Geschichte ist eine sehr schöne Sache. Ich hatte mir auch schonmal bspw. Bascom Evaluation Boards usw. aus´m Netz geholt und auch schon aufgebaut weil ich nen Atmel proggen wollte. Auch mit der C-Control hatte ich schonmal geliebäugelt. Ist aber kommerziell also unsportlich, würde es gern selber aufbauen.


    Allein das Programmieren. Man kann es lernen, sicher, aber wo?


    Kennst du ein idiotensicheres Buch (also wie geschaffen für mich...[;)]) aus dem man wenigstens die Grundlagen ziehen kann? Oder kennst du sonst eine Ressource?

  • Hallo Michael,


    unabhängig von der (besseren) SW-Variante von Gert kann man sowas auch analog realisieren mit einem Timer (z.B. NE555). Das ist dann aber nicht mehr so frequenzstabil.

  • Hallo Clavius,


    <blockquote id="quote"><font size="1" face="Verdana, Arial, Helvetica" id="quote">Zitat:<hr height="1" noshade id="quote"><i>Original erstellt von: Clavius</i>
    ...
    Allein das Programmieren. Man kann es lernen, sicher, aber wo?


    Kennst du ein idiotensicheres Buch (also wie geschaffen für mich...[;)]) aus dem man wenigstens die Grundlagen ziehen kann? Oder kennst du sonst eine Ressource?
    ...
    <hr height="1" noshade id="quote"></blockquote id="quote"></font id="quote">


    Also ich habe assembler Programmierung mal vor vielen Jahren am 6502 gelernt. Die Prinzipien sind eigentlich immer die gleichen. Ich bin ein grosser Fan der Motorola Mikros 68xx Serie. Ich finde den Code einfach besser lesbar als bei Intel. (Aber das ist persoenlicher Geschmack) Sieh Dir mal die Downloadabteilung auf der Seite vom PMB an. Da gibt's die User manuals von Motorola fuer den HC11 als PDF zum Download. Ausserdem gibt's da Beispiele der Programmierung der kleinen Platine.
    Nach ca 30sek Suche bei Google kam ich auf folgende Seite. ich glaube da kannst Du mehrere Stunden an Lektuere mit erschlagen ;)
    http://www.mikrocontroller.net/links.htm
    Darueber hinaus gibt es Yahooforen zu Mikrocontrollern, wo man auch lange lesen kann.


    Aber nicht vergessen. Wir sind zum Sternchen gucken hier!!!!


    Clear Skies,


    Gert

  • Hallo zusammen,


    ich kann mich Gerd da nur anschließen. Ein Microkontroller erledigt die Arbeit von so vielen Einzellteilen (konvenzionell Aufgebaut), dass sich der Aufwand gar nicht lohnt. Hinzu kommt, das die MCU's inzwischen auch noch billiger sind als all die Einzellteile. Ich selbst bin Fan von Atmel Microkontrollern, da es hierfür viele kostenlose Entwicklungswerkzeuge gibt. Das Netz ist voll mit Beispielanwendungen und mit Assembler muß man sich schon lange nicht mehr auseinandersetzen. Für fast alle MCU's gibt es inzwischen sehr gute und kostenlose Hochsprachencompiler (c, Basic).


    Auch sollte man nicht vernachlässigen, dass so eine MCU jede Menge Peripherie mitbringt. Spätestens wenn die Steuerung mal läuft kommt sehr schnell der Wunsch auf, das ganze vom PC aus zu steuern. Da ist es schon ein segen, wenn die serielle Schnittstelle gleich mit drauf ist [;)]


    Fazit: Eine MCU und ein Motortreiber ist die Optimallösung!


    Grüße und viel Spaß beim Basteln (was will man sonst machen bei dem Wetter [:(])
    Rajiva

  • Hallo Rajiva,


    volle Zustimmung. Aber für jemanden wie mich, der eine Montierung komplett selbst baut aber keine Programmierkenntnisse hat, ist die zusätzliche Einarbeitung in diese Materie auch ein zusätzlicher Aufwand. Ich müßte bei Null beginnen, da ich auch die gesamte Infrastruktur nicht habe. Da ist eine Schaltung aus Standardbauteilen für mich schneller gemacht. Vor allem, wenn ich lediglich eine schlichte Nachführmöglichkeit realisieren möchte, also ohne GOTO und weiterem Zubehör.


    Aber was nicht ist kann ja noch werden, auch wenn´s nur aus reinem Interesse ist. Faszinierend ist´s allemal.

  • Hallo Clavius,


    Als Einstieg in die Mikrokontroller Programmierung kann ich dir die PIC Serie empfehlen. Die PICs musst du zwar in Assembler programmieren, aber durch Ihren sehr eingeschränkten Befehlsumfang in der sehr einfachen Architektur ist das ein schöner Anfänger-MC.
    Ich habe mit der Assembler-Programmierung eines Zilog Z80 (U880 ;) ) angefangen, dann kam 68000 Serie von Motorola (AMIGA) Intel X86 (absolut schrecklicher Prozessor was Assemblerprogrammierung angeht)dann kam der 80c51 auch Intel (mein Lieblings-Controller!!) Vor kurzem habe ich dann mit dem PIC angefangen und war über die Einfachheit der Assemblerprogrammierung und dem geringen Aufwandes für die Herstellung eines Entwicklungsbordes, begeistert.


    Hier gibt es eine Beschreibung der Programmierung und viele Tips und Programmierbeispiele zum PIC:
    http://www.sprut.de/electronic/pic/


    wirklich einfache Programmer gibt es hier:
    http://www.jdm.homepage.dk/newpic.htm
    http://www.techfreakz.org/oldstuff/picb.html


    Als Literatur zum Einstieg kann ich dir das Buch " Messen, Steuern und Regeln mit PIC- Mikrocontrollern." von Dieter Kohtz empfehlen.


    Weiterhin gab es eine Serie zur PIC Programmierung in der Elektronikzeitung EAM. Wenn du Interesse hast kann ich dir einige Artikel scannen.


    Was man mit Mikrokontrollern als Teleskopsteuerung erreichen kann kannst du an meinem Projekt sehen:


    http://www.deep-sky-lab.de/MicroHbx/microhbx.htm


    Ich habe für meine TAL2M Montierung eine Computersteuerung gebaut, mit der jetzt nicht nur Autoguiding möglich ist auch Periodische Errorkorrektur ist habe ich programmiert und bringt die Montierung auf einen gemessenen Gesamtfehler von +/- 6 Bogensekunden.
    Mit diskreten Bauelementen ohne programmiererei nicht machbar. Übrigens habe ich für die PEC Steuerung auch einen PIC eingesetzt .


    Gruß
    Daniel

  • Hallo Ralf,


    das hört sich auf den ersten Blick wirklich kompliziert an, ist es aber nicht!
    Auch brauchst Du zum Anfangen nicht unbedingt ein Programmierboard. Die neueren MCU'S haben alle SPI Schnittstelle. Im Notfall kann man also mit 4 Drähten am par. Port des PC's schon losprogen (Anleitung und Software ist kostenlos [;)])
    Auch von der Programmierung her ist das nicht soooooo schlimm. Wie gesagt, das meiste gibt es fix und fertig im Netz [:D]


    Ach ja noch eins: Wenn Du erstmal damit anfängst, läßt es Dich nicht mehr los [:D]. Es ist einfach zu genial als das man sich über komplizierte Schaltungen gedanken macht [;)]


    Grüße
    Rajiva

  • Hallo Leute,
    den Thread finde ich sehr interessant, auch wenn mein derzeitiges Projekt ohne Antrieb auskommt.
    Bescheidene Frage an alle:
    Mir scheint, einige von euch haben bereits Code für eine Nachführung per Mikrocontroller-Steuerung geschrieben.
    Wie wär's denn, zumindest eine einfache Version im Sourcecode zu veröffentlichen, so daß andere Leute auch was davon haben[:)]?
    Das könnte meine persönliche Hemmschwelle in sowas einzusteigen drastisch senken[:D].
    Ich tät das unter GPL machen, d.h. der Code ist frei verfügbar und alle Weiterentwicklungen müssen ebenfalls im Sourcecode frei verfügbar bleiben, so wie bei Linux).
    Die PIC und die Atmel Controller finde ich hardwaremäßig sehr gut, auch die Unterstützung mit kostenlosen Tools.
    Den Code komplett selbst entwickeln, dafür hab ich einfach keine Zeit. Meine Tage sind mit Beruf und Familie gefüllt, und die Nächte mit Spechteln (leider in letzter Zeit wegen [xx(]Wetter nur selten) und Schlafen (unter anderem[:D]). Da bleibt wenig Zeit für's Programmieren.
    Andererseits, so ein wenig experimentieren wär schon nicht schlecht.


    Also, wie wär's?


    Gruß,
    Martin

  • Hallo Rajiva, Gert, Daniel,


    tolle Tipps, ich danke Euch! Werde mich mal mit den µC weiter beschäftigen. Das könnte dann nach dem Montierungsbau und dem ja auch noch zu schleifenden Spiegel mein nächstes Projekt werden. Und wann mache ich Astrofotografie...????;o) Denn das ist ja mein eigentliches Hobby...


    Bei unserem Hobby muß man wirklich aufpassen, daß die Astronomie einen nicht aufsaugt.


    Aber da ich mich immer schon für Elektronik interessiert habe, läuft es wohl zwangsläufig auf eine intensivere Beschäftigung mit Controllern raus, Hülfe!


    So und nun werde ich mir erstmal eure links reinziehen!


    Viele Grüße,


    Ralf

  • Hallo,
    ich arbeite auch schon seit einigen Jahren (immer mal wieder) an einer Mikroschrittsteuerung für 2-4 Motoren. Das Teil ist inzwischen eine eierlegende Wollmilchsau, kann voll über RS232 gesteuert werden (und kennt auch einige LX200 Befehle), kann aber auch ganz ohne Rechner arbeiten. Näheres siehe hier.
    Weitere Annehmlichkeiten sind z.B. zuschaltbares Tracking mit integrierter genauer Sternzeituhr, PEC, Backlash-Kompensation, zusätzliche externe Ports (z.B. für Handsteuerbox, Kamera-Bedienung, Endschalter,...), , integrierte LCD-Ansteuerung, Motor-Multiplex-Betrieb (z.B. Deklinations- und Fokussiermotor mit einem Treiber), 3-D Interpolation, usw. In der einfachsten Ausbaustufe besteht die Steuerung aus einem 20-Pin Atmel-IC AT90S2313 (plus RS232-Treiber Max232 bei Bedarf), Quarz, RC-Filtern (zur Konvertierung der PWM-Signale in Analogpegel) + einige Teile für Spannungsversorgung/Resetlogik. Die ganze Schaltung passt auf eine Platine mit ca. 4.5cm*4cm und liefert Amplituden- und Polaritätssignale zur Ansteuerung von Standard-Leistungstreibern, z.B. L298, in Echtzeit, d.h. ohne 'Aussetzer' bis zu einer Vollschrittfrequenz von 2.4kHz.
    Ein besonders kompaktes Modul aus Prozessor- und Treiberplatine habe ich bereits aufgebaut (Bilder siehe obigen Link). Derzeit bin ich dabei, ein umfangreiches Testprogramm durchzuführen, es wird auch noch eine kleinere Revision des Platinenlayouts geben (z.B. geplant ist ein Booster 12V-&gt;30V mit auf der Treiber-Platine). Zum Testen verwende ich diverse Motoren von Nanotec (die nach meiner Erfahrung sehr gut für Mikroschritt geeignet sind) an einer parallaktischen Montierung.
    Jetzt ist erst mal Ferienzeit angesagt, ich denke aber bis spätestens Ende dieses Jahres wird die finale Version des ICs verfügbar sein (dieses Projekt läuft zur Zeit mit low Prio).


    lötdampf-geschwängerte Grüße [:)]
    Karl-Heinz

  • aber Hoppla Karl Heinz,


    das is ja was besonders Feines. Aber erstmal ein herzliches Willkommen hier an Board.


    Bin immer wieder begeistert wieviel eigeninitiative hier die Leute entwickeln. Was Du da gebaut hast ist schon professionell zu nennen.


    Grüße

  • Da kann ich mich aber nur anschließen. Ich habe eine Zeiss Ib Montierung und möchte diese auf Schrittmotoren umbauen. Bisher hatte ich mit dem Gedanken gespielt, mir eine FS2 mit dem Umbausatz von Astroelectronic zuzulegen. Wenn ich mir aber das Teil von Karl Heinz so anschaue, dann wäre ich doch eher daran interessiert. Ist preislich bestimmt günstiger und da ich mal Elektronikfacharbeiter gelernt habe auch problemlos realisierbar.


    (==&gt;)KHZ
    Welche Schrittmotoren lassen sich damit ansteuern?
    Hast du vor das Teil mal zu vermarkten?
    Gibt es auch einen Schaltplan für die Handsteuerbox?
    Wie schaut es mit der Software aus?
    Wäre an einem Nachbau sehr interessiert :-))

  • Hi Karl-Heinz,


    klasse Projekt!
    Vor allem die Dokumentation ist beeindruckend. Ich wünschte ich hätte so viel Zeit, so eine Doku zu schreiben. Klasse!


    Das mit der Huckepack Treiberstufe ist eine gute Idee. Ich hatte auch schon darüber nachgedacht, für mein MCU Update eine Motorendstufe zu Entwickeln. Alles was bei der original EQ-6 oder HEQ-5 noch in Betrieb ist, ist der Motortreiber. Wenn ich den extern aufbauen würde, ließe sich das Update Kit auch an alle anderen Montierungen anschließen. Mal schauen und mach weiter so!


    Grüße
    Rajiva

  • Wer kann helfen und hat mal ein paar Minuten Zeit sich die Schaltung anzusehen. Eigentlich ist sie im Aufbau klar, dennoch funktioniert sie nicht!! Könnte es an den ANDGATE ICs liegen?? Laut Datenblatt sind die Andgates kaskadierbar. Sie müßte eigentlich funktionieren aber no way. Der Schrittmotor hat Spannung, mehr auch nicht. Die Phasen sind auch nicht vertauscht. Ich weiß nicht weiter! [V][xx(][:(!]


  • Hi Luengel!
    Kannst Du den Schaltplan mal in voller Aufloesung irgendwo zum Download bereitstellen? Ich glaub das Problem liegt an der Quarzbeschaltung..
    Gruss,
    Achim

  • Hallo Luengel,
    meiner Meinung nach ist da ein dicker Denkfehler in der Schaltung: IC4 (4020) sollte durch 10770 teilen (z.B. bei 'Sterne'), die Zahl ist korrekt und sollte am Ausgang von IC3A einen Takt von 23.214Hz liefern. Sollte...!
    Was tatsächlich passiert:
    IC4 zählt tatsächlich bis 10770, dann geht der Ausgang von IC3A auf high. Im nächsten Takt wieder auf low, dann high, bleibt dann ein Weilchen auf low (wenn IC4:O4 auf low geht), usw.
    Was du wirklich willst, ist dass IC4 nach Erreichen von 10770 wieder bei Null zu zählen beginnt!
    Macht er in dieser Schaltung aber nicht.
    Was du brauchst, ist eine Rückkopplung des Zählerausgangs (z.B. IC3A) auf den RES-Eingang von IC4.


    Der Quarz an IC1 ist auch nicht ganz sauber beschaltet, da gehören eigentlich noch 2 Cs nach Masse hin (ca. 30pF). Ist nicht so ganz kritisch, da meist schon Streukapazitäten reichen, damit der Quarz schwingt. Es ergibt sich höchstens eine Frequenzabweichung im ppm-Bereich.


    Sorry, aber ich fürchte da ist ein Redesign fällig (hoffentlich hab ich mich geirrt...)
    Gruß
    Karl-Heinz

  • Hallo Karl-Heinz,


    das mit dem Quarz ist mir bekannt. Ich denke das kann ich vernachlässigen. Du meinst also, daß da noch eine Verbindung von den jeweiligen Ausgängen für die Geschwindigkeiten, z.B. IC3A PIN3 zum Pin11 (RES) des 4020 fehlt[:(][?] Dann muß ich aber doch die Verbindung des Pin 11 zum VSS kappen, .....verstehh ich nicht so ganz.
    [|)]

  • Hallo miteinander,


    zum Thema Quarz noch kurz eine Anmerkung. Wenn man ein Quarz nicht mit seiner angegebenen Kapazität beschaltet, kann es sein dass dieser auf einer Nebenresonanz schwingt. Das kann dann auch weitere Probleme bei den heute oft verwendeten Oberwellenquarzen bringen. Auch kann es Probleme beim Anschwingen (Temperaturbereich Sommer/Winter) geben. Weiterhin ist der geforderte Widerstand des Quarzes noch nach den Angaben des ICs auszuwählen. Die Quarze sind da nämlich auch noch kritisch.


    Bei einem eventuellen Redesign würde ich die Kondensatoren noch einplanen. Ist kein Redesign geplant, eignen sich hervorragend Chip-C's vom Elektronikhändler des Vertrauens.


    Gruss Olaf

Jetzt mitmachen!

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