Re: Schrittmotoren mit Frequenz-Generator ansteuern? Kategorie: Programmierung Basic (von kami89 - 22.10.2009 19:33) | ||
Als Antwort auf Re: Schrittmotoren mit Frequenz-Generator ansteuern? von kami89 - 22.10.2009 19:31 | ||
| ||
> > > > > Hallo zusammen, > > > > > > > > > > Ich bin gerade dabei, eine kleine Graviermaschine zu bauen, die mit dem PC gesteuert werden kann. > > > > > Die Maschine hat 3 Achsen mit je einem Schrittmotor und einem Schrittmotortreiber. > > > > > Die Befehle vom PC werden über die RS232 an mein C-Control Pro 128 geschickt, > > > > > welches dann die Schrittmotoren ansteuert. > > > > > > > > > > Ich habe nun eigentlich schon das ganze Ding zum laufen gebracht, > > > > > allerdings habe ich die Schrittmotoren (das Taktsignal) "von Hand" Ein- und Ausgeschaltet > > > > > also immer mit Port_WriteBit() im Programmablauf drin gearbeitet. > > > > > Das Problem an der ganzen Sache ist nun aber, > > > > > dass man so einfach keine anständige Geschwindigkeit zu Stande bringt. > > > > > > > > > > Dann hab ich gesehen, dass man ja auch Frequenzausgänge nutzen kann. Hab ich mal probiert, > > > > > funktioniert bestens, habe Geschwindigkeiten erreicht von denen ich vorher träumte ;-) > > > > > > > > > > Nun muss ich aber natürlich (weil es ja Schrittmotoren sind) immer die genaue Position der Graviermaschine > > > > > wissen (X, Y, Z). Mit dem manuellen Taktsignal war das natürlich keine grosse Sache, > > > > > eifach bei jedem Schritt eine Variable vergrössern oder verkleinern ( +1 oder -1). > > > > > > > > > > Beim Frequenzausgang ist das aber ja nicht so einfach ;-) > > > > > Ich habe schon Antworten gefunden wie "Frequenz-Ausgans-Pin auf Zähler-Eingangs-Pin legen und zählen", > > > > > aber das macht das Programm ja wieder einiges langsamer und ist auch relativ "unschön" gelöst finde ich. > > > > > Und ich bin mir nichtmal sicher, ob ich auch 3 Zähler-Eingänge nutzen kann, > > > > > da das Application-Board auch einige Pins beansprucht. > > > > > > > > > > Ein Kumpel hat mir mal gesagt, für sowas könne man häufig irgendwelche Register auslesen, > > > > > aber ist das bei der C-Control auch möglich? > > > > > > > > > > Ich muss übrigens nicht bei jedem einzelnen Puls wieder die Variable anpassen, > > > > > es genügt wenn ich bei jeden zehnten Pulsbenachrichtigt werde, > > > > > dass 10 Pulse ausgegeben wurden (aufgrund der Mechanischen �bersetzung). > > > > > > > > > > Bin für alle Antworten sehr dankbar! > > > > > > > > > > Gruss kami89 > > > > > > > > > > > > Hallo, > > > > > > > > ich würde mir die Schritte berechnen. > > > > Teiler und die dazugehörige Tickdauer ist ja bekannt, > > > > somit kannst du auf die Schritte rückschlie�en. > > > > > > > > Grü�e Ulli > > > > > > Hallo Ulli, > > > > > > Ich verstehe jetzt nicht so ganz wie du das meinst ;-) > > > Nur aus Teiler und Tickdauer kann ich ja nicht berechnen wie viele Schritte gemacht wurden? > > > Oder meinst du ich soll die Zeit messen, und dann die Schritt-Anzahl berechnen? Wird das auch genau? > > > > > > Gruss kami89 > > > > Hallo Kami89, > > > > schau dir das mal an: > > > > Timer_T1FRQ(Frequenz,PS_64) > > AbsDelay(Periode) > > Timer_T1Stop > > > > Einmal kannst du die Taktfrequenz festlegen und einmal die die Dauer wie lange > > die Frequenz anliegt. > > > > Nur so eine Idee, ich habe es nicht ausprobiert! > > > > Grü�e Ulli > > > > > > > Hallo Ulli, > > Ich bin mir nicht so sicher wie genau das auch wirklich funktioniert. Das Problem dabei ist eben noch, > dass sich auf diese Weise der Fehler ständig aufaddiert. > > Aber ich mach es halt sonst wirklich so, dass ich die Ausgänge mit den Eingängen verbinde und dann Zähler verwende. > Wär halt schön gewesen wenn das einfacher gegangen wäre... > Hoppla, bin aus Versehen auf den "Abschicken"-Button gekommen^^ Wollte dir noch für die Antworten danken und Gruss kami89 | ||
Antwort schreiben Antworten: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum