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) |