Rolling Plotter build

Will have to see how repeatable accuracy it has this time around. The previous design was not accurate enough for a laser unless you modified it to something like @dkj4linux did.

I got all the parts working yesterday & will do a test plot today. It was a bit of a struggle getting the newest klipper firmware to work. The author had turned off a couple of settings (They seemed to be redundant settings anyway) I had in my config file & changed the naming of the pins. I started to just add the alias info into bottom of printer.cfg file from the info on this page klipper/sample-aliases.cfg at master · Klipper3d/klipper · GitHub , but then just copied the pin info from a more updated example file. Eventually I hope to just use the DLC32 board and make this an even simpler setup.

When I first tested the movement, the motors just made a noise & did not move. Thought it might be the motor wires being in wrong pins as I had seen that before (and it did turn out to be that), but wasn’t sure I had the firmware correct, so I went back to my known good configuration from 2 years ago. That was a good idea since I didn’t have a copy of the old config.yaml file for octoprint and macros I had used. I do wish I had an 8GB microSD card for this instead of the 16GB card as it would taken half the time to restore it. These Industrial grade sandisk MicroSD Class 10 cards look like they might be worth having. https://www.amazon.com/SanDisk-Industrial-MicroSD-SDSDQAF3-008G-I-Adapter/dp/B07BZ5SY18 I swapped the motor wires for some others I had & they did work. I really need to try & move those wires to the correct pins, so I don’t do that again.

I am using a little RAVPower 6700mAH External battery to power the Pi 3B+ 5V supply & new version of octoprint gave a warning of underrated power. the charger has a 2.4A usb connector, but wonder if the cable connected is not rated that high? Anyway it works, but might be throttling the CPU a little. Interesting enough today, I am not getting that warning. The step down PS I bumped up the voltage from 12.00v to 12.07v as I saw the voltage slipping below 12v. I remembered that my 3d printer PS was set to something like 12.06v. I really like this portable PS idea that I found a couple of years ago. I will have to create a different power cable to use with the DLC32 board.

If I used this setup outside my WiFi network, I would probably use the V1Pi that @jeffeb3 created Dip a toe in the pi, V1Pi. | V1 Engineering Inc or take a shot at this tutorial. Create a Wi-Fi hotspot in less than 10 minutes with Pi Raspberry! – Howto Raspberry Pi
Here is a photo of it all together except for servo not hooked up.

4 Likes

First dry run seems to have the same problem as previous design in that the wheels on each side do not end in the same place at end of print. I wonder if one double shafted Nema17 motor on one side with a 8mm smooth rod between both sides or use a double shafted motor on each set of wheels with a rod connected between them? Another option would be to put the motors on the outside so the shafts could be linked together, but that would involve redesigning the wheel plates and size of belts. For drawing chalk patterns on the sidewalk it is probably close enough, but would like for it to be somewhat accurate. Any thoughts on this?

Steppers should get that right, every time.

How far off over what distance?
If you returned to home do they line back up?

If you energize without some sort of homing they can cog into a different full step and move a bit, so maybe energize it in the air before you set it down?

They are homed to start with, but only on one side. Klipper firmware actually requires you to home before you can do anything. That is one reason, I would like to switch to some sort of GRBL or FLUIDNC setup. The drawing was only 360mm diameter flower of life design. I must be losing grip on the wheels are something like that. I could try the belts I bought also to see if they have any better grip, but the yellow TPU tires feel more grippy. I was revisiting this guy’s design Textile Drawing Machine | OpenBuilds since his seems to work well for him. I notice from his github photos, he is using a single motor driving a long shaft between the wheels. He does not give much info on building this other than photos. Here is a link to the photo of the motor for the wheels. TextileDrawingMachine/motorYAxis.jpg at master · eumorpurgo/TextileDrawingMachine · GitHub

1 Like

You may remember, Dave, when you were a participant in my rolling gantry development a couple of years ago… and the difficulties I was having then trying to eliminate the image skew I was seeing with the early “free-rolling” version of my foam-ripper gantry. Over the next 40 or so posts in that thread… you, me, Jamie, and Jeff had quite the discussion (and it was fun!) as to how/why we were seeing an incredible sensitivity to the “levelness” (or lack of) of my machine. After considerable beating of my head against the wall, I finally concluded that if you want a machine to accurately move over a worksurface, it needs to be referenced somehow to – and not independent of – that worksurface. In that case, I was able to simply re-belt my machine with LR-style belts down the edges of the worksurface to provide the “reference” and it completely eliminated the skew. It was, of course, no longer “free-wheeling”… but was now useable.

