What is XY-Plotter's precision? Can I draw vectors/CAD files?


#1

Hello hello,

I am new to this world, sorry if I asking stupid questions.

1) How precise and sharp is the plotter? Anybody has closeups videos or photos?

2) And I don’t understand what kind of files it can read? Is it like a CAD file?
I want to draw from one of those apps : Illustrator, Sketchup or Autocad. Is it possible?
My idea is to reproduce my 3D Sketchup projects in pencil line drawing.

3) And finally how hard would it to make the flatbed bigger?

Take care,
G


#2

Hi,
I’m just putting together my own version of the X/Y kit. I’m making a custom version, but you could probably go far with the basic set as well.

The precision is quite solid. I would say that since the stepper drivers can do microstepping, you should be able to achieve 1/16th of a millimeter (0.04 inch) & maybe even less than that as well. There’s however many reasons why you might not achieve this, such as slack in belts and inacuracies when building. Getting the default set to be exactly square can be somewhat tricky, so that’s why I’m doing it differently.

Makeblock provides source code for you to upload to the Arduino-based controller that will move the motors (https://github.com/Makeblock-official/Makeblock_XY_Plotter). Since the source code is open, you are free to modify it. The same goes for the Android application (https://github.com/Makeblock-official/Makeblock_XY_Plotter/tree/master/Android%20App%20Source). Together, these two make up a working tool, but this is not really the plotter you would buy unless you want to get your hands dirty with a little programming :wink:


#3

Hi, Gregol, I got some pictures of XY-Plotter. And, as jenschr said, the technical precision is well but it’s difficult to acheive that. There are too much influence factors in assembling progress.


#4

Hi Johnny,
Thanks for your reply. Nice pictures, but I was really interested about pictures of drawings made with the machine :smiley: to see how precise the final result is.


#5

Hi Jenschr,
Thanks for your reply. I just found out about this post concerning GCode : XY-Plotter Using GCode Interpreter.
As I am a total newbie, I am still trying to understand the process (especially with OSX). For example, if I have an .EPS or .DXF (2D) file, what’s the step by step path to end up on the paper with the XY-Plotter?


#6

hi, Gregol_Gratis

@indream drew this penguin last month. I think the precision is nice :smile:


#7

Hi Johnny,
Would it be possible for me to do line drawing? Like this Mutoh plotter test.
Its an old test I tried on a Mutoh pen plotter (the machine died since :’( )


#8

I’m sorry for your plotter. However, I think the XY-Plotter is capable to do line drawing :slight_smile:


#9

The path would be to:

  1. Open the file to G-code using a program like Inkscape (http://www.inkscape.org) and make sure it looks like you want
  2. Export as G-code
  3. Stream the G-code file (line by line) to the printer.

G-code is a language that describes the coordinates for the motors to move to. It was originally made for CNC machines, but is used for 3D printers, laser cutters and pretty much anything that can move precisely with motors.

I actually had not seen the post you linked to here. Very interesting! I’ll have a closer look at that tonight.

For now I’ve taken the slightly different path by installing the GRBL software (http://bengler.no/grbl) on my machine. It’s quite advanced in that it has a planner software that not only moves the motors, but also intelligently handles accelerating/decelerating when drawing paths.


#10

Nice nice. Thanks for your fast replies. Ok I am jumping in. I will order a XY-plotter today.
And I will also get a polargraph later when again available!

Seen you soon,
G


#11

I have just put together the xy plotter. This is my first Arduino project, but I think/hope I am picking up on it fast. Once I got everything working (had to resolder a bad pin bar below Ports 3 and 4) I started fussing with the gcode interpreter that makeblock offers. I could not get the file sending mode to work at all. I downloaded the Universal GCode Sender, which also let me send individual commands but not files because it was expecting GRBL firmware (much better response and error handling than the MakeBlock app). I started then to build my own gcode sender in python, which was fine and worked, but then became frustrated with the Z-axis timing issues that make the pen-up pen-down commands happen out of sync with X and Y movement commands when multiple commands are sent (as in a file). So now I have flashed the GRBL firmware onto my Arduino board. I found @jenschr had recommended settings for the GRBL on his blog: http://flashgamer.com/arduino/comments/x-y-robot-with-makeblock-part-4

It seems, however, that GRBL is expecting different pin locations for the stepper motors than the Me Base Shield. I am wondering if others have already solved this problem. Did you create a new pin map in config.h for GRBL and recompile? Did you rewire the connections from the stepper motors to match GRBL’s Arduino UNO pin map? Did you not use the Me Base Shield? I have googled to see if this kind of advice was already out there, but could not find anything specific to GRBL and the Me Base Shield. I did find general advice saying that it’s better to rewire than to work off of a custom compiled GRBL configuration. Any advice would be greatly appreciated! I am having a great time learning how to get this all set up.


#12

Hi,
I’d say that “it’s better to rewire than to work off of a custom compiled GRBL configuration” <- if you don’t know how to work with software & Arduino’s. I simply edited the config file, but some may of course find that to be difficult.

Regarding the Makeblock gcode sender - it’s not very advanced, but if you don’t send a whole file at once, it will generally work. The problem is that they are just sending all the instructions instead of feeding them as the machine ok’s them. I think @indream is aware of the issue.

I’m currently making a new 3D printer based on Makeblock, but I’ll be back to work on the drawing robot once I’m finished. I’ll be sure to post any findings that may be relevant to others.


#13

Thanks for the response @jenschr.

Yes, the Makeblock gcode sender worked fine for sending single commands (though it didnt display responses correctly – only cut off pieces), but I need to send large files. In the gcode sender I was writing in python, I could not find any way to read the ‘ok’ responses from the Arduino when it was using the Makeblock firmware, so maybe I will go back to looking for how to do that. Though it seems that there are many other reasons to prefer the GRBL firmware, supporting the limit switches being one of them.

I would like to think I am much more comfortable programming than rewiring (which was just confirmed by me spending the afternoon trying to rewire to no avail). The problem I’m running into is that neither rewiring or reconfiguring GRBL seems possible on its own (or at least not obvious to me) with the Me Base Shield. The default UNO pin map (which I would try to keep if I rewired) requires pins D2-D7 to be available for the three directional signals and three step pulse signals. The Me Base Shield uses D4-D7 for the M1 and M2 DC motor controls, which with my limited knowledge I can’t figure a work around for. If I try to change the configuration file for the pin map, I run into the problem that GRBL requires all the direction and pulse signals to be on the same Port. D8-14 are available, so I guess I could change that AND rewire, but then I would be using the RJ25 ports in such a silly way that the Base Shield starts to seem more like a hindrance than a convenience. How did you make the changes only in the config? Could you share your pin map here or on the blog? Or did you change more than just the pin map?

If I got rid of the Base Shield in order to access the Digital pins directly, how do you handle the 12V needed for the two stepper Drivers and what do you do about the Z solenoid (from the pictures on your blog it looks like maybe you never used the solenoid at all??)? I found a diagram on the wiki (http://wiki.makeblock.cc/index.php/Me_2H_Microstep_Driver) that shows that it is possible to wire the Driver directly to the Arduino board without the Base Shield, with the DC+ and DC- going into the Vin and Gnd pins, but I could not get it to work, and figured it was probably because the 12V was not available.

Apologies for all the questions, I am truly a newbie.


#14

hi,@jenschr,I found the GRemote is a nice GCode Sender based on Processing, and i added some function for setting pins.


#15

@cheepychappy The reason is of course that I’m not using the Makeblock shield at all. For now I’ve just used an Arduino Nano that I had in a drawer, but my plan is to eventually use a https://www.spark.io so that I can control it via a mobile device of some sort. As you can see, I’m using the ME 2H microstep drivers rather than the baseboard. My intent is to build it as a drawing bot, but that I can modify it to have other “tools” (PCB milling, chocolate printing & other fun).

Here’s how my connections look at the moment, though many are not hooked up at all due to rebuilds and moving it about:

I use two steppers on the Y-axis, one on the X & one for lifting the tool using a 1:9 gear.

@indream looks good! I’ll test that once I’m back on this project


#17

hi @jenschr, how is your project going now?


#18