Modellbauservo-Plotter, meine ersten Schritte

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Modellbauservo-Plotter, meine ersten Schritte

      Hi Bastler, mein Ziel ist es, einen Modellbauservo-Plotter zu bauen, Vorlage ist die plotclock

      Da ich keine Lust habe Arduinoprogramme umzuschreiben, mache ich alles neu und zwar in bascom-basic, logisch. Außerdem will ich mich nicht auf Zahlen beschränken, sondern alles mögliche plotten können. Jetzt kommt aber eine große 'Einschränkung', ich will keine Schnittstelle einbauen, sondern ein Gerät, was nur das plotten kann, was man ihm vorher beigebracht hat. Das ist für mich erstmal Aufgabe genug und für eine Uhr, Kalender oder Thermometer langt das.
      Dazu hab' ich mir schon ein paar Gedanken gemacht.
      Die einzelnen Stellungen der Servos, um eine Form (punktweise) nachzufahren, werden in einer Tabelle abgelegt. Wenn ich beim Beispiel der plotclock bleibe, gibt es für jede Stelle der Anzeige jeweils eine Tabelle für jedes Zeichen an dieser Stelle, also 40 Einzeltabellen (10 Zeichen x 4 Stellen)und noch eine für den Doppelpunkt. An eine Transformation der 10 Tabellen von einer Stelle zur anderen Stelle hab' ich jetzt noch nicht gedacht, wäre vielleicht möglich, wird sich zeigen.
      Um diese Einzeltabellen zu generieren, werde ich nicht vorab geometrische Formeln erstellen und durchrechnen, sondern denke an ein 'Steuerpult', mit dessen Regler ich die Servos stellen kann und einem Display, was mir die Pulszeiten für beide Servos anzeigt. So kann ich eine gezeichnete Vorlage punktweise mit der Mechanik anfahren und mir die Servopulse dazu notieren. Die werden dann in die Tabelle übertragen und später vom Programm nacheinander angefahren und so zeichnet die Mechanik die Vorlage nach.
      Das soll jetzt aber hier kein reiner Bericht meiner Pläne sein, vielmehr möchte ich eine Diskussion anzetteln, wie man das am besten machen könnte, natürlich bei günstigen Aufwand/Nutzenverhältnis.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • Nur den Startpunkt verschieben, wird nicht gehen. Ich habe ja eine 'Variante' von einer polaren Ansteuerung, Drehwinkel und Abstand vom Drehpunkt. Die Zeichen würden sich erstmal neigen (von Stelle zu Stelle) und mit den 2 Drehpunkten der Servos auch verzerren.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • Das ist ein sehr interessantes Projekt.
      Allerdings ist das "Abzeichnen" mittels Pulse ermitteln und Tabelle erstellen doch etwas mühsam ;)
      Hier kann der AVR seine Funktion endlich mal erfüllen und rechnen statt warten.
      Im Prinzip läuft es auf die Mathematik der oberen Schulklassen hinaus, ein bisschen Pythagoras, ein bisschen Sinussatz.
      Ich hab mir das damals mit Geogebra simuliert und danach die Mechanik gebaut.
      Wenn du Fragen in der Richtung hast, dann kannst du sie gerne stellen.
      Ich will dich aber erstmal nicht von deinem obligatorischen Kopf-durch-die-Wand abhalten :D

      Gruß, Michael

      2D_Geogebra.png
    • Hohe mathematik hat mir nie spass gemacht.
      Ist es für den anfang vielleicht denkbar sowas ähnlich einer 7 Segment Anzeige aufzubauen?
      D.h. festes Raster der Zeichen, in dem wiederrum sind ja die Wege von Start zum Zielpunkt eines segmentes innerhalb einer Ziffer fest. Für jedes Digit der Kette ablegen.Dann die position jedes ziffer ermitteln , für jede Ziffer sind die wege für die einzelnen Segmente ja abgelegt, muss man halt die Ziffer dann noch in die Segmente zerlegen und die einzeln abfahren. Uff, richtig meine gedankengänge erklärt?
      Eine Steuerung mit drei Ebenen x-y-z ist nichts? Servos sind doch so billig..


      Tobias
    • @Michael rechnen lassen, mit sin und was so alles gibt, geht natürlich auch, was aber immer noch bleibt sind die Startwerte der Berechnung eingeben. Dann bekommt man Drehwinkel, die dann auf das reale Teil umgesetzt werden müssen, sowas wie kalibrieren. Vom Aufwand nicht ohne, man würde bei der Gelegenheit den 'Bodensatz des Wissens' mal wieder aufrühren, ok. Eine 'Kopf durch die Wand' Methode sehe ich nicht, ich nenne das eher eine Lehre, den Servos das beizubringen, durch Zeigen. Dein Vorgehen wäre mit einer Uni zu vergleichen.
      @Schraubbaer das ist schon in etwa mein Plan, nur vielleicht mit mehr Punkten/Segment, sodass auch was 'bogenförmiges' raus kommt.
      Was 'käsefräsenmäßiges' will ich nicht machen. Z-Achse wird nicht nötig sein (hoffe ich).
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • tschoeatsch wrote:

      was aber immer noch bleibt sind die Startwerte der Berechnung eingeben. Dann bekommt man Drehwinkel, die dann auf das reale Teil umgesetzt werden müssen, sowas wie kalibrieren.
      Naja, die Startwerte wirst du ja wohl noch rauskriegen, oder? Du musst ja deine Mechanik so bauen, dass du ährend des Betriebs nicht in die Anschläge fährst. Also müssen die Armlängen ungefähr passen, um den Bereich abzudecken.
      Die 2-Arm-Kinematik, also die Deltakinematik hat eine Raute als Arbeitsbereich, ich häng mal ein Bild an.

      tschoeatsch wrote:

      ich nenne das eher eine Lehre, den Servos das beizubringen, durch Zeigen. Dein Vorgehen wäre mit einer Uni zu vergleichen.
      wie gesagt, ich halte deinen Ansatz für vergebene Liebesmüh.

      tschoeatsch wrote:

      das ist schon in etwa mein Plan, nur vielleicht mit mehr Punkten/Segment, sodass auch was 'bogenförmiges' raus kommt.
      Was 'käsefräsenmäßiges' will ich nicht machen. Z-Achse wird nicht nötig sein (hoffe ich).
      Die Z-Achse beschränkt sich auf das Absetzen des Stiftes.

      Arbeitsbereich.png die Achsenbeschriftungen sind Zentimeter
    • Michael wrote:

      Naja, die Startwerte wirst du ja wohl noch rauskriegen, oder?
      Klar, die fahr' ich an, ganz einfach. Ich werde mir eine beispielhafte Anzeige ausdrucken und vor die Servomechanik legen. Dann fahre ich die äußersten Punkte an und sehe, ob ich alles erreiche.
      (Mit deinem Bildchen kann ich die Größe der Mechanik schon mal abschätzen, danke.) Dann suche ich mit Einzelpunkte der Schriftzeichen aus und fahre so die Kurven entlang, notiere die Werte und erzeuge so die Tabelle. Die passt dann sofort für diese Mechanik.
      Wenn ich das berechnen will, brauch ich auch diese Punkte auf der Kurve der Zeichen, auch die muss ich irgendwie ablesen und eintippen, hab' ich auch eine Tabelle.


      six1 wrote:

      mach einen x,y linear Antrieb mit z für Stiftbewegung
      Hab' ich im Keller liegen, als Plotter. Ist mir jetzt zu langweilig, jetzt wo ich meinen Basteltisch aufgeräumt habe und sogar die Platte sehen kann, bau' ich mit den Lehrnadapter. Das das vergebliche Mühe sein soll, kann ich nicht erkennen. Ein display und 2 Potis sind so Aufwand auch nicht. :rolleyes:
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • Das geht in die gleiche Richtung, wie @Michael schon vorgeschlagen hat. Ich sehe nur keinen Vorteil. In beiden Fällen hab' ich für jedes Zeichen eine 'Beschreibung', sei es g-code ober eine Tabelle mit x/y-Werten, die dann mit wilden trigonometrischen Funktionen in die 2 Stellungen für die Servos umgerechnet werden. In meiner Variante hab' ich auch eine Tabelle, nur sind da schon die fertigen Stellungen für die Servos drin, die Berechnungen dafür hat die Mechanik beim 'Anlernen' ausgeführt. Es ist sozusagen ein Analogrechner vorgeschaltet. Jetzt schau'n mer mal, wie's geht. Die Teile kommen bald und die Mechanik für erste Versuche ist ja auch nicht so kompliziert.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • einfach nur ein paar Punkte abarbeiten ist zu einfach gedacht.
      Die doofe Mechanik fährt nämlich immer einen Bogen.
      Beide Servos müssen gleichzeitig mit unterschiedlichen Geschwindigkeiten bewegt werden.
      Und die Geschwindigkeiten ändern sich auch noch mit dem Winkel.
      Du wirst also für jede Ziffer auf jeder Position jeweils rund 50 Punkte (x,y) brauchen, damit das gut aussieht.
      Das sind 33 Ziffern mit je 100 Tabellen-Bytes, macht 3,3 kB.
    • Michael wrote:

      einfach nur ein paar Punkte abarbeiten ist zu einfach gedacht.
      Nein.
      Die "doofe" Mechanik gleicht einiges aus.

      Michael wrote:

      Beide Servos müssen gleichzeitig mit unterschiedlichen Geschwindigkeiten bewegt werden.
      Und die Geschwindigkeiten ändern sich auch noch mit dem Winkel.
      Ja klar. Vereinfachung geht über virtuelle Punkte, die nie erreicht werden.
      Beispiel Dreieck: Start an einer Ecke, anvisiert 2. Ecke, Ziel 3. Ecke:
      Ergebnis ist ein schöner Bogen zwischen 1 und 3.
      Heisenberg bei einer Radarkontrolle:
      Polizist: "Wissen Sie, wie schnell Sie waren?"
      Heisenberg: "Nein. Aber ich weiß genau, wo ich jetzt bin!"

    • Klärt mich auf:
      Die Punkte der Zeichen sind doch im Zeichensatz enthalten. Wenn wir Zeichen auf dem Display gezeichnet haben, dann haben wir jeden Punkt eines Zeichen gesetzt oder eben nicht. Diese Punkte könnte man auch mit einer Linie verbinden.
      Selbst wenn wir jetzt mal die Bogenfunktion außer Acht lassen... dann wäre die Ausgabe in einer Bogenform...
      Code first, think later - Natural programmer :D
    • Michael wrote:

      Der Unterschied ist halt, ich hab es schon gebaut und programmiert, weiß also, wovon ich rede.
      Und, ist es was geworden? Zeig's halt mal, es gibt hier einen Platz für Projekte.

      six1 wrote:

      Die Punkte der Zeichen sind doch im Zeichensatz enthalten. Wenn wir Zeichen auf dem Display gezeichnet haben, dann haben wir jeden Punkt eines Zeichen gesetzt oder eben nicht. Diese Punkte könnte man auch mit einer Linie verbinden.
      Im Prinzip ja, aber ich empfinde das mit meinem Kenntnisstand als sehr aufwändig. Jeden Punkt mit den direkt angrenzenden Punkten verbinden, wäre eine eher unschöne Möglichkeit.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • six1 wrote:

      ...du benötigst doch nur einen Algo...PillePalle
      Finde ich nicht, ist für mich sauschwer. Ich klebe noch an meiner Idee und die werde ich zumindest ausprobieren. Und wenn das Ding krakelt (was es tun wird) statt in 2.Klasseschönschreibschrift zu schreiben, dann hat es halt seine persönliche 'Handschrift'. Find' ich auch gut.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • tschoeatsch wrote:

      Und, ist es was geworden? Zeig's halt mal, es gibt hier einen Platz für Projekte.
      Hier hatte ich ein Video davon gepostet:

      Modelbauservo digital/analog


      tschoeatsch wrote:

      Jeden Punkt mit den direkt angrenzenden Punkten verbinden, wäre eine eher unschöne Möglichkeit.
      ehrlich gesagt, wie stellst du dir das sonst vor? Wie willst du jemals Größe oder Schriftart anpassen? Zumindest die Position musst du verschieben können. Und da brauchst du die Schriftzeichen als Font-Tabelle und eine Berechnungsgrundlage, um die Zeichen zu positionieren.