mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Handsteuerbox mit Display für Schrittmotorantrieb


Autor: Henning Lorch (lorchi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich frage mich, welches eine gute Strategie zum Bau solch einer Box
wäre.
Einsatzzweck: Fokussteuerung am Teleskop
Anforderungen:
- Bedienung mit Drehgeber, möglichst wenig Taster, ein
Geschwindigkeitsschalter
- Benutzermenü im Display zur:
  - Positionsanzeige
  - Einstellung von Parametern (Geschwindigkeiten, Motorparameter)
  - Speicherung und Abruf von Positionen unter best. Namen (für
verschiedene Okulare usw.)
- Motorsteuerung bis ca. 6000 Schritte / sec., wenn zu aufwändig auch
etwas langsamer, mit Rampenfunktion
- Serielle Schnittstelle für PC-Anschluss für
  - Fokussteuerung per PC (bekanntes Protokoll)
  - Speicherung und Schreiben der Parameter und Benutzerpositionen


Sooo, jetzt finde ich das Angebot relativ unübersichtlich. Am liebsten
hätte ich für alles nur einen Mikrokontroller. Vielleicht könnt Ihr mir
bei der Auswahl helfen.
Bisher habe ich mal eine PIC programmiert, das war nicht so schwierig,
die Anwendung aber auch einfach. Hier habe ich jedoch verschiedene
Timing-Probleme, zum einen die Motorsteuerung, zum anderen das Display
und die serielle Schnittstelle.
Während der Benutzer von Hand im Menü rumturnt, bräuchte der Motor
nicht laufen. Also nicht gleichzeitig zu
Speicher/Eingabe/Abruffunktionen. Aber das Display soll ansonsten immer
anzeigen, was gerade passiert.

Ich denke, 1kB EEPROM reicht. Aber ich weiß nicht, was ich als Timing-
und Prozessorgeschwindigkeiten annehmen soll, und was der beste Ansatz
ist. Ich habe schonmal komplette Motorkontroller gesehen, aber den 2.
Chip würde ich mir gerne sparen.

Grüße, Henning

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein ATmega8 oder aufwärts (16/32) schafft Deine Anforderungen. Als
Treiber könntest Du einen L6219 nehmen. 10000 Schritte/s per
Timer-Interrupt sind damit kein Problem (Clock 16MHz).
Allerdings sollte die Versorgungsspannung für den Motortreiber
mindestens 12V betragen, sonst macht die hohe Schrittzahl keinen Sinn:
der Stromanstieg durch die Motorwindungen ist zu klein.

Autor: Henning Lorch (lorchi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Michael, danke schonmal, sieht nicht schlecht aus. 12V habe ich.

Gerade kam mir noch eine Idee: es wäre genial, wenn man die Firmware
über die RS232 updaten könnte. Wie aufwendig ist sowas? Ich habe
gegooglet, aber keine schöne Beschreibung von soetwas gefunden. Ich hab
mal was gehört von Bootloadern, sind diese für so einen Fall praktisch?
Oder läuft das immer darüber?

In der Doku vom Atmega steht was von optional Boot Code Section, das
klingt sehr danach. Gibts schöne Links zu Projekten, die das
verwenden?

Gruß, Henning

Ps: habe gerade entdeckt, dass es einen GNU-Compiler für die Atmels
gibt  (jaja Anfänger) ;-))

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Henning,
nimm Dir nicht zu viel auf einmal vor, sonst siehst Du kein Land !
Um Erfolgserlebnisse zu haben kläre zunächst, was an Ein- und Ausgängen
notwenig ist: Schalter, Drehgeber, RS232, Display, Schrittmotor,... und
auch an internem Speicher.
Den weiteren Schnickschnack kannst Du dann zu Weihnachten machen :-)

Autor: Henning Lorch (lorchi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Michael,
danke für Deine Besorgnis ;-)
I/O's habe ich mir schon überlegt, da mache ich mir keine großen
Sorgen. Alles der Reihe nach - I/O's, Ansteuer-/Ausgaberoutinen
(erstmal was blinken lassen ;-) etc., Bootloader, Bedienfunktionen,
System...
Hab mir nur gedacht, dass ich vielleicht einen Bootloader o.ä. von
vornherein angehe, denn erst wenn ich weiß, wie man sowas aufsetzt,
kann ich auch die restlichen Ressourcen planen. Oder kann man den
nachträglich hinzufügen? Würde mich überraschen. Das wäre also eine
zentrale Frage. Wenn es geht, dann wärs natürlich fein. Laut Manual
sitzt der dafür vorgesehene Flash-Bereich ja am Ende des gesamten...

Ausserdem (so stelle ich es mir vor), wenn ich einen Bootloader zum
Laufen gekriegt habe (der beim Einschalten per Knopfdruck in einen
Downloadmodus versetzt werden kann) und ein Übertragungsprogramm
geschrieben habe, dann kann ich mir ICSP sparen und relativ einfach
neue Software testen.
Zeit habe ich genug...

Autor: Rahul Der trollige (rahul)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du schon einen Blick in die Codesammlung zum Thema Bootloader
geworfen? Dazu gibt es dort einen Thread.

Autor: Andreas W. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau dir mal das TMC249-Eval-Board von Trinamic an:
http://www.trinamic.com/tmcweb/core.php?callname=c...
Da ist ein Mega8 + Treiber + Leistungsteil (bis 3A) auf einer Platine.
Gibt es glaub ich bei Farnell.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Lorchi

So etwas hatte ich auch immer schon einmal vor. Allerdings wollte ich
das ganze Teleskop positionieren und nicht nur den Fokus.
In der Zwischenzeit habe ich allerdings einen Skysensor bekommen.

Zum Fokussieren habe ich einen kleinen "Elektrofokussierer" für
20 € gekauft, das ist ein kleiner Elekromotor mit Getriebe und
zwei Tasten Handbox.
Das Ding werde ich wohl etwas "frisieren" mit einem
Drehwinkelencoder
(oder einfachen Lichtschranken) und einem Avr der den Motor
über PWM in beiden Richtungen ansteuern kann.
Die Stellgeschwindigkeit erscheint recht gut und wenn ich weis wie
weit der Motor gedreht hat, dann kann ich den Rest berechnen (Spiel im

Getriebe, ...). Das erscheint mir einfacher als wenn ich einen
Schrittmotor steuern muß, der Motor läuft im moment mit zwei 1,5 Volt
Batterien. Das sollte also alles (Batterien, Prozessor,
"Leistungselektronic", Display, Schalter und Serielle Schnittstelle)
in ein nettes kleines Handgehäuse passen.

Gruß
  Martin

Autor: Florian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei den Schrittmotoren muss man auch auf die angegebene Spannung am
Schrittmotor schauen, einen 12V stepper an 12V zu betreiben macht nur
bedingt Sinn, schrittgeschwindigkeiten im kHz bereich sind dann auf
jeden Fall nicht zu erreichen.
Und wo willst du mit deinen 6kHz Schrittgeschwindigkeit eigentl. hin?
Hast du so ne riesen Untersetzung, dass das nötig ist um brauchbare
geschwindigkeiten zu erreichen?
Der chip von Trinamic ist nicht schlecht, den benutz ich auch. Auch der
support ist spitze, da hat sich nachdem ich ne Problemmail geschickt
hatte jmd. wirklich um mich gekümmert.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn die Webseite die ich gefunden habe richtig ist, dann hast Du
schon einen Fokussiermotor in Betrieb und möchtest dieses nun
erweitern.
Ich glaube nicht das für diese Aufgabe unbedingt ein Schrittmotor
notwendig ist, und schätze das ein normaler DC Motor zusammen mit
einem
Encoder (z.B. so einer wie in einer Maus sitzt) schon ausreicht. Mit
der passenden Untersetzung und einem Ordentlichen Programm zum
ansteuern
dürfte das ganze hinreichend genau und schnell sein und macht
wahrscheinlich
weniger Probleme in Hinsicht auf die zu schaltenden Lasten und die
Spannungsversorgung. Das LX-200 Protokoll für Fokussierer ist wohl
auch nur ein Klacks, es gibt ja nur eine Hand voll Befehle die
beachtet werden müssten.

Gruß
  Martin

Autor: Henning Lorch (lorchi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo! Ok, der Reihe nach...

@Rahul: danke, hatte ich noch nicht gesehen, interessant, werde ich mir
genauer ansehen!

@Andreas: hmm, sieht ja hübsch aus, aber ist doch groß und teuer. Da
kann ich schon besser ne kleine Platine machen. Soviele Teile sind's
ja nicht.

@Martin & Florian: wenn Du www.henning-lorch.de gefunden hast, wars
richtig ;)
Ich möchte ein neues Teleskop bauen. Das wird einen Okularschlitten
bekommen, und vom Verfahrweg von Bino über Foto bis zu visuell bieten.
Damit habe ich ca. 135mm. Daher auch der Wunsch nach Speicherpositionen
für verschiedenes optisches Gerät.
Der wird dann über eine Spindel angetrieben, geplant ist 1mm
Hub/Umdrehung (Spindel), 200 Schritte pro Umdrehung. Deshalb wollte ich
für die großen Wege einen Schnellgang drin haben, so bis 30mm / sec,
sofern es von der Belastung hinhaut. Daher 6k Schritte. Ist ein Wunsch,
aber nicht unbedingt notwendig.
Idee wäre: 6V-Motor, mit 12V und 50% PWM ist z.B. nicht überlastet,
kann aber gut Kraft entwickeln. Bzw. würde im Schnellgang die PWM noch
dichter werden, um den induktiven Widerstand etwas auszugleichen.

Ehrlich gesagt, ich mag Schrittmotoren für den Fall lieber, da kann man
komfortabler im hunderstel-Bereich fokussieren.
Das LX200 ist auch nicht so das Problem ;)

Ich hab mittlerweile beim Stöbern so langsam ein klareres Bild
bekommen, es sieht doch alles recht machbar aus... (hoffe ich ;)

Gruß, Henning

Autor: Mario Grimm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Michael,
schau mal auf meine HP.
Ich bastel mir gerade so eine Steuerung.
Ob das mit den LX200-Befehlen funktioniert bin ich gerade am testen.

Gruß Mario
www.Grimm-Mario.de

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das habe ich gemacht: ein halber Mond.
Aber warum ich auf 'Start' drücken sollte, weiß ich nicht; das habe
ich dann auch nicht gemacht.

Autor: Mario Grimm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Michael,
das ist die Startseite. Ich kann Dir den Link direkt zur Seite nicht
geben, da dann das Menü fehlt.
"START" habe ich dann wohl etwas falsch gewält und sollte besser
"WEITER" lauten, oder?
Die Anleitung für die neue Steuerung schreib ich gerade.
Gruß Mario

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.