Hab mir jetzt mal den Sketch, den Du eingestellt has angesehen ... mmhm ...
Das ist jetzt ja sicher nicht das, was bei dir läuft, denn das ist ja so nicht kompilierbar. Hast Du da schon was dran geändert, oder wo ist der her? setup() im loop() aufzurufen ist schon sehr kreativ ...
Jedenfalls sieht das so aus, als wenn Du an deinem Rundtisch gar keine absoluten Positionen anfährst ( er hat also gar keine '0' Position ). Damit ist es natürlich auch schwieriger, nach einem Stop wieder das ehemalige Ziel anzusteuern, weil Du das ja als absolute Position gar nicht kennst.
Was man machen könnte: Vor jeder Bewegung in rotation() die Position in den MobaTools zu 'nullen' (setZero), und dann die zu fahrenden Steps mit writeSteps() als absolute Position - ausgehend vom Startpunkt - vorzugeben ( und sich merken). Wenn Du dann während der Bewegung stoppst, kannst Du bei einem erneuten 'Start-nach-Zwischenstop' Diese Position wieder als erneutes absolutes Ziel angeben, und die MobaTools machen dann die restlichen Steps.
Guten Morgen Franz-Peter,
Den Sketch habe ich über YouTube Arduino Rotary Table II - YouTube bzw. hier Klick gefunden.
Eigentlich sollte es der Sketch laufen, habe zwar angefangen die MoBaTools einzubinden habe sie dann wieder ausgeklammert weil ich den Sketch dann für die Mobatools unter einem anderen Namen gespeichert habe.
Für den Rundtisch bedarf es eigentlich kein Nullpunkt bzw. ich stelle ihn manuell auf 0, man kann die Schnecke aus dem Schneckenrad schwenken so das der Spanntisch frei von Hand in jede Position verdreht werden kann.
Habe ein Bild wie mein Rundtisch ausschaut angehängt, leider gelingt es mir nicht direkt hier einzufügen.
Die Kurbel wurde durch den Schrittmotor ersetzt.
Die Übersetzung ist 1:90.
bufisch:
leider gelingt es mir nicht direkt hier einzufügen.
Das geht nur nachträglich mit Editieren des Posts: Erst Rechtsklck auf das Attachment und dann 'Linkadresse kopieren'. Dann den Post editieren, und ein Bild einfügen ( Button 'insert an image' oben im Editor ). Als URL die vorher in die Zwischenablage kopierte Linkadresse nehmen:
Du solltest Dir klar machen, daß Du drei Kooerdinatensysteme hast:
das mechanische
das im Programm
das der MobaTools
Diese kannst Du alle mit dem selben Nullpunkt verwalten, sie können relativ zueinander aber auch abweichen.
Bei einem symmetrischen Werkstück kannst Du das bezogen auf die Drehachse irgendwie einspannen. Bei einem nicht symmetrischen Werkstück brauchst Du eine Bewegung zur Ausrichtung. Alle Bearbeitungen müssen dann relativ zum Kooerdinatensystem der Ausrichtung erfolgen. Das machst Du normalerweise mit den Ringen an der Handkurbel, nun in Deinem Programm. Das Kooerdinatensystem der MonaTools kann für jeden Bearbeitungsschritt neu festgelegt werden.
bufisch:
Für den Rundtisch bedarf es eigentlich kein Nullpunkt bzw. ich stelle ihn manuell auf 0, man kann die Schnecke aus dem Schneckenrad schwenken so das der Spanntisch frei von Hand in jede Position verdreht werden kann.
Nach der manuellen Nullstellung könnte man dann ja auch im Program 'Nullen' und dann sowohl mit absoluten als auch mit relativen Winkeln arbeiten. Dann wüsste die Steuerung immer genau wo sich der Rundtisch gerade befindet.
Oder bringt eine absolute Positionierung für dich nichts?
Ja das mit den Nullpunkt holen habe ich ja auch immer machen müssen bevor ich den Tisch umgebaut habe;)
Der Rundtisch ist auch nicht permanent auf der Fräse montiert so muss ich mir ja so wieso X-Y Nullen,die Mitte zentrieren um meine Radien anschließend bestimmen zu können.
Anbei der Sketch der zurzeit auf dem Nano läuft, habe bissel Müll entfernt und hoffe das ich nicht aus versehen etwas relevantes gelöscht habe, kompilieren lässt er sich
Ich hoffe er ist für euch lesbar weil ich noch nicht die Routine habe
MicroBahner:
Nach der manuellen Nullstellung könnte man dann ja auch im Program 'Nullen' und dann sowohl mit absoluten als auch mit relativen Winkeln arbeiten. Dann wüsste die Steuerung immer genau wo sich der Rundtisch gerade befindet.
Oder bringt eine absolute Positionierung für dich nichts?
also ich arbeite entweder mit der Teilung oder mit Winkelangabe beim Radius fräsen, wenn ich rundfräsen muss dann halt mit 361°, zustellen, A drücken für vorwärts, zustellen und wieder A drücken bis das Maß zum Schlichten erreicht ist, Schlichtmaß zustellen und B für Rückwärts (Gleichlauffräsen)
Hallo Burkhard,
ich habe deinen Sketch mal ein wenig überarbeitet. In dem Menü mit den Vorwärts/Rückwärts Tasten arbeitet der MoToStepper jetzt mit absoluten Positionen, damit er immer weis, wo er ist. Wenn Du das Menue mit 'C' verlässt, und einen anderen Winkelinkrement eingibst, wird dann wieder genullt.
Die bisherigen relativen Vorgaben für den Stepper hatten auch noch einen wesentlichen Nachteil: Im Gegensatz zu der ursprünglichen Implementierung blockiert die Bewegung des Steppers den Sketch nicht. D.h. Du kannst auch während der Bewegung erneut 'Vorwärts' oder 'Rückwärts' drücken. Dann stimmt aber die Stepperbewegung nicht mehr mit dem über ein, was unter 'Total' vorgegeben wird.
Das ist jetzt mit den absoluten Positionen anders: Der Stepper bewegt sich immer zu der Position, die unter 'Total' angegeben wird. Auch wenn Du während der Bewegung auf 'A' oder 'B' drückst. Du kannst jetzt auch mit 'D' Stoppen und wieder weiterfahren. Dann wird er wieder die Position unter 'Total' anfahren. In der 2. Zeile wird immer der Winkel ausgegeben, wo der Stepper gerade steht. Da das aus der aktuellen Stepperposition in Steps rückgerechnet wird, sind kleine Rundungsfehler möglich.
Ich würde sowas anders programmieren, habe aber jetzt mal möglichst wenig geändert. Nur den Unsinn, setup() im loop aufzurufen, und ein paar überflüssige Programmzeilen habe ich rausgeschmissen. Ich musste zum Testen auch ein paar HW-Einstellungen ändern ( mein Keypad ist direkt angeschlossen ). Ich hoffe, ich habe alles wieder ordentlich zurückgesetzt, so dass der Sketch bei dir lauffähig ist.
Probier's halt mal aus.
Da der Post sonst zu lang wird ( über 9000 Zeichen ), ist der Sketch im Anhang
das ist ja ein Service, weiß gar nicht was ich sagen/schreiben sool... ein ganz fettes Dankeschön.... und lass mich wissen wie ich mich erkenntlich zeigen kann.
Werde runter in Keller gehen und den Nano hoch holen und gleich mal den Sketch von dir drauf bügeln und Testen.
den Sketch habe ich drauf und das mit der aktuellen Winkelanzeige ist einfach perfekt und das mit dem Stoppen/Starten mit Taste D funktioniert nach paar schnelle Tests auch hervorragen Danke.
Jetzt muss ich nur noch nen Poti für die Drehzahlregelung einbauen und den JOG-Modi anpassen dann ist die Steuerung perfekt.
Werde weiter berichten und auch paar Bilder und Videos(Link auf meine Domain) einstellen, mit den Videos weiß ich nicht ob ich das über YouTube machen werde.
ach... fast vergessen, dein Sketch ist jetzt so schön aufgeräumt, jetzt kann ich ihn auch viel besser lesen
MicroBahner:
Hallo Burkhard,
super, freut mich, wenn es funktioniert.
Wobei man da noch viel mehr machen könnte - aber schön, wenn es auch so schon etwas hilft 8)
Hallo Franz-Peter,
das denke ich mir, nur fehlt mir dazu das noch nötige Know-how
ich werde den Sketch von dir mal richtig anschauen um zu verstehen.
3 Dinge die ich noch gerne ändern möchte,
1.)
das LCD-Display durch ein TFT-Display(I2C) ersetzen und da bräuchte ich die Erfahrungen hier aus dem Forum welches ich nehmen sollte, am besten eins zwischen 2,8 und um die 4"
es ist mir einfach zu viel Text in gleicher Größe auf dem DOT-Matrix Display, würde gerne relevante Details hervorheben und den Rest in kleineren Lettern darstellen.
2.)
wie ich schrieb funktioniert das mit dem Stoppen und wieder Starten sehr gut und man kann gut damit arbeiten, nur eben nicht den
schon gefahrenen Weg etwas zurück fahren, so das ich z.B. quasi das Werkzeug gegebenenfalls Freifahren kann das ohne das ich
die ursprünglichen Zielposition verliere(würde ich dann über 2 zusätzliche Taster machen).
3.)
Die Jog-Funktion, die möchte ich mir so einrichten, das ich mit der Tastatur mit 1 ein Schritt bis 9 neun Schritte, mit A 10 Schritte,
B 100 Schritte, D Dauerschritte bis ich D loslasse (wenn es machbar ist)
Wie ich oben schrieb werde ich mir deinen Sketch genau anschauen und bei Fragen würde ich gerne hier um Rat fragen.
achso, ein Prima Forum und Super hilfsbereite User hier die einem saugute Hilfe zukommen lassen DANKE, kenne es noch anders als ich vor rund 20 Jahren mit der CC2-Conrol angefangen habe,
da wurde sowas mit Beispielen gegeizt, außer vom Forumsbetreiber.
Gruß Burkhard
zu 1): Dir muss klar sein, dass die Ansteuerung eines TFT deutlich komplexer ist als so ein einfaches alphanumerisches LCD. Ich habe bisher nur mit ein paar 'dummen' TFT's etwas probiert. Da allerdings auch leistungsfähigere CPU's (STM32) eingesetzt. Mit den 'intelligenten' Nextion soll die Ansteuerung einfacher sein. Eigene Erfahrung dazu habe ich aber nicht.
zu 2): für's schrittweise Vor- und Zurückfahren hättest Du ja noch Taster auf dem Keypad frei. Wenn Du da aber mit z.B. 'solange gedrückt...' arbeiten willst, musst Du tiefer in die Keypad-Lib einsteigen.
Solange Du den Referenzpunkt dabei nicht änderst, kannst Du auch jederzeit wieder zur Zielpositione ('Total') fahren.
zu 3): Auch da musst Du wieder tiefer in die Keypas-Lib einsteigen, damit Du erkennst wenn Du 'D' loslässt. Sollte aber machbar sein. Da muss man sich die Beispiele zur Keypad-Lib mal genauer anschauen, was da alles geht.
Ich habe bei meinem MySensors Projekt schon LCD gegen 1,8" TFT erfolgreich umgesetzt allerdings SPI mit Adafruit_GFX.h & Adafruit_ST7735.h und das wollte ich vermeiden damit ich nicht so viele Ports verliere.
zu 2. da brauche ich nicht die Taste gedrückt halten, möchte nur einfach zurückdrehen dabei nöchte ich natürlich nicht meine ursprüngliche Zielposition verlieren.
zu 3. nur hier würde ich gerne das Gedrückthalten nutzen um den Tisch z.B. auf Null fahren wenn ich den Tisch neu einrichte.
Dachte mir schon das man da tief in die Libs eintauchen muss.
Wichtig wäre mir erstmal das Display um eine gute Übersicht zu haben, ich hab noch ein 1,8" TFT und nen Nano da werde ich mal testen was geht nur ist das Display halt bissel klein (für meine Sensoren sind die ideal) für ein vernünftiges arbeiten, deshalb die Frage nach einen 2,5" bis 4" Display.
bufisch:
... dann kann ich mir das mit dem Nano und TFT sparen.
Ich denke, ja. Das sollte meine Hauptaussage sein.
bufisch:
... ein Mega2560 mit einem TFT Shield ...
Ich bin kein Shield Freund, daher hatte ich das nicht "auf dem Schirm" und kann da auch nichts empfehlen.
SPI hat eine variable Geschwindigkeit, da könnte es also auch Unterschiede geben.
Daher Mega2560 mit SPI oder Nextion wäre so meine Empfehlung.
Ganz wichtig ist auch eine gute Bibliothek, die den TFT-Controller und die Schnittstelle unterstützt. Das solltest Du unbedingt vor dem Kauf abklären. Oli Kraus hat gute Bibliotheken, beispielsweise Ucglib. Die Unterschiede liegen im Detail, beispielsweise beim "Font Purpose", wenn Du sich ändernde Zahlenwerte darstellen möchtest.
Andere hier im Forum haben aber mehr Erfahrung, da trete ich dann einen Schritt zurück.