PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schrittmotorsteuerung - Leie braucht Hilfe



Christ
17.01.2008, 11:36
Hallo zusammen,

erst mal Hallo in diesem Forum, für mich ist es das erste mal hier !

Folgendes habe ich vor:
Ich habe eine Kameranachführung gebastelt, mit der man Astroaufnahmen mit langer Belichtungszeit machen kann. Da die Erde sich bewegt, muss die Kamera den Sternen nachgeführt werden und das macht bei mir ein bipolarer Schrittmotor. Dieser wird genau mit 240Takten/min angesteuert. Die Kontruktion ist nun leider so ausgelegt, dass eigentlich die Taktrate mit der Zeit angepasst werden muss, um optimale Ergebnisse zu bekommen. Bisher hatte ich dies nicht umgesetzt, aber die Idee hatte ich schon lange gehabt. Anscheinend gibt es sowas wie Mini µPC Steuerungen, mit denen sich dies leicht machen ließe.
Ablaufen müsste das dann so:

1. Durch Betätigen der Taste A läuft der Motor schnell zurück in die Startposition (Kontaktschalter meldet zurück, dass der Motor am Start ist)

2. Durch Betätigen der Taste B startet nun der Motor. Und zwar folgendermaßen:
In den ersten 18 min mit z.B. 239 Takte/min
In den nächsten 14 min mit 238 Takte/min
In den nächsten 12 min mit 237 Takte/min
In den nächsten 10 min mit 236 Takte/min
In den nächsten 9 min mit 235 Takte/min
In den nächsten 9 min mit 234 Takte/min
In den nächsten 8 min mit 233 Takte/min
In den nächsten 7 min mit 232 Takte/min
Danach stoppt der Motor .

3. Mit der Taste B kann man den Motor zwischendurch immer wieder anhalten und wieder starten (von der aktuellen Position).

Wichtig ist, dass die Taktrate sehr genau (<0.1%) eingehalten wird.

Könnt Ihr mir nun sagen, wie man so eine Steuerung realisieren kann. Was benötige ich für Hardware ? Ich muss dazusagen, dass ich von Programmierung nicht so viel Ahnung habe.

Grüße
Christoph

fumir
17.01.2008, 14:40
ich würde es ein klein wenig anders machen:
- überleg dir, an welcher position der motor zu welcher zeit sein soll, also zeit als funktion der motorschritte. mach das so genau wie möglich (bei dir sinds am anfang 250ms je motorschritt, später 251,04ms usw. aber bei den von dir angegebenen stellen hast du ne unstetige änderung woraus sich ne abweichung im ms-bereich ergibt) am besten mit ner exakten formel, in die die geometrie deines teleskops und die genaue erd/sternbewegung eingeht.
- verwende ein standard µC board mit nem standard motrotreibermodul und such dir ein passendes DCF77 modul um die genaue zeit zur verfügung zu haben. noch besser: ein GPS modul, mit dem du die GPS zeit erhällst (die ist viel genauer als die DCF77 zeit, da du die laufzeit zum DCF77 sender nicht kennst)
- programmiere (lasse programmieren) den µC so, dass er immer zum genau richtigen zeitpunkt den nächsten motorschritt ausführen läßt (das sollte dann mit ner genauigkeit im µs-bereich gehen).

damit solltest du ne ziemlich hohe genauigkeit erreichen können.

wenns auch etwas weniger sein darf: verwende nen entsprechend genauen uhrenquarz (kann man noch auf konstante temperatur heizen, um die temperaturdrift zu reduzieren) als zeitbasis und halte dich an deine tabelle. dann wirst du ne maximale zeitabweichung von etwa 1-2ms je motorschritt (ein motorschritt entspricht bei dir wohl ca 0.001° erdrotation, oder) haben (der sich nicht aufsummiert)

Christ
17.01.2008, 21:21
Hm, so genau muss es gar nicht sein. Die Steuerung soll möglichst einfach sein. Ein normaler Quarz ist da föllig ausreichend.
Welcher µPC kommt den da in Frage ? Haben die nicht auch einen Quarz auf der Platine ?

Grüße
Christoph

fumir
18.01.2008, 08:55
hier bei roboternetz wird wohl ein µC der atmel serie bevorzugt.
schau dir mal das RN-Control board an (www.robotikhardware.de). das sollte eigentlich gehen. dazu noch ein schrittmotor-modul.

dann brauchst du noch nen programmieradapter z.b. ein adapterkabel von PC druckerport LPT zum isp anschluß des RN-Control. und software (kostenlos)

es gibt auch ein modul mit tastatur und lcd, damit könnte man womöglich noch komfortablere sachen machen.

Christ
18.01.2008, 16:21
Hallo,

kann man denn an einen RN-control Board den Schrittmotor direkt anschließen (in der Doku war dies nicht ganz klar) oder benötigt man noch einen Motortreiber ?

Grüße
Christoph

Christopher1
18.01.2008, 16:34
Hi,
naja ist schon klar geschrieben ;-)
Außerdem gibts auch ein Bild ( https://www.roboternetz.de/wissen/index.php/Bild:Rncontrol1.4diagramm.jpg ) , du kannst an RN-Control direkt einen Schrittmotor anschließen (max 1A)

Christ
18.01.2008, 16:48
aha, verstehe!
Muss man dann bei der Programmierung alle 4 Anschüsse individuell ansteuern. Das ist ja bei Schrittmotoren eine Wissenschaft für sich.
Falls, ja, dann würde ja die Programmierung erheblich komplizierter werden.

Grüße
Christoph