Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

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
Ich nutze:
C-Control Pro Mega128, CC-Pro 128 Application Board, Pro-Bot128
> > > > > 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: