Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: unerwünschter Pilgerschritt Kategorie: Programmierung (von Felix W. - 9.12.2004 23:08)
Als Antwort auf Re: unerwünschter Pilgerschritt von Felix W. - 9.12.2004 22:58

Hallo Stefan,

..hab ich vergessen: natĂĽrlich musst du den Pulse-Port vorher noch als Ausgangsport setzen!

Also so:

 
 // Port 1 -> Richtung
 // Port 2 -> Pulse
ports.set(2,0); //Pulse Port als Ausgang definieren

 ports.set(1,1); // Richtungsbit setzen (Rechtslauf)
 for x=1...500
 { ports.pulse(2);} // 500 Schritte nach rechts
 sleep 500;
 ports.set(1,0); // Richtungsbit löschen (Linkslauf)
 for x=1...500
 { ports.pulse(2);} // 500 Schritte nach links
 


..und wenns zu schnell geht, noch ein sleep 1; in jede for... Schleife.

Nochmals GrĂĽĂ?e, Felix


> Hallo Stefan,
>
> bei einer Puls-/Richtung-Ansteuerung (oder englisch Step/Direction) eines Schrittmotorantriebs ist
> normalerweise keine Rückleitung auf den Geber nötig, da der Motorregler (wenn richtig konfiguriert)
> die gegebenen Impulse zuverlässig in Schritte umsetzt.
>
> Du solltest die Impulse (den Takt) besser mit Nadelimpulsen von einem CC2-Port erzeugen (eben mit
> ports.pulse(). Ausserdem solltest du, auch bei kurzen Leitungswegen, ein
> geschirmtes Kabel verwenden. Bei längeren Kabelstrecken habe ich mit symmetrischer �bertragung
> (sowohl Puls als auch Richtung als RS-485 oder RS-422 ĂĽbertragen) gute Erfahrung gemacht,
> weil Störimpulse von aussen eliminiert werden.
>
> Folgendes Programmschema sollte funktionieren:
>
>
> // Port 1 -> Richtung
> // Port 2 -> Pulse
>
> ports.set(1,1); // Richtungsbit setzen (Rechtslauf)
> for x=1...500
> { ports.pulse(2);} // 500 Schritte nach rechts
> sleep 500;
> ports.set(1,0); // Richtungsbit löschen (Linkslauf)
> for x=1...500
> { ports.pulse(2);} // 500 Schritte nach links
>

>
> Wenn du Störimpulse auf deine Leitung ausschliessen kannst und dein Motorregler richtig
> konfiguriert ist (Die korrekten Reglerparameter wie Verstärkung und Regelzeit sind sehr
> wichtig, damit der Motor "auf den Punkt kommt"!), sollte der Motor nach einem Vor- und
> einem RĂĽcklauf wieder bei "0" ankommen.
>  
> GrĂĽĂ?e, Felix
>  
>
>
>
> > > Hallo Felix,
> > >
> > > also meine Steuerung sieht folgendermassen aus:
> > >
> > > - die PWM-Ausgänge erzeugen den Takt.
> > > - dieser Takt wird auf die Steuerkarte der Motoren gegeben
> > > - parallel wird der Takt auf die Interrupt-sensiblen Porteingänge der CC2 angeschlossen.
> > > - zwei Portausgänge steuern das links und rechts
> > > - dann wird per SW ein Schrittziel vorgegeben.
> > >
> > > Zum Beispiel: Schrittziel 500. Der Motor startet, von null aus nach links bis 500, von da
> > > an dreht der Motor nach rechts bis -500 (minus 500), dann wieder in die andere Richtung, usw.
> > >
> > > Leider ist aber die eine Richtung etwas mehr bevorzugt als die andere......
> > >
> > > Zur Kontrolle lasse ich mir den Zählerstand auf einer externen LCD anzeigen.
> > > Da sehe ich nichts auffälliges.
> > >
> > > Bin jetzt ratlos.
> > >
> > > Gruss...Stefan
> >


    Antwort schreiben


Antworten:

Re: unerwünschter Pilgerschritt (von Stefan - 12.12.2004 19:27)