Jump to content

Xandy01

Members
  • Gesamte Inhalte

    11
  • Benutzer seit

  • Letzter Besuch

Xandy01's Achievements

Newbie

Newbie (1/14)

0

Reputation in der Community

  1. Gibt es keinen Vorschlag wie ich einen kontinuierlichen verfahrweg hin bekomme. ohne das bei einem neuen Positionsziel die Rampen hoch und runter gefahren werden?
  2. Hallo Ich versuche eine 3Axen Steuerung zu programieren womit auch Kreise gefahren werden können habe aber das problem das die Stepper immer auf 0 abbremsen und dann erst neue Positionswerte annehmen gigt es eine möglichkeit während der ausführung schon neue Positionswerte zu überspielen so das die Motoren(Stepper) nicht die Rampen ausführen? Dann habe Ich noch eine Frage wo kann Ich nachlesen wann und wo die IPconnection aufgebaut und wieder geschossen werden muß.
  3. Warum Ich bei jedem Sprung in die Funktion G1 eine neue Verbindung aufbaue? Da Ich sonst die Stepper nicht ansprechen kann.
  4. Die Differenz für den Vorschub wird für alle drei Achsen berechnet, diese werden bei Diagonalen bis auf 5-10 Stepps exact zur selben Zeit ereicht.
  5. Es wird noch bei dem Befehl G28 SpeedRamping aufgerufen.(nur beim Programm start) Das verfahren wird mit G1 ausgeführt was nach jedem erreichen der Endposition prinzipiel vom Callback aufgerufen wird.(und da habe Ich das problem).G1 bekommt immer neue Positions Werte aus einer Text Datei. public void G1(int X_Wert, int Y_Wert, int Z_Wert, int E_Wert, int FFW, bool F_sprung) { IPConnection ipcon = new IPConnection(); BrickStepper stepper_Y = new BrickStepper(Variablen.STUID_1, ipcon); BrickStepper stepper_X = new BrickStepper(Variablen.STUID_2, ipcon); BrickStepper stepper_Z = new BrickStepper(Variablen.STUID_3, ipcon); //BrickletLCD20x4 lcd = new BrickletLCD20x4(Variablen.LCDUID, ipcon); //byte StepMode_X = 8; //1/8 step mode 8000 1/4 step mode 5200 1/2 step mode 2600 1/1 step mode 1000 Variablen.XDec_Wert = X_Wert / Variablen.X_DECIP; Variablen.YDec_Wert = Y_Wert / Variablen.Y_DECIP; Variablen.ZDec_Wert = Z_Wert / Variablen.Z_DECIP; Variablen.EDec_Wert = E_Wert / Variablen.E_DECIP; Variablen.FFW_Dec = FFW / Variablen.F_DECIP; double XT_Pos = X_Wert * Variablen.X_Ratio, YT_Pos = Y_Wert * Variablen.Y_Ratio, ZT_Pos = Z_Wert * Variablen.Z_Ratio, ET_Pos = Variablen.EDec_Wert * Variablen.E_Ratio, FFW_AKT = Variablen.FFW_Dec * Variablen.F_Ratio; //double XT_Pos = X_Wert, YT_Pos = Y_Wert; ipcon.Connect(Variablen.HOST, Variablen.PORT); // Connect to brickd double X_Aktpos = (stepper_X.GetCurrentPosition()); double Y_Aktpos = (stepper_Y.GetCurrentPosition()); double Z_Aktpos = (stepper_Z.GetCurrentPosition()); if (FFW_AKT > Variablen.MaxSpeed) { FFW_AKT = Variablen.MaxSpeed;} FFW_Calc(X_Aktpos, Y_Aktpos, Z_Aktpos, XT_Pos, YT_Pos, ZT_Pos, ET_Pos, FFW_AKT);//Vorschübe berechnen aus Gcode Tabelle System.Console.WriteLine(Variablen.Zeile + " F_X= " + Variablen.FFW_X + " F_Y= " + Variablen.FFW_Y + " E=" + E_Wert); System.Console.WriteLine(" -----------------------------------"); //stepper_X.SetSpeedRamping(Variablen.FFW_X * 3, Variablen.FFW_X * 3); //stepper_Y.SetSpeedRamping(Variablen.FFW_Y * 3, Variablen.FFW_Y * 3); //stepper_Z.SetSpeedRamping(Variablen.FFW_Z * 3, Variablen.FFW_Z * 3); stepper_X.SetSpeedRamping(0,0); stepper_Y.SetSpeedRamping(0,0); stepper_Z.SetSpeedRamping(0,0); stepper_X.SetMaxVelocity(Variablen.FFW_X); // Velocity 2000 steps/s stepper_Y.SetMaxVelocity(Variablen.FFW_Y); stepper_Z.SetMaxVelocity(Variablen.FFW_Z); stepper_Y.SetTargetPosition(Variablen.Y_Pos); stepper_X.SetTargetPosition(Variablen.X_Pos); stepper_Z.SetTargetPosition(Variablen.E_Pos); Variablen.X_run = false; Variablen.Y_run = false; int RS_Y = stepper_Y.GetRemainingSteps(); int RS_X = stepper_X.GetRemainingSteps(); int absY = Math.Abs(RS_Y); int absX = Math.Abs(RS_X); if (absY > 0) { Variablen.Y_run = true; } else { Variablen.Y_run = false; } if (absX > 0) { Variablen.X_run = true; } else { Variablen.X_run = false; } if (Variablen.X_run == false & Variablen.Y_run == false) { System.Console.WriteLine(" ----- kein Verfahrweg ----"); GCodeinterpreter(); } ipcon.Disconnect(); }
  6. Ja 2ter Wert ist Verzögerung. 1ter und 2ter Wert auf 0 ist auch keine abhilfe, da die Motoren auch zwieschen den neuen Werten auch stoppen. Also eine Lösung wo die neuen TargetPositionen mit den neuen MaxVelocity Werten von dem Stepper verarbeitet werden ohne unterbrechung gibt es so nicht?
  7. Ich ändere die Variablen for jedem aufruf mit neuen Werten aus einer Text datei. ... G1 X175.745 Y36.637 G1 X176.547 Y38.792 G1 X176.657 Y40.000 .... Der aufruf einer neuen Zeile geschieht durch den callback stepper_Y.PositionReached. stepper_X.SetSpeedRamping(Variablen.FFW_X * 3, Variablen.FFW_X * 3); stepper_Y.SetSpeedRamping(Variablen.FFW_Y * 3, Variablen.FFW_Y * 3); stepper_Z.SetSpeedRamping(Variablen.FFW_Z * 3, Variablen.FFW_Z * 3); stepper_X.SetMaxVelocity(Variablen.FFW_X); // Velocity 2000 steps/s stepper_Y.SetMaxVelocity(Variablen.FFW_Y); stepper_Z.SetMaxVelocity(Variablen.FFW_Z); stepper_Y.SetTargetPosition(Variablen.Y_Pos); stepper_X.SetTargetPosition(Variablen.X_Pos); stepper_Z.SetTargetPosition(Variablen.E_Pos); wenn Ich SpeedRamping ausklammer nimmt der Stepper aber die letzten Werte.
  8. Hallo wollte einen 3D Drucker bauen bekomme es aber nicht hin das SpeedRamping zu überspringen also das auf null abbremsen und danach wieder auf MaxVelocity zu beschleunigen und dann mit den neuen Koordinaten weiter zu verfahren. Ein kontinuierlicher vorschub ist somit nicht möglich. Hat jemand eine lösungs Richtung für dieses Problem?
  9. im changelog steht aber"2.2.1: Improve RED Brick hotplug handling on Windows"
  10. Hallo Kann es sein das auf der Webseite im Download bereich die Version 2.2.0 für den Brick Daemon angezeigt wird es aber eigentlich schon die Version 2.2.1 ist so wie es im Changelog auch steht? Habe die 2.2.0 jetzt neu installiert und jetzt zeigt mir der Brick Viewer auch nach einem hotplug auch wieder die Bricks an.
  11. Hallo Wollte mal nur zur Info schreiben das mein C# Programm auf dem 1.0 FullImage lief (zwar nicht zo wie Ich dachte aber es lief) und auf dem 1.1 FullImage bekomme Ich auch ein Unhandled Exception: System.Net.Sockets.SocketException: Network is unreachable.
×
×
  • Neu erstellen...