The magnitude of the skew I was seeing might be “insignificant” in large chalk drawings on a sidewalk or parking lot but I think it still might have relevance to what you are seeing, “…the wheels on each side do not end in the same place at end of print.”

I don’t want to discourage you in any way from going down that rabbit hole… I think it will be both instructive and fun. I really am interested to see what you end up doing with this but felt I should at least gently remind you of some fun discussions we had “way back when…” :wink:

– David

Man the development you have here is GREAT!!! So is it skewing because both steppers are not in sync?

If so, is there any chance to go to an axle for direct drive and single stepper??

1 Like

Thanks for the gentle reminder, I do remember that discussion & was hoping the problem would magically disappear with this different belt drive system just driving the one wheel. Not sure I want to go further down this rabbit hole or not but does look like a couple of other people have designed something similar with good results. If you take a look at the video at the end of that openbuilds link in the previous message, you will see that he is not having this sort of problem. He is using a different kind of wheel which probably have better grip. They are also larger diameter, probably 100mm or so. He is also driving both wheels with one motor. This other design shown here, CNC Sand and Spraycalk drawmaschine | OpenBuilds seems to work well. He is using a motor on both sides but has probably larger wheels than other design & spread apart more. I can’t tell how accurate his machine is but seems to work for his application. He never released much info on this, but thought I come across the DXF files for this on github awhile back, but they are not there now. Think I just need to find some better wheels. I will test this a little more outside on the driveway with some chalk. I just have to make a larger penholder for the 21mm rounded corner Crayola chalk I have.

@RockinRiley , I am not sure where the problem actually is yet. I am currently just finding all the ways that don’t work to my liking so far.

2 Likes

Any asymmetry, no matter how small, will accumulate into larger errors if you just wait long enough. Even the tiniest things that you normally wouldn’t ever think of.

As an example (not claiming this is actually happening) the belt tension on the three legs of your triangular belt path might not be equal. When driving “forward”, the bottom segment might have a bit more tension than the other two, and when driving “backward”, the upper back segment might have more tension than the other two. This would mean the length of the belt touching the ground could be very slightly longer (too small a difference to measure) when driving forward vs. driving backward, and the distance traveled will have a difference proportional to that difference.

So the question boils down to whether the job is short enough to tolerate the accumulation of the errors.

If not, maybe there is a way you can home partway through your job to restore the reference. I would consider this is in the same category of what David said about maintaining a reference, the difference being that the reference can be intermittent.

2 Likes

Thanks for that explanation. That’s sounds plausible. With this in mind, synchronizing the sides would not do me any good. The printed TPU tracks are certainly not without their print flaws. My dry test run seemed like it was even more inaccurate than the run with the O-rings which would make your reasoning make more sense, since the O-rings are more accurate a tire than the 3d printed TPU. I do have a set of HTD5 belts which do fit. I originally thought they would not fit, but I had not tightened the idler gear fully. It would be worth a real print test run to compare them. I will have to get a couple of big pieces of board paper from dollar store & try that. Probably will not be until Monday. After checking out the other 2 rolling plotter ideas, I found these wheels 100mm Scooter Wheels Replacement With Bearings Aluminum Wear-resistant Pu Stunt Scooter Parts Kick Scooter Accessories 2pcs/set - Scooter Parts & Accessories - AliExpress or 6 in. Semi-Solid Tire with Polypropylene Hub (harborfreight.com) Not sure I want to spend the extra money on testing tires yet. The harborfreight ones are less expensive, but 2 of the 4 tires would need bearings & not sure I put bearings on those. Vice versa for the aliexpress wheels. Could use 2 of each, but might be a little funky. I will sleep on it a couple of days to see any other ideas show up.

I wonder if much larger tires would help. Maybe the proportional error would be smaller.

Alternatively, maybe there is a way to just make designs where it won’t matter?

1 Like

What if you drove each side independently that way you could dial in a slightly different steps per mm to account for the difference between the two sides? Basically setting up something like the dual endstops on the MPCNC.

1 Like

