DC VS stepper Motors for my project ?! [SOLVED]

I saw some people made printers with DC motors! My questions is:

  • Which one is more easy to handle?
  • Is there any ready program to use ? to convert a pic to something my Arduino will understand?

last question: I have two DC motors I want to control them both with only 2 wires, so when the voltage is 3V the first one will work now if the voltage >3V the second one will work ok that possible with some resistors but How can I make my Arduino give specific voltage from pins?! or that impossible ?!

It sounds like you want to measure the voltage between a pair of wires and if it is …

less than 3v motorA and motorB are stopped
equal to 3v motorA runs and motorB is stopped
greater than 3v motorA is stopped and motorB runs

The Arduino analogRead() can be used to measure a voltage between 0v and 5v (absolute minimum and maximum).

In practice, rather than specifying exactly 3v you will need to say > 2.9 and < 3.1 or something similar.

An Arduino cannot supply enough current to power a motor so it must be used to switch the motor current in some way. That could be via a simple transitor or FET, via a relay or via a h-bridge if you want to control speed and direction.

The only reason to use a stepper motor would be if the exact position is important.

You might consider using a continuous rotation servo as that contains all its own control electronics and only needs a single signal connection (plus GND) to the Arduino.

If none of this answers your question you will obviously need to provide more information about what you are trying to achieve.

…R
Stepper Motor Basics

Thanks it's more clear now. forget about everything I have other ideas. The only question I have now

Is there any ready program to use ? to convert a pic to something my Arduino will understand?

I don't recall seeing anything about printers in your original and much longer text.

For the future don't make changes to a post that make nonsense of later comments - just add the new material in a new post that preserves the chronological order and the logic of the discussion.

Most cheap printers use cheap DC motors rather than expensive stepper motors. But they compensate by using very expensive code and encoders to detect the position of the print-head. If you can save $5 on each of a million printers you can easily afford $100,000 for a program that can control the DC motors.

Having said all that, I haven't the faintest idea what connection there can be between DC motors in a printer and a pair of wires with a 3v signal.

I still think my comments in Reply #1 are relevant.

What do you mean by "How can I make my Arduino give specific voltage from pins?" What voltages do you want? What will you do if you get those voltages?

In fact an Arduino can only produce either 0v or 5v on an I/O pin.

However if you want to control the speed of a DC motor you can use PWM (analogWrite() ) which switches between 0v and 5v rapidly to give the effect of an average voltage somewhere in between. But the I/O pins cannot provide enough current to drive a motor - you need some electronics in between. A h-bridge is a common choice.

...R

I don't recall seeing anything about printers in your original and much longer text.

For the future don't make changes to a post that make nonsense of later comments - just add the new material in a new post that preserves the chronological order and the logic of the discussion.

I am just confused allot of articles and ideas in my head, I changed my main idea about using 2 wires to control 2 DC motors, to better one, ok will not edit it in the future :roll_eyes:

Most cheap printers use cheap DC motors rather than expensive stepper motors. But they compensate by using very expensive code and encoders to detect the position of the print-head. If you can save $5 on each of a million printers you can easily afford $100,000 for a program that can control the DC motors.

I didn't know that! ok I will use stepper motors seems more easy from what you said.

What do you mean by "How can I make my Arduino give specific voltage from pins?" What voltages do you want? What will you do if you get those voltages? In fact an Arduino can only produce either 0v or 5v on an I/O pin.

because I changed the main idea, everything changed now.

In fact an Arduino can only produce either 0v or 5v on an I/O pin.

I know I just wonder if there is any other ideas maybe I don't know about it, or a sheaild for that.

However if you want to control the speed of a DC motor you can use PWM (analogWrite() ) which switches between 0v and 5v rapidly to give the effect of an average voltage somewhere in between. But the I/O pins cannot provide enough current to drive a motor - you need some electronics in between. A h-bridge is a common choice.

well that's a new thing, thanks for this idea Thanks Robin :) and sorry to waste your time, everything clear now Just laaaast question :roll_eyes: Is there any ready program to convert pics to something that's my Arduino will understand, or i must build a program from scratch?!

I found what I want PyCAM Thanks ;)

narzan: Is there any ready program to convert pics to something that's my Arduino will understand, or i must build a program from scratch?!

I had no idea you meant "convert an image into CNC control codes"

I actually thought you had code for a MicroChip PIC microprocessor that you wanted to convert to run on an Arduino.

Anyway, glad you have found a solution.

...R

Robin2: The only reason to use a stepper motor would be if the exact position is important.

I think that is a little too brief. steppers have all of their power at low speed. the power gets divided up as the speed increases. a DC motor delivers it's power at high speed and looses it's power as the speed decreases to almost nothing at 1 rpm. DC motors speed varies with load. if you add a load to a DC motor and do not compensate, it will slow down. Steppers are constant speed, if you set it for a speed, the pulse rate dictates the speed, the driver delivers variable power to keep that speed. a servo is a DC motor with feedback. the hobby servos are packaged units. industrially, you buy a nice 5hp DC motor, spend a couple hundred dollars on an encoder and driver and have essentially the same device. typically, the DC servo's are used for high speed running, with gearing to deliver lower speeds. often found in really cheap scanners and fax machines, or high end milling machines and CNC machines. if you saw a printer with a DC motor, and kept looking, you would have found a plastic film with grey on it, under a magnyfitng glass, that gray is soft of bar code. that is the encoder. the motor is powered by a specialty chip that uses sensors to read the encoder and then postilion the motor.