Dan
Forum Replies Created
-
AuthorPosts
-
DanKeymaster
The speed is already pretty close to maximum.
See, the AMS1 uses a shift register and two L293D chips. What that means is if you want to make a single step you have to digitalWrite() at least 16 times, plus if() tests. FOR ONE STEP.
The AMS2 uses i2c, which is arguably worse for single steps. A whole library of code has to run to package a message and deliver it to the right shield address, which is then unpacked and processed by the AMS2 board.
Now you might be asking “why not step more than once?” Great question. First, it makes no difference for the AMS1. Second, IF the AMS2 shield could guarantee that both motors finish their moves at the same time THEN that would work. In testing they do NOT make this guarantee and I have found no way to make it happen in the code. So multi-stepping will not make straight lines on the AMS2.
Long story short the AMS1 and AMS2 are already at their maximum. That’s why the Makelangelo 3 & 5 uses a much faster board that can drive many motors – when you get all that you can out of the project you can recycle the board to make a 3D printer, meaning less parts go to waste. A bit more expensive at the start but it saves you money and helps the planet in the long run, I hope. If you get a MEGA + RAMPS board it will cost you the same as our RUMBA board.
Does that help?
DanKeymasterAaah… actually, you can re-load the image file and it will take the new values. if you create gcode A, change settings, and then create gcode B for the same image with the same settings, A != B and A will be unchanged.
If you can think of a good way to make this more obvious, let me know. I will add it to the program so nobody else trips over my less-than-perfect code.
DanKeymasterAdafruit Motor Shield 2 is not officially supported. I can’t think of any reason off the top of my head why it wouldn’t work.
Do you get any jog at all? Can you raise/lower the servo?
DanKeymasterYou must save to the gcode (.ngc) format. Does that help?
DanKeymasterDoes it lift/lower at all while drawing?
DanKeymasterOh and you don’t need the USB cable if you are printing from the SD card.
DanKeymasterBoth the 3 and the 5 can print from the SD card.
Generate your file in the software,
click the save button,
save to your SD card,
put it in the robot
click and twist the dial to select “print from file” (wording may have since changed)
twist and click again to select the file you want.drawing will start IMMEDIATELY, so have the pen ready before you do the last step.
DanKeymasteryou have two copies of the AFMotorDrawbot library on your computer, and arduino can’t tell which one to use.
DanKeymastervoronoi zigzag could definitely do this. big zigzag might also work, tho I suspect it’s voronoi that’s been used.
DanKeymasterDid you DIY this machine? If you used 200 step-per-turn motors and the firmware is set to 400 (or you don’t have microstepping turned on) then the motors will turn a LOT more then expected. For example, Marginally Clever Makelangelos use 400 step per turn motors at 1/16 microstepping, or 6400 steps per turn total. If you use regular 200 step motors with no microstepping, that’s THIRTY TWO times more than expected.
DanKeymasterWhat do you mean, “doesn’t remember the home position”?
Did “find home” work?
For the cable thing, try a different USB cable. Also check that your computer isn’t going to sleep in the middle of a drawing.
DanKeymasterSounds like the USB connection is failing. On a Makelangelo 5 you can run from an SD card, avoiding this problem (and probably drawing more smoothly).
In the software generate your gcode, then save as to your SD card, which goes in the slot on the left side of the LCD panel. It’s the same spot as the box that had the belts and weights when you received your M5.
Once the card with the file is inserted, click the dial to bring up the menu, twist to “find home” and click. now repeat those steps but goto “start from file” (iirc?) and then twist down to your chosen SD card file and click again. the drawing will start immediately, so have your pen ready before you click.
Does that help?
DanKeymasterChanging the baud rate would get rid of any garbled symbols you see and replace them with meaningful text. Do you get even garbled symbols?
Do you see any lights on the arduino? Maybe it doesn’t have power.
DanKeymasterTry this and let me know what you get:
– install & run arduino app.
– tools > port > your robot port
– open serial connection window (magnifying glass top right)
– set baud (bottom right) to 57600
– also bottom right set “newline”Do you see the hello world message?
DanKeymasterTry 2x clicking the Makelangelo.jar file. On most computers it should just work.
Some rare cases need the start.bat file.2016-12-12 at 08:55 in reply to: Can't open the .dxf file in Adobe Illustrator, not enough memory (RAM) error. #11906DanKeymasterTry generating a simpler pattern first and loading that DXF into illustrator. Then we’ll know if DXF file format is broken or if your computer is low on ram.
DanKeymasterTry saving your gcode to the SD card and running from there. If that works then I suspect the USB cable.
DanKeymasterGreat question!
The pen diameter is used by most converters. For example, the scanline converter uses the diameter to adjust how far apart the horizontal lines will be. too far and there will be gaps. Too close and the lines will overlap. Each converter is different so each uses the diameter in a different way. Experiment with it and see what you get!
DanKeymasterabout 1.5 times around the pen, on the grey part of the sharpie, just below where the cap ends.
Try a lower acceleration or a lower drawing speed. I’m looking into some kind of “automatically slower when the pen is at the bottom of a drawing”. The question is… how much slower?
DanKeymasteryou’ll have to convert the image the way you used to and then save the gcode (.ngc file) to the SD card.
We’ve had suction cup models stay up for 6 months here on a window, exposed to the elements and various temperature changes. I’m glad the string worked for you! You may also want to drill a hole and screw it onto the board permanently.
DanKeymasterWhat are you trying to do?
DanKeymasterYou’re losing steps, or the string is slipping on the pulley. We switched to belts with teeth to eliminate the problem.
So many subtle design choices…
DanKeymasterIn that case I’d say the software is working correctly and you’re hitting the top speed of the M2, which was always pretty low. One of the big reasons we moved to the M3 controller was the much higher speed.
The Adafruit shield does not have a way to step motor A N steps and motor B M steps simultaneously so that they finish at the same time. The Arduino has to do the timing work, which means it has to send every step command to the Adafruit shield one at a time. This is bad because the Adafruit shield talks to the Arduino through i2c, so every step isn’t just “step now”, it’s “board [address, step now.” and every board has to say “is this message for me? Oh, now listen to what it says. now do that.” much much slower.
DanKeymaster6mm wide belt.
what is the distance between belt teeth? for example, if the belt it GT2 then it’s 2mm per tooth.
how many teeth are on the pulley? the pulleys we get have 20.
20 teeth * 2mm per tooth = 40mm circumference.
40mm circumference / pi = ~12.7323954mm diameter.
DanKeymasterI noticed in the last version that the limit test was going to the top center of paper, then the four corners, then directly home instead of finishing the top edge of the paper. now it finishes the top edge.
Does this help identify the problem at all?
https://github.com/MarginallyClever/PolargraphDifference
-
AuthorPosts
