Polarsandtisch

That is awesome!

Baking soda has more details, but the sand is smoother.

The tray under my zenxy prototype is 1/8" hardboard. On the sisyphus table, it is about 1/8" and it is aluminum composite with sand colored fabric on the top.

The magnet in my prototype is 1/2"x1/2" cylinder magnet. It is very strong. The ball is 1/2", but 3/8" would be good too.

Now there’s an idea. That probably helps a lot with noise.

I think it does. It is hard to tell. This one isn’t very fast and completely silent.

2 Likes

well, looks like I gotta vacuum the baking soda out, again…

Hallo Klaus,

ich bin auch gerade dabei einen Polaren Sandtisch zu bauen und habe im Moment noch Probleme mit dem Code bzw. dem Programmieren der Bewegungen. Dein Projekt sieht sehr gut aus und hat vom Grundaufbau den gleichen wie mein Roboter.
Ist es möglich das du alle deine Dateien an Code die auf deinem Arduino laufen bei github oder so hochlädst? Dann könnte ich den Code besser verstehen und auch Stücke des Codes für meinen Tisch übernehmen.
Ich würde mich sehr über deine Hilfe freuen.

Gruss aus Berlin
Arthur

1 Like

Hallo Arthur

Ich habe dein Projekt gesehen und es gefällt mir,
vom Aufbau her sind unsere Projekte identisch.

Bei menem Tisch habe ich habe eine Übersetzung zwischen Motor und Antrieb von 3:1
Der Antrieb vom Motor hat 20 Zähne und das Zahnrad auf dem Arm hat 60 Zähne.
Der von mir verwendete Motor hat 200 Vollschritte.

Ich verwende bei meinem Aufbau einen Arduino Mega mit einen Ramps 1.4.
Auf dem Ramps Board sind alle Jumper unter den Treibern gesteckt damit 32 Microschritte ermöglicht werden.
Als Driver verwende ich 8825 (welche auch die 32 Micro Schritte ausführen können)
Es wird auf den Arduino Mega die Marlin Software eines normalen X-Y Druckers aufgespielt.
(Du brauchst hierfür aber einen Github account um ihn downloaden zu können)
https://github.com/V1EngineeringInc/MarlinBuilder/suites/1728007278/artifacts/32713996
Das richtige Board in der “Config.h” (bei mir Ramps 1.4) ausgewähen.
Die Datei über USB von deinem Rechner auf das Board schreiben.
Auf die Bautrate achten (115200)
200 Schritte pro Umbrehung x 32 Mikroschritte x / 6 Einheiten pro Umdrehung * 3 Übersetzung
((200 x 32)/6)x3 =3200 Mikroschritte / Umbrehung

Mit den folgenden Befehlen welche du über Octoprint oder ähnlicher Software an Marlin schickst stellst du die Microschritte ein.
M92 X1066.7 Y1066.7
M500

Du brauchst auch 2 Enschalter um deine Arme in der gestreckten Position auszurichten.
Diese werden mit den Endstops vom Board verbunden.
Mit dem Befehl:
G1 X3.00 F60
werden die Arme in der Position 180° ausgerichtet.

Nun solltest du in der Lage sein folgende Datei auszuführen:
diese Datei

In Marlin wird nicht eine Scara berechnung ausgeführt um deine X-Y koordinaten in Grad umzuwandeln,
diese mathematische Berechnung wird vorher extern von einem kleinem Skript ausgeführt.
das Skripft von Jefeeb3 findest du hier.
Somit kannst du jedes File welches X-Y koordinaten hat zuerst umwandeln und dann an deinen Arm schicken.
Umrechnung

Ich hoffe ich konnte dir ein bischen helfen.

servus Klaus

2 Likes

Klaus,

Yes, exactly. There is a saying (I think from Richard Feynman, but I’m not sure): “You don’t truly understand something until you can explain it to someone else”. This all looks very good to me.

Are you using the repl.it to run the python conversion code? Is that working for you?

Is there anything else we need to work out together?

–Jeffeb3

Jeffeb3

ohne dich währe ich nicht soweit gekommen, dafür bin ich dir sehr dankbar.

Momentan warte ich auf die Sandträgerplatte aus 5mm die aus PMMA besteht.
Diese wird im FABLAB der Universität herausgeschnitten.
Alle Teile wurden im übrigen an Schulen für dieses Projekt gefertigt,
mit der Auflage nach erfolgreicher Beendigung ihnen die Zeichnungen zu überlassen um selber ein Ausstellungsobjekt bauen zu können.
Die Lehrer waren alle mal froh war neues zu machen und den Laser mit 5mm Aluminum zu Quälen was sie bis dato noch nie gemacht hatten.
Der Holztisch wird auch an der Berufsschule für Tischler mit einer CNC Frãse hergestellt.

