Zarplotter 4-motor drawing machine
Shop › Forum › Everything Else › Zarplotter 4-motor drawing machine
- This topic has 114 replies, 14 voices, and was last updated 4 years ago by cpcoe.
2018-10-25 at 10:12 #20999
in zarplotter.ino there should be a method called IK(). it takes the cartesian coordinates and converts them to motor steps (aka belt lengths).
Acceleration is trapezoidal and is calculated in motor.ino. You can adjust acceleration within a G command by adding an A value. M114 will tell you the current A.
Keep me posted on your development, please!2019-01-21 at 11:03 #21657monkmartinezParticipant
I am very interested in building the Zarplotter. However, I have a few questions…
1. Are there instructions on the assembly of what is currently working included in the BOM purchase?
2. How much, roughly, will it cost to build assuming I have a 3d printer but none of the electronics or hardware (nuts, bolts)
3. Plans for future development?2019-01-21 at 11:36 #21658
1. No. I know a few people have built one. Perhaps this is an opportunity to make a kick-ass youtube video 🙂
2. 4 steppers + arduino + motor shield + some nuts and bolts + 4m? timing belt + blue servo + a board + sharpie + a power supply. That’s the minimum. Your price varies with availability and shipping.
3. I don’t currently have plans myself as I am busy with another robot. A future idea would be springs between the belt and the plotter head to allow a bit of flex; better way of holding the belt against the pulleys; and some way to drop off one pen and pick up another of a different color (automatic pen changer).2019-01-21 at 15:12 #21665monkmartinezParticipant
Fair enough and thank you for the response!
I am actually printing the parts for the MPCNC as we speak. I was hoping for an intermediate project before I jumped in with both feet on the CNC with RAMBO board and all that. This looks like a good candidate but I am torn between this, a SCARA, or one of the AxiDraw knockoffs… or something with a bit more documentation so I can learn that parts that I simply don’t know.2019-01-22 at 00:29 #21666
In another thread we’re looking at building the makelangelo 6 from some very inexpensive components. would work for zarplotter, too. join us?2019-03-13 at 01:22 #22125
Hello Dan. I am following you project. I already have the list of materials. Could you tell me . where I can find a diagram that explain the connections of zarploter?
Thanks2019-03-13 at 01:23 #22126
Hello @dan. I am following you project. I already have the list of materials. Could you tell me . where I can find a diagram that explain the connections of zarploter?
Thanks2019-03-13 at 09:51 #22129
Do you mean the physical assembly or the electrical wiring?
The motors are X=top left, Y=top right, Z=bottom left, E0=bottom right.2019-03-13 at 11:00 #22132
Thanks Dan. But could you tell me if you have a cable digram of the motors to the drivers?. are the motors switch ? I mena the motors are reverse?
could you send or post a picture of your motors connections on one of your cable bots?
Thanks Dan2019-03-13 at 12:31 #22133
As I recall they should all be the same, with the red wire on the left.2019-03-17 at 08:49 #22155
Hello @dan. Do you know if the zarploter can be rectangular. or the motor have to be in a square localization2019-03-17 at 16:08 #22156
Yes, it can. Last time I checked it can also be run through the Makelangelo software, so you should be able to set width and height (in mm) in the Settings button.2019-04-12 at 19:09 #22984
I am building a machine with Zarplotter attributes, however, instead of a flat surface the end effector is suspended by 4 upper cables. I currently have a 1×1 meter prototype built and am working on the hardware and electronics: 8 nema 17’s (12v, 1.7A), Arduino mega with 4 stacked shields (ams 2.3). I had this assembled before discovering the Makeleangelo and Zarplotter and I’m thinking the Zarplotter firmware might be a close fit for the project. Although I’m fairly robot illiterate I am learning and could use some advice. Is this the appropriate way to engage regarding Zarplotter setup and execution/ modification? should I begin a new thread? please advise,
-CC2019-04-12 at 22:44 #22989
I like you, you’ve been raised to use your brain and your manners. 🙂
Four motors in the air? That’s a skycam/Spider cam. Different thread, same subforum. The first version I built was with two arduinos and two AMS shields.2019-04-13 at 08:26 #22990
to be clear, this is an eight cable robot but for simplicity the upper cables will only act with counter weights whilst the lower four will be actively controlled for positioning and traction. in this way the machine will act just like a Zarplotter but it will be kept on plane through passive suspension. the idea is to keep the math simpler and reduce complexity/cost by reducing the number of controllers and drivers. if this still belongs in the skycam section I will happily move!
I’m confused when I begin to configure the firmware. I have currently two questions about the process:
1. basic coding question: when adjusting the commands in “configure.h” do I manually insert “//” before every line that does no apply? for example, would I preclude the list items below that are not zarplotter with a //?
2. the micro controller list, no Arduino mega there. but later in “// COMMUNICATION & BUFFERING” Arduino is specifically referenced. am I misunderstanding what a microcontroller is? can I use the hardware I have listed previously to complete this project?
sorry if these are no-brain questions, but there will be many more if you let me! I really appreciate your time 🙂2019-04-21 at 11:49 #23057
1. In configure.h is a line that says
#define MACHINE_STYLE POLARGRAPH // Change this
Make it say
#define MACHINE_STYLE ZARPLOTTER // Change this
2. Same goes for
#define MOTHERBOARD BOARD_RUMBA // change this
Make it say
#define MOTHERBOARD BOARD_RAMPS // change this
hm. Maye I should change that to say MEGA_W_RAMPS…2019-04-22 at 06:26 #23065
1. good, I’ve done that part (changing the machine style) its clearly described in the supporting text (thank you!). I guess I’m curious about turning off other items and lists. I want to make sure that the program is ignoring the appropriate lines. for instance the section about LCD screen: should I preclude these lines with a ‘//’ if I don’t have an LCD?
2.OK, thx, i see now that the RAMPS selection includes the MEGA by definition. does this mean that my stacked AMS V2.3 shields are not supported?2019-04-22 at 11:10 #23068
1. line 54:
#define HAS_LCD // if you have an LCD panel
#define HAS_SD // if you have SD card support on your LCD panel (must be on panel?)
2. Correct. Adafruit motor shields are not supported. The delay between each step was unacceptably long. painfully slow drawings.2019-04-22 at 17:33 #23072
thanks for your patience, how does one go about editing in a motor shield? maybe you could point me towards a tutorial or example? for my purposes the AMS speed is not an issue, and also the RAMPS board doesn’t seem to support enough (8) stepper motors.
if not, can you suggest a platform that drives 8 motors and also is supported by the firmware?2019-05-06 at 07:38 #23203
I’ve taken your unspoken advice and abandoned the AM Shields in favor of a RAMPS board. this is now installed and powered up without smoking. I think have navigated the configure.h correctly and included all required libraries in my sketch but am getting hung up somewhere in the compiling. the code claims that I have an: undefined reference to `loadVersion()’, and then goes on to suggest many undefined references. I’m sure there is an easy answer to this yet its not obvious to me, can you point me in the right direction? how does one define ones loadversion?2019-05-06 at 09:59 #23205
I don’t know of a board that supports 8 motors. A whole mess of AMS shields, maybe. But current Markelangelo firmware does NOT support high-speed stepping with AMS shields, which have a big communications bottleneck problem.
when looking at bugs, the first one usually causes a cascade of errors. so ignore all but the very first and fix that one. I don’t recall a loadVersion(). Maybe in eeprom.cpp?2019-05-06 at 11:01 #23206
upon further research it seems that I can get extensions for RAMPS to run the motors I need, for now I am just trying to run the 4 required for the Zarplotter.
I found: char loadVersion();
its in eeprom.h, so what is the next step, is there information I need to place between the parenthesis?2019-05-06 at 11:12 #23207
The best way to get help with an error message is to post the message here directly. Once I know the content of the message I’ll have a much better idea what’s going on.2019-05-06 at 11:24 #23210
thx, here is the first error I get:
C:\Users\casey\AppData\Local\Temp\ccUVN8Kl.ltrans0.ltrans.o: In function `printConfig()’:
<artificial>:(.text+0xf7e): undefined reference to `loadVersion()’2019-05-06 at 11:27 #23212
Whatever file contains the printConfig() method needs to include eeprom.h at the top so that printConfig is aware that loadVersion() is explained in another file. Lame, but that’s compilers for you.
- You must be logged in to reply to this topic.