Servo Control with Mini Maestro 12-channel and LabVIEW

Hi, I work in a university physics lab and I’m trying to control a series of servo motors with the Mini Maestro 12-channel board, and I have working LabVIEW code written for the Micro Maestro 6-channel board. It doesn’t seem to be working at all with my board, though I’m using the right ports and the servos have been tested with other boards. What changed between the Mini and Micro Maestro boards, that I should account for when modifying the code?

Thanks for any help!

Hello.

Just to confirm, you are trying to control your Maestro with LabVIEW over USB, correct? Can you elaborate on how it is not working (are you getting errors, do the servos not move, etc.) and post your settings file?

- Patrick

Yes, I’m trying to use i/o input (I think) over the USB interface. If it helps, the VI uses VISA Serial subVIs. There are no errors when I watch the script, but the servos don’t move at all.

maestro_settings.txt (2.5 KB)

I am using the same code for the Mini and Micro.

See if you can move the servos using the Maestro Control Center application. If you can’t, then make sure there is power to the servos (this is separate power connection than the power that the USB supplies).

I’ve attached an example of my Init and Read code.
Servo Init.vi (20.3 KB)
Servo Read Position.vi (11.7 KB)

Also, check Device Manager.
If you do not see a “Pololu…Controller Command Port (COMx)” for each controller, you may have connected the controller before installing the Pololu driver software. In this case Windows 10 will assign a generic “USB Serial Device” driver.

If this is the case, you would see that the COM ports are named “USB Serial Device” in the Device Manager instead of having descriptive names. The COM ports with these names will not be recognized by LabVIEW as servo controllers. To fix the names in the Device Manager :

  • right-click on each “USB Serial Device” entry,
  • select “Update Driver Software…”,
  • select “Search automatically for updated driver software”.

Windows should find the Maestro drivers you already installed, which contain the correct name for the port. It may helpful to find which “USB Serial Device” are associated with a servo controller, by observing how the Device Manager list changes when you unplug/plugin the misidentified servo controller’s USB cable.

I think the power supply may be the issue… I thought the servos and board were both powered via USB. I’ve read that section of the manual now but I’m still unclear on the equipment that would supply power to the servos. I understand it’s a 0.1" 2-pin cable, but I don’t see anything online that looks like it could readily act as a power supply.

Is the only option to get something like this and connect it to a screw terminal power supply?

I’m new to all this and I really appreciate the help.

There are many ways you could power your servos such as using a battery or battery pack, a benchtop power supply, or a wall power adapter like the one you linked to. I suggest adding up the stall current of all of your servos, and getting a supply that can handle at least that much current at an appropriate voltage for your servos. You can usually find the stall current in the servo’s datasheet or in its web page documentation, but if you cannot find the stall current of your servo, a good rule of thumb is to budget about 1A per standard size servo.

By the way, in case you did not notice, the wall adapter you linked to supplies 12V, which is much greater than what most RC servos are designed to handle. (Generally, RC servos are designed to handle around 6V, but I suggest checking the documentation for your particular servos.)

As far a connecting your power supply to your Maestro, the best way to do that will depend on the connectors available for your power supply along with what tools and skills you have. The method you described for connecting a wall adapter to the Maestro seems like it might be okay (though that connector might block access to some of the adjacent pins). You might also consider some solution using jumper wires, or you could possibly make your own connectors using crimp pins and connector housings.

- Patrick