Motor shield advice request

Hi everyone - I'm a retired mechanical engineer and I have had a stroke that has left me with greatly reduced mental capacity. About a year I started an Arduino project and I'm just now trying to get back into it. I'm really struggling with my thought process and it appears to be a very steep up-hill battle. But it's wintertime and I'm stuck indoors so I'll try again.

There are many motor control shields on eBay and most of them are from China and may be very slow in shipping. I have found one http://www.ebay.com/itm/official-arduino-motor-shield-v3-/150991643509?pt=LH_DefaultDomain_0&hash=item2327cda375 that may possibly be shipped from the USA.

I can see by my records that I have made purchases from Adafruit Industries in the past but I don't remember. I have made purchases from other vendors but I don't remember any of them.

So here are my questions . . .

Would you buy that motor shield on eBay? Would you go to Adafruit for one? Can you make recommendations?

Thanks guys.

P.S. Please read this post very slowly as it took me FOREVER to type it. :roll_eyes:

Adafruit are a very good site to go with - its run as a cottage industry by people who really care, and
they have a high standard of documentation and support (Arduino libraries for many of the products
complete with detailed instructions). They have a forum / forums too.

Choice of motor shield does depend on the motor you want to drive, and the use you want to put it to,
so its hard to be definite without that information.

The ebay shield may or may not be a true Arduino one (there are many copies being sold), but it
is a popular design so it should also be easy to get support here.

Though I think I'd stick with my first suggestion as Adafruit will provide support and help which is
probably as valuable to you as any other feature.

OK thanks MarkT.

Can anybody else help me? Thanks.

PlayStationFarm:
Hi everyone - I'm a retired mechanical engineer and I have had a stroke that has left me with greatly reduced mental capacity. About a year I started an Arduino project and I'm just now trying to get back into it. I'm really struggling with my thought process and it appears to be a very steep up-hill battle. But it's wintertime and I'm stuck indoors so I'll try again.

There are many motor control shields on eBay and most of them are from China and may be very slow in shipping. I have found one http://www.ebay.com/itm/official-arduino-motor-shield-v3-/150991643509?pt=LH_DefaultDomain_0&hash=item2327cda375 that may possibly be shipped from the USA.

I can see by my records that I have made purchases from Adafruit Industries in the past but I don't remember. I have made purchases from other vendors but I don't remember any of them.

So here are my questions . . .

Would you buy that motor shield on eBay? Would you go to Adafruit for one? Can you make recommendations?

Thanks guys.

P.S. Please read this post very slowly as it took me FOREVER to type it. :roll_eyes:

Hi, I'm a Mechanical Engineer as well. I've just selected a motor shield: DFRobot 1Amp Motor Shield from dfrobot.com (or on robotshop.com). My recent research is based on using low power DC gear motors. Here are a few things to consider:
-For low power motors: Is the shield based off of L293 or L298 driver chip? L293 has a 600mA sustained or 1.2 Amp Max current per channel. L298 has a 2Amp sustained per channel. Both of these chips are capable of driving 2 DC motors. Also look at the voltage min/max range that is supported. The L298 has CurrentSense pins to give the microcontroller feedback on the current draw of the motor. These are sometimes wired up by the shield (like in the Arduino Motor Shield) and thus take up additional pins. Some L298 shields, like DFRobot 2 Amp, don't utilize the CurrentSense pins.
-Is the shield pre-built/soldered? The adafruit shield mentioned is great, but you must build it yourself. It's not overly difficult, but if soldering is not your friend, consider a pre-built shield. The Arduino Motor Shield and the DFRobot motor shields appear to be pre-built.
-Is the shield stackable and/or have female header already installed? The Arduino Motor Shield and DFRobot shields appear to have female headers to easily use unused pins or allow a differnt shield to stack on top of it (assuming no pin use overlap).
-Functionality: Do you need the motor to operate in both directions? Do you need speed control? Check for these things, altough I believe most of them can control speed with PWM.
-Price. The Arduino motor shield is expensive but has good support and existing examples.
-If you're driving higher powered motors, the game changes and the above advice doesn't fit with that scenario.

For me, my motors were DC 6V gear motors with a stall current of 470 mA, so a 1 Amp DFRobot shield made sense for me. I also liked having the extra pins available for my other sensors. Figure out your motors, then report back with a link or specs and we can further guide you. Good luck.

For what it is worth, I am a mechanical engineer who will never be able to retire...

I bought one of these:

http://www.ebay.com/itm/New-V3-Arduino-Driver-Motor-Controller-Shield-L298N-2A-2-Motors-Module-/170792695437?pt=LH_DefaultDomain_0&hash=item27c409b68d

My intention was to drive both the drive and steering motors on an RC car I was hacking. I have also hooked it up to some motors out of an old printer, as well as steppers and it seems to work for everything.

My only caution is that the switch settings are not particularly well documented and there is one combination of switches that is bad news (you end up applying 5V to the Arduino's 5V pin).

I have bought a bunch of sensors and boards and general electronics (including the motor shield) from China and have not yet run into a quality problem. Biggest issue is having patience waiting for stuff to ship, and documentation is usually bad. But for the most part you can find things elsewhere on the net (for example, with the shield above, anything intended to work with an L298N dual H-bridge like sketches etc. should generally work fine).

Thanks everyone.

I have been trying several things with my sketches and I have developed a very simple program that I think will meet my needs. Also, maybe I failed to let you guys know that I already have an Arduion UNO R3 and an Arduino motor shield R3. I have been having a real struggle trying to remember ANY of the C++ programming language that I used to know so well. Trying to remember things is like trying to walk on two rubber legs after my stroke. Sometimes I feel totally useless.

My needs for the motor control are as follows -

  1. Run motor CW for 18 seconds
  2. Stop motor (without break)
  3. Pause 14 hours
  4. Run motor CCW for 18 seconds
  5. Stop motor (without break)
  6. Pause 10 hours
    That's it. I know it may seem simple to you but I'm struggling. As you will see in my sketch below, I'm using nano-seconds for my timing commands. I'm pretty sure there is a better way to program lengthy MOTOR OFF periods but I simply cannot remember. Any advise would be appreciated.

Anyway here is my sketch: (please comment on ways to simplify or to streamline - thanks)
// Drive a simple DC motor forward and backward at full
// speed with timed pause between each run. 2/24/2013
//
// Motor connected to Motor output A on Arduino Motor Shield R3

// Motor A definitions
int DIR_A = 12;
int SPEED_A = 3;
int BREAK_A = 9;

// Motor B definitions
int DIR_B = 13;
int SPEED_B = 11;
int BREAK_B = 8;

void setup()
{
pinMode(SPEED_A, OUTPUT);
pinMode(DIR_A, OUTPUT);
pinMode(BREAK_A, OUTPUT);

// release break
digitalWrite(BREAK_A, LOW);
}

void loop()
{
// run motor backward full speed. (Max is 250)
digitalWrite(DIR_A, HIGH);
analogWrite(SPEED_A, 250);

// run motor for 18 seconds to open door
delay(18000);

// stop motor
analogWrite(SPEED_A, 0);

// pause door open 14 hours (minus run time)
delay(50398200);

// run motor forward full speed. (Max is 250)
digitalWrite(DIR_A, LOW);
analogWrite(SPEED_A, 250);

// run motor for 18 seconds to close door
delay(18000);

// stop motor
analogWrite(SPEED_A, 0);

// pause door closed 10 hours (minus run time)
delay(35998200);

}

I just ran across this thread. Did you ever get your project working?