Adding DC motors to mBot


#1

Hello, I have the Arduino-based mBot kit and am attempting to add additional DC motors for increased functionality. I also bought the Servo kit, which included an RJ25 adapter that I was able to successfully use to connect and control a servo motor. However now that I’m trying to connect a DC motor, I have some questions regarding my implementation.

I plugged in the RJ25 adapter into Port 1 of the mBot, and plugged the DC motor into S2 and GND on the adapter. This allows me to control the motor by setting digital pin 12 to HIGH and LOW. So far this setup seems to work, and I am able to use mBlock to activate the motor with a button press. However I am also aware that Arduino pins are used for logic, not power delivery, and am worried that I might accidentally fry the Arduino board with this setup. Is this a valid concern? If so, how can I connect the DC motor to the mBot considering that the specialized adapter (ME Dual DC Motor Driver) is no longer being manufactured or sold?

For more context, I am using a 3-6v motor for testing, and plan to use a 3v motor in the final build. The mBot is powered by the included AA battery holder, which is 6v (4 x 1.5v AA batteries).


#2

In my experience with the mBot I’d say your concern is valid. Digital pins are for reading values or for very small amounts of current draw, not powering motors.
I would use a voltage regulator (like a MOSFET) connected to the digital pin instead, then an external power source (or just the mBot batteries, if you can find a way to connect them) running through the voltage regulator for your motor.

@CommandeR any insights?


#3

I have nothing new to add here, what you have both said is correct. I too have tried connecting via an RJ25 adapter and a motor does work when connected to it. The bottom line, probably, is that the mCore board was never designed to run anything else other than motors connected to the two fiddly ports on the board next to the on/off switch. You could use an Me ‘dual motor driver’ board connected to one of the RJ25 ports.
image


#4

Thanks both for your insights! The Me Dual Motor Driver is no longer being sold officially so that is not an option for me, is there a specific MOSFET or other motor driver that you would recommend in its place? I’m thinking that I can connect it to the RJ25 adapter and power it via the VCC pin on the adapter while controlling it with the S2 pin. However I can’t seem to find a product that allows me to do this that doesn’t require a breadboard or custom circuit board to connect everything. Is there an off the shelf solution available?

Alternatively I can try to use a continuous rotation servo instead of a DC motor, which seems like an easier solution but I need to use a specific servo housing that makes it compatible with Lego. Is there a way to easily modify a servo to make it into a continuous rotation one or is that more difficult than figuring out how to hook up a DC motor?


#5

Still seems to be available in Europe:


#6

Thanks for the heads up! Just to check, is that driver even compatible with the mBot? I ask since the base mBot kit doesn’t have any red ports, which this driver seems to need. Also, there aren’t any blocks in mBlock that suggest compatibility. I would be comfortable relying on a third-party driver and digital pin control but I just don’t have much knowledge about the available products out there.


#7

Hi @rich.l

You are quite correct - I’m so sorry - mia culpa!

I must have been on another planet (and rushing - it’s old-age you know) when I replied to your original post.
I’ve been experimenting with Ranger’s Auriga board recently and this does have four Red RJ25 ports which can deliver an output voltage of 6-12v DC and these are specifically for connecting all kinds of motors. The mCore board does of course not have one of these.

Makeblock’s RJ25 connection concept is that any compatible Me module must connect to a controller-board port which has a coloured label matching its own coloured label. But nowhere in any of the basic guides to mBot is it made very clear what each of the four ports on the mCore board can specifically do.

mBots ports (1 & 2) both have three coloured blocks on their labels - the same pattern on each port, whilst ports (3 & 4) on the opposite side of mBot both have a matching checkerboard pattern of four different colours and sadly none of these can deliver an output voltage of 6-12v DC to provide motor power.


#8

@CommandeR What motors do you recommend to plug into those slots? Also, the driver listed in previous replies is only compatible with the Auriga and better boards, not the mCore. If you wish to use the arm (sold separately) you must have the Auriga.


#9

In answer to your question, whatever motors you can get your hands on!

I have four 25mm dia. DC motors - 9V/185RPM (1:46 gearing ratio) which came from two Makeblock ‘Starter Robot’ kits which utilise the Orion mainboard (this board was also used in many of Makeblock’s other early robotics kits). These motors can be connected to other Makeblock structural components using a DC Motor-25 Bracket.

I found some years ago that Starter Robot kits advertised on eBay were a good and cheap(ish) source of Makeblock components. The Orion control board remains useful since it can drive two DC motors directly - it has, in addition to its two red RJ25 output ports supplying continuous 3.5A (max 5A), two orange HT 3.96 4pin sockets at one end - just like those on the Me Dual Motor Driver).