The simplest machine has always been the simple three wheel machine. However there was a little bit of slipping on the drive roller. If used in repeat motion mode this could be a problem as the slip accumulated. The addition of another soft urethane idler wheel in alignment with the drive roller, eliminates slippage almost entirely. For a more compact machine the other guide rollers could be place opposite each other, although greater spacing is preferable if you can allow for it. So now you can make the simplest machine and it will be just as good as the more complicated versions.
Subscribe to Blog via Email
Archive of All Posts
- DIY kit Progress
- This is Really Cool Shagmatic follows music
- New Control Board Update
- New Slip Free Design
- Shagmatic goes WiFi
- Tentative Parts List Available
- Timing Belt Machine Improvement and Pictures
- Industrial Strength fucking machine (no stopping us now)
- New Mounting System for Shagmatic Fucking Machine
- New Board in the Works
- Mike on New Slip Free Design
- Justin on New Slip Free Design
- Bill on New Slip Free Design
- entrecanivales11 on About My Fucking Machine The best DIY fucking machine, Build it yourself and see how good it is.
- Graysass on Fucking Machine Fantasies
So I managed to build a working machine using an ESP32 and the sketch provided on Github. I’m having an issue with speed. At a moderate stroke (~4 in) and max speed (using the HTML control interface) the result is too slow, especially compared the demo video. I tried adjusting the speed table in the sketch, but that only caused it to “top out” at lower speed percentages. I’m just dipping my toes into arduino coding, so I may be missing something. Any thoughts on what needs to be done to increase the maximum speed? Background: I went with the roller wheel design and incorporated that second urethane idler wheel (I can confirm it’s great at preventing slip!). I used the KL34H260-60-4A Stepper, AS-2222 transformer, and Gecko G203V driver from the 2016 parts list.
I found the same thing. The WebServer call in the loop is blocking the stepper motor. I rewrote it with ESPAsynchWebserver and it runs a lot better for me.
See if this link works for you. This is written in PlatformIO.
Some things I’ve learned about steppers and speed…
Speed = voltage. More volts means the current gets delivered faster. Don’t go under 48v with NEMA34, 60v is typical. The voltage rating of the motor is completely irrelevant to what you supply the driver. The driver’s job is to figure out what to send to the motor.
Re-iterating the blocking call you already addressed – the loop code (and everything called by the loop) needs to be as lean as possible. Every bit of code it needs to process before it starts the loop again. The stepper only moves when run() is called. There’s no rule to only call run() once per loop – if the loop is slowing things down, you can sprinkle run() calls as needed. The safe string loopTimer.check(Serial) will print the average time it take a loop to execute every 5 seconds to serial. It’s a great tool to help optimize.
There’s been a lot of improvements to stepper libraries over the past few years. There ESP Stepper libraries like flexystepper that can start as a service to be independent of loop.
Keep microstepping as small as possible, it has no benefit in fuck machines. It just increases the number of pulses the esp has to send to get the same distance. My hole certainly can’t tell the difference between 0.001mm and 0.1mm accuracy 😛
The shagmatic, and creator, are f’ing rock stars in this field. Commercial machines still haven’t gotten close to where this machine was 10 years ago. Truly innovative!