Re: unerwünschter Pilgerschritt Kategorie: Programmierung (von Felix W. - 9.12.2004 22:58) | |
Als Antwort auf Re: unerwünschter Pilgerschritt von Matthias Koch - 9.12.2004 21:54
| |
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 > > Hallo Stefan, > Du verwendest einen industriellen Hardware-Treiber und Schrittmotor von Berger&Lahr. Du speist ein > Taktsignal von Deinem PWM Port ein. Die Richtung der Drehbewegung bestimmst Du über zwei Richtungs- > signale an den Hardware-Treiber. Am Count_Port zählst Du die emittierten Impulse. Nach dem Erreichen der > Soll_Imp_Zahl drehst Du die Richtung um. Ich vermute immer noch Schrittverluste. > > Denn: stochastische Störimpulse auf der Taktleitung würden auf jede Richtuing wirken! > Denn: Du verwendest keine PWM Steuerung,sondern STEPS und DIRECTION! > > Teste folgendes ohne den NullSensor (wenn möglich): > 1:drehe den Motor immer in Richtung "rechts" mit einer Anzahl von Steps die eine Drehung von 360 grad ergeben. > beobachte, ob immer wieder eine volle Umdrehung erfolgt,oder Winkelversatz auftritt. > 2: wie 1) jedoch mit anderer Richtung! > > Wenn beide Test´s immer einen Umlauf des Motors von 360° ergeben, arbeitet das System Berger&Lahr > einwandfrei. > > mfg > Matthias Koch > > > > > > > > > > > | |
Antwort schreiben Antworten: Re: unerwünschter Pilgerschritt (von Felix W. - 9.12.2004 23:08) Re: unerwünschter Pilgerschritt (von Stefan - 12.12.2004 19:27) |