servo or stepper for arm?

hi,
servo or stepper for arm? which one is better to use what do you suggest? I'm planing to use the arm for multi functional CNC ... 3D print, laser cuttind, milling etc ...
thx

also beer delivery, agriculture etc.. : D

I suspect you will need a stepper for the precision it gives. But servos are much easier to work with.

Have you a mechanical design in mind? If so post a diagram.

Stepper motors are heavy.

...R
Stepper Motor Basics
Simple Stepper Code

for the moment I don't have the design in mind, but I like some designs that I saw on the net for arms and for what I can understand they'r good and practical. thx for the info it will be taken in consideration : D

btw from where can I find easily mounting parts for the NEMA 17 Stepper Motor ?

BorislavLukanov:
btw from where can I find easily mounting parts for the NEMA 17 Stepper Motor ?

I have no idea.

Can't you make some yourself from aluminium angle or similar?

...R

well is faster and more precise if I use standard profiles even for the mounting and also I'm a little bit lazy to do them hehe.
Can you provide some info about the differences in the G-code for a 3D printer arm and simple x,y,z axis printer? Which program should I use to generate a G-code for 3D printer arm?

or the difference should be on the sketch loaded on the board of the arm while the g-code is the same?

BorislavLukanov:
Can you provide some info about the differences in the G-code for a 3D printer arm and simple x,y,z axis printer? Which program should I use to generate a G-code for 3D printer arm?

If you have a 3D CAD drawing in the STL file format there are several programs that will turn the design into GCode for a 3D printer. Google will find them for you. The one I use is called slic3r (note the strange spelling).

Then the trick is to write code for your Arduino device to convert the GCode into appropriate moves for your machine. My own preference is to do most of the conversion in a Python program on my PC to reduce the workload on the Arduino. And I find programming in Python much easier than C/C++

...R

well, the point is, is there an easier way to do the conversion in real time while sending the g-code to the machine. one, I'm not enough clear about how the conversion must be dun in sense, ok, you'll calculate the angles but .... hehe,.... and second would be faster and easier to load a sketch to the arduino that can do it while printing.
btw where can I see the source code loaded on the stepper motor drivers chips, because I'm looking for the libraries to take a look on the code and I don't find the addressing in hexadecimals or whatever is addressed with, only "pin_..something" in the .cpp files. Are those "names" standard so the code on the driver can recognize the values? Basically the registry addressing of the motor drivers chips to build the libraries on. Can be they changed or thy're pre-programmed/fixed?

BorislavLukanov:
well, the point is, is there an easier way to do the conversion in real time while sending the g-code to the machine

Easier than what alternative?

one, I'm not enough clear about how the conversion must be dun in sense, ok, you'll calculate the angles

what conversion are you talking about? What angles are you talking about?

but .... hehe,.... and second would be faster and easier to load a sketch to the arduino that can do it while printing.

What second would be faster than what? That does not make sense.

btw where can I see the source code loaded on the stepper motor drivers chips, because I'm looking for the libraries to take a look on the code and I don't find the addressing in hexadecimals or whatever is addressed with

This also makes no sense. There is no need to look at code in stepper driver chips - I don't even know if they have code.

Have you carefully studied the code in the link I gave you in Reply #2?

On the basis of what you have been saying I think this project is too complex for your present programming skills. Spend some time improving your knowledge with simpler projects.

...R

yep, I saw the code.
I'm searching for the code loaded on the drivers chip buy curiosity, the libraries are not elementary clear, but is enough for using them. The question is, the names of the variables specified in the libraries where are coming from? Are they pre-programmed variables names on the chip made from the factory or they are defined names buy the person that wrote the library and in this case where are the registry addressing for the variables because I see in the folders only .cpp and .h files and in the example .ino files .... it's ok for using them, but I'm curious to see the code for the driver itself.
About the conversion of the g-code:
On a linear 3D printer for diagonal movement you have x and y data, on a 3D printer arm for diagonal movement you have also rotation etc...

BorislavLukanov:
The question is, the names of the variables specified in the libraries where are coming from? Are they pre-programmed variables names on the chip made from the factory

You must understand that the Arduino program has no idea that it is connected to a stepper motor driver board. It will run the program just the same even if nothing is connected to it. All the program does is change the outputs on Arduino I/O pins chosen by the programmer. It is up to the user to make sure that the pins are connected to the correct pins on the driver board.

About the conversion of the g-code:
On a linear 3D printer for diagonal movement you have x and y data, on a 3D printer arm for diagonal movement you have also rotation etc...

That's why I said in Reply #8

the trick is to write code for your Arduino device to convert the GCode into appropriate moves for your machine

...R

Hi,

google nema 17 brackets

Its surprising what you will find.

Tom.. :slight_smile:

maybe I’m not explaining what I mean correctly:
when you open for editing the .cpp (stepper.cpp) file library for the stepper motor from the list with libraries in the arduino compiler you can see variables defined like “motor_pin_3;4;5;…” the output signal of the arduino board is low or high digital signal that is connected to the pin of the stepper driver where the sequencing is none. The chip of the stepper driver is it entirely composed of pre-programmed logic components or contains programmable code?

BorislavLukanov:
when you open for editing the .cpp (stepper.cpp) file library for the stepper motor from the list with libraries in the arduino compiler you can see variables defined like "motor_pin_3;4;5;..." the output signal of the arduino board is low or high digital signal that is connected to the pin of the stepper driver where the sequencing is none. The chip of the stepper driver is it entirely composed of pre-programmed logic components or contains programmable code?

Please review what you have written here and consider whether it makes sense to you. I can't understand it.

And post the program code you are talking about.

...R

in this case, if the stepper driver chip is composed only from logical components and not a loaded code, for the hexadecimal addressing of the pins I should check somewhere in the [\Arduino\hardware\tools\avr\avr\include...] files. Right? But I don't see the .cpp files, only the .h. In this case the librarie is based on the architecture of the atmega382p chip because in the library you specify the output signal of the arduino pin so you can use the namespaces from defined in the bootloader, headers and etc? But I steel would like to see the registers addressing for the uno in .cpp code.

BorislavLukanov:
in this case, if the stepper driver chip is composed only from logical components and not a loaded code, for the hexadecimal addressing of the pins I should check somewhere in the [\Arduino\hardware\tools\avr\avr\include...] files. Right? But I don't see the .cpp files, only the .h. In this case the librarie is based on the architecture of the atmega382p chip because in the library you specify the output signal of the arduino pin so you can use the namespaces from defined in the bootloader, headers and etc? But I steel would like to see the registers addressing for the uno in .cpp code.

Your concept of what a stepper driver chip is and how it is controlled by an Arduino seems so far removed from reality that I don't know how to explain things if my earlier comments have not helped.

Nobody using stepper motor drivers cares a f*** what is inside the driver chip. Find something more useful to think about.

...R

well I'm interested of what is going on in the driver chip also ....

BorislavLukanov:
well I'm interested of what is going on in the driver chip also ....

Let us know when you find out.

Have you read the datasheet for (e.g.) the Allegro A4988 chip?

...R