Based on @jamiek explanation & looking at the 2 designs I mentioned earlier that seem to work without the problems I have, it seems the wheels are the key to the problem & solution. I do still have to compare the TPU printed tread I am currently using to the HTD5 belt. If the 15mm wide belt gives similar results to the O-rings, 25mm wide belts might be the answer. Anyone have some good inexpensive sources for wheels similar to those in the 2 designs I referenced earlier or some nice thick rubber bands? Someone had suggested rubber bands a couple of years ago, but I wasn’t willing to spend more on them at the time, but these might be a simple solution and not too expensive and also might fit without changing the design any. Amazon.com: Outus Couch Sectional Connectors Sofa Couch Straps Sofa Rubber Band for Sliding Sofa, Black (8 Pieces) : Home & Kitchen

After running the plotter on top of a green mat cutting board, it does not look as far off today. I ran it on the floor the other day. It still looks a little off, but probably not more than a 1mm or so instead of the 1" or so before. That should be close enough for chalk on the sidewalk. I have to wait for my camera battery to charge up before running a real test with both belt options. With the portable step-down PS, it is interesting to see the Amps & watts change on that LCD screeen as it is plotting.

Meanwhile, I had to calibrate the wheel axis. Kevin has changed the way klipper does the stepper info. He used to use a step distance, but now he uses microsteps & rotation_distance
I started off with microsteps: 32 which is what I used for the DRV8825 drivers and am using 20T timing pulleys.
rotation_distance: 40
I drew a line 100mm along the wheel axis & it came out to 123mm,
123/100 = 1.23 40.0 * 1.23 = 49.2
It was correct for the carriage axis. I redrew the line & it came out the correct length. Glad I did a dry run before plotting on paper since it would have run off the paper without this last correction. The microsteps did not need to change.

It runs much better with the HTD5 belts for the tire treads. After running a comparison test between the TPU & HTD5 tread, I decided to bump up the speed to 1st 3000mm/min & then 6000mm/min. I made sure Octoprint had my maximum speed at 6000. It ran just about as accurate at 6000 as it did at 1200. Only a 1-2mm off at the end. The design redraws a couple of circles near the end which shows how close it is. On one of the test runs, it just stopped & couldn’t figure out why until I looked at the PS display & it was out. I just have to make sure there is fresh battery installed before plotting from now on. One or more folks have mentioned adding some weight to it to give it more grip. I am starting to think that might be a good idea as even the pen is probably giving a little drag on the machine which seems like it could cause it to slip ever so slightly. When using chalk on concrete, that will probably create more drag. I think drag is the right word to use for this situation?

I wanted to see how close to the 6000mm/min or 100mm/sec speed speed this plot came out to, so I decided to calculate the total movement of the drawing + all the pen up moves and came up with 4315mm. Since the video showed 54 seconds for the plot, that puts it at 79.9mm/sec average speed.

Here is a video of it in action. The outside diameter of the plot is 200mm. I think if it had 25mm wide belt instead of the 15mm it would be even more accurate. I did a video of it running at 1200mm/min

10 Likes

Well Done!

Ssssweeeeetttttt! Really strange those belts are better, glad you did not give up!!!

Thanks. I think the difference is the explanation @jamiek said about the TPU belts being asymetrical. The TPU prints do have print flaws, but I didn’t think they would affect the print that much.

I have a mount for the big Crayola chalk sticks. I might look at using a pattern from @jeffeb3 sandify. Since those designs are all pen down, it will be simpler to start with.

4 Likes

Nice! I would love to see a sandify pattern on that new machine.

3 Likes

Here it is drawing a sandify pattern.

The HTD5 belts could stand to be tightened more, but do not have any more room to adjust them in current design. Maybe that could help the accuracy? Might be better to have a shorter HTD5 belt that just wrapped around the wheels with one idler adjustment pulley between the motor and the wheel that does not have the motor drive belt attached.

I switched from DRV8825 to TMC2208 drivers since the ones I had were drop-in replacements. I had to swap the cable direction & adjust the firmware to use 16 microsteps & readjust the rotation_distance into the 20 range. There is still some rattling noise in the carriage assembly.

I am ready to try chalk next. I have 1st version of chalk mount. Hopefully the chalk will not wear down too much before the end of the drawing. This probably needs a proper Z-axis to be more affective with the chalk.

10 Likes