Best programmable controller/battery for 50:1 Gearmotor

I’m buying the motor: 50:1 Metal Gearmotor 37Dx54L mm with 64 CPR Encoder. What is the best programmable controller for it (I’ll also have about 6 additional inputs needed)? Likewise, what is the best rechargeable battery solution (I think it’s a 12V requirement)?

Hello.

I suggest you go with our Orangutan SVP-1284. It has an integrated dual motor driver, and a preprogrammed auxiliary microcontroller acts as a built-in programmer and encoder-reader. We don’t sell a good battery for your project, but you should be able to get a 10-cell (12V) NiMH battery pack at a local hobby store.

- Ben

Yes, I saw the Orangutan SVP-1284 and I think it’s probably the one, but I had a few questions about it:

  1. The C-development platform Pololu provides looks great. But, I couldn’t tell if it would be possible to use it to run .dll’s that are created in .NET. Do you know if that would be feasible?

  2. I’d like to install two mechanical arms on my bot. If I use the integrated dual motor driver to drive the four wheels, will I still have the possibility of using the same controller to run, possible, two more motors for the mechanical arms?

  3. Lastly, if I wanted to go wireless to the SVP-1284, does Pololu sell a wireless interface (hopefully, DHCP) that, say, plugs into the USB on the card?

Thanks, in advance!

You will not be able to run DLLs or use .NET. Make sure you understand that this is an 8-bit microcontroller with 16 KB of RAM running at 20 MHz, not a PC.

Are you planning on having four 37Dx54L mm metal gearmotors in your system? If so, how are you planning on connecting them to the two motor channels on the controller? If you are using all of the controllers motor channels for the wheels, you will not have any motor channels available for the arms. You would have to buy additional motor drivers, but you could still use the Orangutan to control them.

We don’t currently have any wireless interfaces, but it shouldn’t be too hard to interface the Orangutan with something like an XBee. You could use any wireless TTL serial device to send commands to the Orangutan, and our Pololu AVR library makes it easy to receive and send serial data.

- Ben

Ok, thanks. The reason I was asking about the .dll’s and the wireless is because I’d like to leave a computer mounted on the bot, connected via USB (or wireless), and be able to issue commands at-will. I think most controllers want a compiled program which is, then, uploaded and runs. I want to be able to control the bot real-time from the attached computer. Do you think this controller can handle it?

I think if you have a computer running your bot, there isn’t much the Orangutan will have to handle. You can do all the heavy computing with the computer and then just send serial commands to the Orangutan to make it do things like set the motor speeds, read its analog or digital inputs, and read the encoders. You’d need to write firmware for the Orangutan to turn it into a serial slave, but we have several example programs that should make this pretty easy.

- Ben

That’s exactly what I was shooting for – thanks!

Actually, since there are four wheels, maybe it would be best to use four, separate electronic speed controllers, and control them with the Orangutan 1284. If I do that, can I slave the Orangutan to the PC and control the speed, direction of the motors from the PC? Like: PC -> Orangutan -> ESC -> gearmotor

Another possibility would be using the dual-motor-driver, split the power, and one driver controls the left and the other driver controls the right. (the left, or right, wheels always move together, even when turning or reversing)

If this is the best way, does Pololu sell the necessary ESC’s for the 50:1 Gearmotor?

Or, is there a quad motor driver controller (programmable) on the market?

If you don’t need independent control of all four wheels, I think the best way to control your motors is by connecting the two motors on each side in parallel to a single motor channel, which would let you use a dual motor driver. This is how the motors on our Wild Thumper chassis are wired. However, the motor drivers on the Orangutan SVP are not strong enough to power four of those motors (one motor per channel is already getting close to the limit). For four motors, I recommend you go with an Orangutan X2. The Orangutan X2 also has an integrated programmer, and it has an auxiliary microcontroller that handles things like driving the motors in response to commands from the main microcontroller. Unfortunately, it doesn’t have dedicated encoder inputs, but the Pololu AVR library has functions that make it easy to read quadrature encoder outputs using arbitrary digital input pins.

Another option would be to use two Simple Motor Controllers, one for each side (you would connect the two motors on each side in parallel to the motor driver outputs), and control them directly via USB directly from the computer on your robot. You could then use a microcontroller board of your choosing (e.g. A Baby Orangutan, an Arduino, etc) to process your sensors and return data to your computer. You could still go with the SVP and use that to control the motors in your arms, read the encoder inputs, and even send commands to the Simple Motor Controllers via serial.

- Ben

I like the second option: two motor-controllers. But, I like the Pololu Jrk 21v3 USB Motor Controller with Feedback. Do you think those would be adequate for the type of gearmotors I have? I can run those directly from the PC, and make the master controller optional – a sweet situation. And, can I get two of those fully assembled already (they look disassembled in the pictures, but I’m trying to avoid soldering)?

Unfortunately, I don’t think the jrk 21v3 will work well for you. It doesn’t support encoder feedback, only analog voltage or tachometer feedback, and it is not powerful enough to drive two of those motors in parallel. I think your best option is to go with two Simple Motor Controllers (they are available fully assembled, so no soldering is required).

- Ben

If I’ll still need a main controller, I think I’ll revert back to option 1: the X2. Plus, I read up on the X2 and it’s a beast – I like it – it’ll just take some time to learn how to work it. But, it looks like it’ll handle the motors, encoders, battery, (and send signals to other controllers, if I add other parts) all-in-one. I think I can do what you said and wire the left wheel pair to one motor-driver and the right wheel pair to the other motor-driver. Plus, the X2 has USB input for direct PC control. This sounds feasible with the X2, right? Here’s an add’l thought: can the USB be “bluetoothed” for wireless connectivity with the PC? If not, that’s fine, but doesn’t seem like a stretch at all…

You can send the X2 serial commands directly from a computer via USB (the X2 will show up as a virtual COM port), but you will still have to write a program for the X2 that listens for those serial commands and responds appropriately. I don’t have much experience with bluetooth, but if you can find a module that outputs TTL serial signals, you can connect that to the X2’s UART pins and use it to send commands from the computer to the X2.

- Ben