Go Down

Topic: $$$ XY plotter cache + diagonal movement (Read 849 times) previous topic - next topic

arduinorookie100

Budget: $350

Material: arduino uno + cnc shield V3 with A4988 stepper drivers, nema17 stepper motors and a 9g servo. It is a drawing robot that moves using a continous belt powered by the steppers.

I am using arduino and processing to move a drawing cnc robot with the mouse. When I move the mouse in the black processing window the plotter follows and when I click the left mouse button, the servo drops and the pen hits the paper only to go up again when I release the left mouse button. When I hold down the mouse button, the pen stays down.

Goal: Make the plotter remember its positions + move diagonally. (In order to be able to draw circles).

If I click on x50 y50 and release, then click on x100 y100 and release the plotter should remember to go there and draw dots consecutively. If I then go to x200 y200 and draw a line from there to x100 y100, it should do that.

I do Not want to use Grbl firmware as that is far too slow and this project doesn't need that level of precision. I just want to be able to draw with the cnc using the mouse.

Kindly reply to this post or send me a pm and I will send you the code.

Bainesbunch

I can help you with this, drop me a PM for my email address

Cheers Pete.
EmbeddedAT .. From Concept to Prototype to Production
Electronics and firmware design and project mentoring
I do answer personal requests for help when accompanied with a PayPal receipt ;)

zwieblum

#2
Aug 28, 2019, 06:40 pm Last Edit: Aug 28, 2019, 06:41 pm by zwieblum
Not satisfied with the answers given here https://forum.arduino.cc/index.php?topic=626707 ?

arduinorookie100

Not satisfied with the answers given here https://forum.arduino.cc/index.php?topic=626707 ?
Using grbl the plotter is far too slow, so unfortunately no. It seems the grbl firmware caps the speed of cncs. Also I paid a guy who responded to that thread and made code. But he was unable to make the cache and diagonal movement work.

zwieblum

Well, configuring GRBL to play nice with your machine is your job to do. If you configure it to be slow, then it will be slow. If you configure it to work at optimal speed with your CNC, then it will be fast. Nobody to blame here but the user :)
Don't know which genius you payed to write the code (and which code that would be, as you need a PC program and an arduino program), but you get what you pay for. As you do not want to use proven working code you will most likely end up haveing spent way more than the 200+350 bucks for nothing.


arduinorookie100

Well, configuring GRBL to play nice with your machine is your job to do. If you configure it to be slow, then it will be slow. If you configure it to work at optimal speed with your CNC, then it will be fast. Nobody to blame here but the user :)
Don't know which genius you payed to write the code (and which code that would be, as you need a PC program and an arduino program), but you get what you pay for. As you do not want to use proven working code you will most likely end up haveing spent way more than the 200+350 bucks for nothing.


I guess we'll have to see, another guy tried the grbl approach but the cnc was far too slow even at the maxed out setting.

zwieblum

I don't see the code, so I can't say what's wrong about it. Fact is, GRBL runs CNC machines as good as it can get (at least for the given hardware). You won't be able to beat it, that's for sure :)

KASSIMSAMJI

nothing.
i feel offended here, actually  i am the one who did the first phase, for both arduino and PC program
he didn't spend that for 'nothing' like you said, as the CNC doesn't even make a 'move' by 'itself'

and yes i wasn't able to make the cache and diagonal move work but i am sure some one else will
Expert To Be: Machine Learning And Computer/Machine Vision (ML/CV/MV)

zwieblum

#8
Aug 29, 2019, 09:43 am Last Edit: Aug 29, 2019, 09:44 am by zwieblum
You were not able to send e.g. :
Code: [Select]
g1 x0 y0
g1 x50 y50

to GRBL ? ? ?

And yes, a CNC does nothing by itself, you have to configure it and then tell it what to do.

Go Up