Thanks for this video :) I just finished something very similar to this using an Arduino, CF card reader and a 'sisbot' style mechanism with the pinion in the middle and a rack slider. Mine has 5mm perspex plate with a faux leather sheet on top. I'm going to try some less powerful magnets, I also like the idea of the smaller one stacked on top as I also have not-very-smooth ball movement currently. I have a 20mm x 5mm thick N52 magnet. One other question - what do you use for the sand? I'm using 'hamster sand' which has quite a small grain size, but I feel I could go smaller....
I brought fine (0.1mm) decoration sand on ebay. It works fine but attracts some moisture after a year or so. Then the sands gets a bit clumpy. I will try some Hamster / Chinchillasand when my sand is worn out. Finding the right sand is not easy. I brought at least three different types of sand until I found the one I'm using now. I remember a test with a slightly larger grain size that also looked amazing and a bit more nature like. But that was before the current setup, so I can't tell anything about the impact on the movement of the ball. But to large gains lead to improper movement. Finding the right combination of materials requires a lot of try and error. My experiments with a plastic plate were terrible but 3mm multiplex wood worked surprisingly well when fixated to the frame. I'm not so familiar with perspex, but I can imagine that it should work well, even if 5 mm sounds a bit thick. Keep me updated when you found a good combination. Should I ever rebuild my table. eg. when its worn out completely. I would also go for a pinon in the middle approach. On the second thought the additional effort is not that big. What are your experiences with noise and what stepper update rate have you chosen? Congratulations on getting all this running on an Arduino!!!
@@abmt Thanks for the detailed feedback, it's appreciated! Comments on your comments: My initial thoughts were the Arduino Nano wouldn't be fast enough, but actually it's fine. The code is using about 50% of memory only, and wasn't super complex to write (I'm no expert!). Most of the heavy lifting is done by reading a THR file line by line from an SD card. It's interesting that most examples I find on YT are using linear sliders or even x/y solutions on a round table. I think the sysbot approach is actually much simpler, and the conversion of theta/rho into actual servo steps is fairly trivial. I guess I'm lucky though because I have a small CNC router to make the parts. They could likely be 3D printed too though. The hamster sand is somewhat larger than 0.1mm I think - I'm going to try something finer to compare.I had to sieve out some larger pieces! I'm going to order some magnets to try and improve the movement. I use some velcro (the 'loop' side not the 'hook' side) stuck to the magnet, which slides silently on the perspex. PTFE would also work - I have some I used to make the 'slider' in the mechanism (the whole mechanism CNC cut from 8mm perspex and 2mm PTFE, the only stock items are the theta stepper drive pulley and the 2mm toothed drivebelt) Re noise I have TMC2208 drivers which are relatively silent. Running the steppers (longer step duration) slower obviously helps. I have two sizes of NEMA17 motor - I found the smaller ones underpowered but they might be okay when I have revisited the magnet arrangement. I didn't find using smaller microstepping made much difference. Overall it's relatively quiet but could probably be improved. Tweaking the motor current on the stepper drivers also affects the sounds levels.The 10mm tabletop glass on top does a lot to quieten the sound of the moving sand. My overall specs are: - diameter 600mm (to match 600mm glass top), working area about 530mm diameter - 6:1 ratio on theta stepper drive pulley-> main gear - 4800 steps/rev on theta, 3600 steps per radius movement (0 -> about 265mm) using 1/4 microstepping and normal 200 steps per rev motors - Arduino nano and 2xTMC2208 drivers for Theta and Rho motors. I also have a separate nano for addressable RGB LED strip around the perimeter, plan is to control this from the 'main' processor using I2C commands - 20 x 5mm N52 magnet (too powerful!) and 3/8" ball bearing. Hamster/rodent sand - hall effect homing sensor with interrupt on the theta movement, TBH this isn't essential since as it's round the home position isn't critical. Anyway it ensures the same position every time - rho homing is dong by overshooting and stalling the movement on startup (moving by 3800 steps) The 'syphius' style motion for the rack-pinion solution is fairly easy to code - for each 'line' of movement it's just a case of offsetting the theta movement from the rho movement in my case this means subtracting 1/6 of the motor steps because of the gearing between the stepper and the main drive pulley Will post a video on my channel when I'm happier with it! I'll also show the insides.
Thanks for this video :) I just finished something very similar to this using an Arduino, CF card reader and a 'sisbot' style mechanism with the pinion in the middle and a rack slider. Mine has 5mm perspex plate with a faux leather sheet on top. I'm going to try some less powerful magnets, I also like the idea of the smaller one stacked on top as I also have not-very-smooth ball movement currently. I have a 20mm x 5mm thick N52 magnet.
One other question - what do you use for the sand? I'm using 'hamster sand' which has quite a small grain size, but I feel I could go smaller....
I brought fine (0.1mm) decoration sand on ebay. It works fine but attracts some moisture after a year or so. Then the sands gets a bit clumpy. I will try some Hamster / Chinchillasand when my sand is worn out. Finding the right sand is not easy. I brought at least three different types of sand until I found the one I'm using now. I remember a test with a slightly larger grain size that also looked amazing and a bit more nature like. But that was before the current setup, so I can't tell anything about the impact on the movement of the ball. But to large gains lead to improper movement.
Finding the right combination of materials requires a lot of try and error. My experiments with a plastic plate were terrible but 3mm multiplex wood worked surprisingly well when fixated to the frame. I'm not so familiar with perspex, but I can imagine that it should work well, even if 5 mm sounds a bit thick. Keep me updated when you found a good combination.
Should I ever rebuild my table. eg. when its worn out completely. I would also go for a pinon in the middle approach. On the second thought the additional effort is not that big.
What are your experiences with noise and what stepper update rate have you chosen? Congratulations on getting all this running on an Arduino!!!
@@abmt Thanks for the detailed feedback, it's appreciated! Comments on your comments:
My initial thoughts were the Arduino Nano wouldn't be fast enough, but actually it's fine. The code is using about 50% of memory only, and wasn't super complex to write (I'm no expert!). Most of the heavy lifting is done by reading a THR file line by line from an SD card. It's interesting that most examples I find on YT are using linear sliders or even x/y solutions on a round table. I think the sysbot approach is actually much simpler, and the conversion of theta/rho into actual servo steps is fairly trivial. I guess I'm lucky though because I have a small CNC router to make the parts. They could likely be 3D printed too though.
The hamster sand is somewhat larger than 0.1mm I think - I'm going to try something finer to compare.I had to sieve out some larger pieces!
I'm going to order some magnets to try and improve the movement. I use some velcro (the 'loop' side not the 'hook' side) stuck to the magnet, which slides silently on the perspex. PTFE would also work - I have some I used to make the 'slider' in the mechanism (the whole mechanism CNC cut from 8mm perspex and 2mm PTFE, the only stock items are the theta stepper drive pulley and the 2mm toothed drivebelt)
Re noise I have TMC2208 drivers which are relatively silent. Running the steppers (longer step duration) slower obviously helps. I have two sizes of NEMA17 motor - I found the smaller ones underpowered but they might be okay when I have revisited the magnet arrangement. I didn't find using smaller microstepping made much difference. Overall it's relatively quiet but could probably be improved. Tweaking the motor current on the stepper drivers also affects the sounds levels.The 10mm tabletop glass on top does a lot to quieten the sound of the moving sand.
My overall specs are:
- diameter 600mm (to match 600mm glass top), working area about 530mm diameter
- 6:1 ratio on theta stepper drive pulley-> main gear
- 4800 steps/rev on theta, 3600 steps per radius movement (0 -> about 265mm) using 1/4 microstepping and normal 200 steps per rev motors
- Arduino nano and 2xTMC2208 drivers for Theta and Rho motors. I also have a separate nano for addressable RGB LED strip around the perimeter, plan is to control this from the 'main' processor using I2C commands
- 20 x 5mm N52 magnet (too powerful!) and 3/8" ball bearing. Hamster/rodent sand
- hall effect homing sensor with interrupt on the theta movement, TBH this isn't essential since as it's round the home position isn't critical. Anyway it ensures the same position every time
- rho homing is dong by overshooting and stalling the movement on startup (moving by 3800 steps)
The 'syphius' style motion for the rack-pinion solution is fairly easy to code - for each 'line' of movement it's just a case of offsetting the theta movement from the rho movement in my case this means subtracting 1/6 of the motor steps because of the gearing between the stepper and the main drive pulley
Will post a video on my channel when I'm happier with it! I'll also show the insides.
Can you teach me this work?