Momentan sind die Zeichnungen für die Gehãuse der Elektronik beim zeichnen.
Um die Idee der sichtbaren Mechnaik zu verfolgen will ich alles Elektronische schön verpacken.
Deswegen hatte ich noch wenig Zeit für die Programmierung.

Mein Traum ist es einen Sandypi mit Scara funktion in den Tisch einzubauen.

Werde weiter berichten.
servus Klaus

1 Like

Hallo Klaus

Could you tell me the process to flash the marlin firmware downloaded in the link. Did you use arduino ide? Thanks

hallo Vincentbraillard

hir der link zum Downloaden.(Danke Jeffeb3 zum bereitstellen der Datei)
Mann benötigt aber ein Github-Konto um den link zu öffnen.

servus Klaus

1 Like

@ jeffeb3

hab versucht deinen Kodeumwandler zu verwenden, war aber Erfolglos.
war auf der Plattform nicht berechtigt etwas zu ändern.
hab dann deinen Code in meinen Account kopiert.
link
Bekomme immer eine Fehlermeldung.

danke
klaus

It is trying to open a file “sandify.thr”. In the top, you can add a file by trying to add a new tab. Just upload a file named sandify.thr and try running it again.

Ich bekomme diese Fehlermeldung:

Datei “main.py”, Zeile 24, in
(theta, rho) = parts [0] .split ()
ValueError: Zu viele Werte zum Entpacken (erwartet 2)

danke Klaus

Aha. To get the .thr file, you need to use sandify and export it as a .thr file.

This looks like it is a gcode export, but with a .thr extension.

Guten Tag

Habe grade nochmal eine thr Datei von Sandify exportiert.
Leider ohne Erfolg bei der umrechnung in SCARA Datei (transformed.gcode)
Habe immernoch die gleiche Fehlermeldung

servus
klaus

The repl.it program just reads the file that is also in that workspace called “sandify.thr”. In the workspace you shared, this is what I see in that file:

;  Created by Sandify
;  https://sandify.org
...
; File name: 'sandify'
;

G01 X210.247 Y171.338
G01 X208.400 Y174.891
G01 X208.000 Y179.875
G01 X207.744 Y184.868
G01 X207.631 Y189.867
G01 X207.658 Y194.867
G01 X207.825 Y199.864
G01 X208.129 Y204.855
G01 X208.570 Y209.835

It should look like this:

#  Created by Sandify
#  https://sandify.org
# File name: 'sunburst 11'
#

2.76472 1.00000
2.76472 0.99743
2.76365 0.98950
2.76256 0.98157
2.76146 0.97365
2.76034 0.96572
2.75919 0.95780

In Sandify, click “Export” and then in “Export As”, choose “Theta Rho (.thr)”.

Download that file as a .thr and then in the repl.it, replace the “sandify.thr” file with the one you downloaded. Then run the script and download the transformed.gcode and it should have gcode in it.

@Breslauklaus Hello klaus. Thanks for the link but I had it already. My question was how did you do to flash the firmware to your arduino mega? Did you use arduino IDE?

@jeffeb3 if marlin Firmware can itself read Gcode file and control a scara, why we should use .thr file?

Imagine a square with these coordinates:

100,100
-100,100
-100,-100
100,-100
100,100

Those are straight line in cartesian, but they are not in polar. Converting each point into polar would be this (angle, radius):

pi/4, 141
3pi/4, 141
5pi/4, 141
7pi/4, 141
pi/4, 141

There are two things wrong with that. 1. Those need to be straight lines in xy. 2. We shouldn’t “unwind” from 7pi/4 to pi/4. We should go to 9pi/4. Sandify does those fixes when exporting in thr. The script takes the thr coordinates and then computes two angles for a scara machine. That file can be used by Marlin that does not know it is a scara.

If you are using marlin scara, then maybe you don’t need the thr file or conversion script. But I have not tried it. The firmware I recommended Klaus is not marlin-scara. It just thinks it is an XY machine, but the magic is in the input gcode.

I don’t know which firmware you are using. But new Marlin does not compile right away in arduino in windows. The V1 MarlinBuilder releases have fixed this for now by deleting some unused files. But if you are using marlin from somewhere else, you may need to use platformio in vscode. It is not much more complicated than the arduino ide.

There are also instructions for flashing in arduino

@Breslauklaus, did you get the script to work?