Newbie questions about VEX Motor 393

Hi Everyone,
This is my first post as I am in the process of purchasing the Vex Motor 393 and Motor Controller 29.
But before purchasing, I wanted to ask some questions.

I am planning to use these motors to build a robotic arm using Arduino.
(I am a total Newbie, to pardon my ignorance to a lot of what I ask below)

a) So, the first part of my question is - is there any documentation on how to connect 393’s to Arduino? From what I have seen, this is what I understand.

  • Connect Motor to Motor Controller 29
  • Motor Controller 29 has 3 output wires (GND, +, I/O Pin)
  • GND and + connect to 7.2V battery and third one to Arduino Board I/O Pin
    (Here I am not sure what values to send to the Motor to make it move forward and backwards and how to control its speed)

b) Second part is, with a single pack of 7.2V Robot Battery NiMH 3000mAh, how many of these motors I can run? I will be controlling 6 motors (not all run at the same time, but maybe 4 at a time in a few cases)
I am not looking for speed, the arm will not have fast motion. Just extend and retract.

c) I was not able to figure out how to fix something directly to the shaft of the motor? Pardon this question as I have no experience with VEX kits and I am learning :slight_smile: What I eventually want to achieve is to fix an aluminum angle to the motor shaft. If I don’t have VEX angles and want to fix a regular angle from a hardware store or a wooden stick, how do I do it? Which additional accessory part will I need to purchase?

d) Lastly :slight_smile: I am searching to understand how does the square shaft fixes to the Motor? Since there are no threads, is there a chance that the shaft may fall off if I place the shaft facing vertically downwards?

Sorry for asking so much in one thread, but I wanted to order before 22nd and only got my forum access approved today morning. So as soon as I get these doubts cleared, I can proceed.

Thanks a lot.

may i ask why you want to use an arduino?
how do you plan on connecting the motors to the arduino? a motor can use up to 2 amps and will easily fry the I/O ports. but provided that you have powered delivery sorted, you can power up to 12 motors for your purposes with ease. as for the shaft falling the motor is usually screwed on to a piece of metal, and the shaft is run through the metal, a lock collar is used between the motor and metal to stop it from falling off (if that’s hard to picture, ill send you a picture or something).
finally, this appears to be a budget project, and if that’s the case, i wouldn’t recommend using vex parts as they usually overpriced.

A) Don’t remember enough about Arduino to provide accurate input. Running regular servos on it, you just directly plug them into the ports. Not sure if it’s the same for 393s.
B) Depends on how long you want to run them for. Competition teams run off of one or two batteries, powering 12 motors for two minutes. You could likely just buy one and recharge it when it dies. Not sure if the Arduino has compatability with that battery, I would check?
C) Typical method is putting a gear on the shaft and using the holes on the gear to mount the piece on it. Duct tape always works too if it’s a temporary attachment/doesn’t need to be robust.
D) Collars.

b) about 12 for 3-4 minutes depending on load
c) ( the lock plate)
d) it doesn’t, you have to secure it another way, with shaft collars or another motor on the other side of the shaft

some other things
to improve build quality use bearing blocks and nylock (attached) nuts

i would recommend looking for teams in your area, many teams would be happy to give out some screws, shafts and some scrap metal to help with mounting.

As stated in the original post (by the way, you’re correct here, @ssdesign):

The I/O ports do not facilitate the 2 amps, just the PWM signal. There should be no frying if everything is connected properly.

It should be just a simple matter of using PWM control, as described here. You should play with adjusting the duty cycle to see what values correspond to what motor speed and direction.

Thanks everyone for your prompt replies.
This is also going to be for a competition (not VEX competition). So it does not need to run for too long.

For powering the motor, I intend to connect the batteries to the motor independent of the Arduino. So @Manitha the power will come straight to the motor (bypassing the board). Only the I/O pin will be used to send PWM to the controller.

Rest of my questions are fully answered and I now understand that I will need to create some sort of a mechanism using the collars to make the shaft stay in one place and use a Gear to fix the arm to it.

Only thing I want to understand now is, what values will the motor understand to move forward and backward.

I will be using simple joysticks connected to Arduino to control the motor.
Like these ones:

(Just saw your reply @Barin while I was typing this, Thanks for the link to understand PWM part.)

yes, my apologizes, i overlooked that.

@Manitha :slight_smile: no worries

I just saw this article on using VEX motor with Arduino.
It shows how I can control it:

and this tutorial on Youtube:

Looks like it should work :slight_smile:

Am I allowed to choose multiple answers for “This answers my question?”
I would like to choose that for a couple of answers :slight_smile:

Unfortunately, I don’t think so. Perhaps just select your post with the video as your answer.

It’s standard RC servo control, pulse every 18mS to 20mS.
1mS full speed
1.5mS pulse nettral
2.0mS pulse full speed the other direction.
this diagram is for a servo but it’s the same for the 393 motors.

Will do that.
But just wanted to say thanks to everyone who contributed.
All your replies were really helpful :slight_smile:

Just forgot to ask one last thing.
Do I need some kind of motor driver shield on top of Arduino? or I can directly connect the wire from Motor Controller 29 to my Arduino?