3D printer using DC motors with encoders

Hi there! I'm trying to make a 3D printer using DC motors with encoders instead of stepper motors and was wondering if there was an arduino board(s) I could use. The motors I plan on using are here http://www.phidgets.com/products.php?category=38&product_id=3259E_0 .

I think it might be possible depending on what resolution you need. You'll need to devote a lot of cycle time to just keeping track of the encoders.....

It's definitely not a job for an Arduino noobie though, since you'll most likely need to write your own firmware

There's a very good reason why they use steppers for this job. It's hard to tell a DC motor exactly where to stop. Inertia and all that...

I think this project would be very difficult even for a very experienced Arduinoist.

As @Qdeathstar said encoders use up a lot of CPU cycles and as @Delta_G said, even if you can read the encoders effectively it is still not easy (maybe not possible) to get a DC motor to stop firmly at a specific place.

Perhaps you see a parallel between the use of DC motors and encoders in PC ink-jet printers and their potential use in a CNC system? IMHO the two concepts are very different because the carriage on a PC printer spits out ink while it is moving and it only stops at either side of the printer where accurate positioning is irrelevant.

...R

I once had an X-Y plotter that effective used DC motors and feedback to move the pen. If you want to do the same sort of things there are a few points to note.

You need a high degree of gearing between the motor / encoder and the thing you want to move. So the mechanics are a lot harder than using a stepping motor.

You then effectively make a servo system with it, with a PID type control loop.

When stopping at a specific point their is often a slight tremor while the loop holds the position. This is reduced with higher gearing.

You can use arduino UNO for this purpose but be aware to frame code which includes every step of your movement Secondly use stepper motor if possible, as it easily reads codes and gives output

but be aware to frame code which includes every step of your movement

Can you explain what it means to "frame code" please.

Grumpy_Mike:
Can you explain what it means to “frame code” please.

Probably not. :grinning:


Robin2:
Perhaps you see a parallel between the use of DC motors and encoders in PC ink-jet printers and their potential use in a CNC system?

Do they really? Must be a recent development for the ultimate in $10 printers.

Picked a mono laser - Ricoh SP112 - up for $AU20 during the week. After unboxing, I don’t like it; It has the form factor of an old MX-80 but worse - paper loads in the top - with difficulty - and comes out the front so it will collect dust apace and occupies the whole depth of a desk.

Paul__B:
Do they really? Must be a recent development for the ultimate in $10 printers.

It is worth spending $50,000 on software development to allow you to save $1 each on the price of the motors for 1 million printers.

And I don’t think it is all that recent.

…R

Sorry again for being so new to all this, but from what I've found, a lot of people use the Arduino Mega and RAMPS 1.4 for 3D printers and CnC machines. I assume this is for the easy stepper drivers, but I don't care about those assuming their strictly for stepper motors.

For testing a single motor and a single rotary encoder, what board would I need? Shubham_arduino says an UNO would work, but how would I wire it up? The encoder has a 5 pin out shown http://www.phidgets.com/docs/Encoder_Primer being a B channel , +5V, A channel, index and ground.

Then could I use the code similar to the one seen in https://www.youtube.com/watch?v=HQuLZHsGZdI which was used for a smaller knob like rotary encoder?

Maybe dc motors and some sort of clutch, to solve the problems associated with inertia.

I might would get a mega for this. Lots of memory and interrupt pins. I don't think polling the encoder will work.

ArduinoNoobie:
Sorry again for being so new to all this, but from what I’ve found, a lot of people use the Arduino Mega and RAMPS 1.4 for 3D printers and CnC machines. I assume this is for the easy stepper drivers, but I don’t care about those assuming their strictly for stepper motors.

There s no need to apologize for being new to all this.

But, as I said earlier, this would be a complex project for someone with a lot of experience.

Stepper motors are much more suitable.

…R