My servo turn only 90 degrees when i command it with Labview

controllo_servo.vi (19.6 KB) My problem is that the turning of motor isn’t enough to move the fingers of my inmoov hand. I must use Labview to comand my mini-maestro 12 pololu because i use labview to read my leap motion to move the hand.
I have attached my vi to command servo.
Someone can help me to use all 180 degrees of servo with labview?

Hello.

Unfortunately, we do not use LabVIEW, so we can only offer limited support for it. However, please note that most standard servos are not capable of 180-degree motion. You might check the manufacturer’s datasheet for your servo to see if it is an exception.

Additionally, if it is capable of that kind of motion, you will likely need to configure the Maestro to allow it to send pulse widths outside of the normal 1000-2000µs range. You can find more information about extending the range of your servo settings in the “How do I use my Maestro servo controller to get the maximum possible range of motion from my servo?” heading under the “FAQs” tab of the Maestro product pages.

Brandon

1 Like

Thank you for your reply, i have been able to set the max rotation properly on the pololu maestro control center, but i can’t figure out how to achieve the same using the serial protocol, is there any documentation i can follow?

Hello.

You can find a list of serial commands and their documentation in the “Serial Servo Commands” section of the Maestro user’s guide. If all you are trying to do is move your servo, the relevant command would be Set Target .

Just to clarify, it sounds like you are able to move your servo through LabVIEW using serial commands, but you cannot get the full range that you want; is that correct?

If you continue having problems, can you post the specific byte sequence you are sending to the Maestro and specify the position values you are trying to send your servo to?

Brandon

1 Like

HI,
I have already follow set target with compact protocol in Pololu - 5. Serial Interface but it isn’t work correctly.
Using SSC protocol it work with only 90° and using compact protocol the servo eork random.
I must move my servo in all 180° and not in a specific position, I send to pololu an hexadecimal string 84 00 and the two bytes i need to indicate position, these two bytes change continuily. Which is the correct range for 180° degrees rotation? I try 01111111 01111111 to 00000000 00000000.
Thank you for your patient

I cannot specify the target values you need to use in order to get 180-degrees of rotation from your servo since that will depend entirely on your specific servo. Since you can get the rotation you want when controlling the servo using the Maestro Control Center, you should use the sliders in the “Status” tab to figure out those target values. Please note that the target values in the status tab are in units of microseconds and the compact protocol command for set target uses units of quarter-microseconds, so you will need to multiply the values you want to use by 4 to use them in your serial commands.

The Mini SSC protocol works a bit differently and your set target command will depend on the 8-bit neutral and 8-bit range settings, which can be configured in the “Channel Settings” tab of the Maestro Control Center. If you want to use that protocol, I recommend reading more about it in the “Command Protocols” section of the Maestro user’s guide first.

If you still have problems getting it to work correctly after you find the target values that would work for you, please post the target values (i.e. the targets you are sending in the Maestro Control Center to get your desired range of motion) and the bytes you are sending and I would be glad to take a look.

Brandon

1 Like

I solve my issuse, in the previous version of my programm i built 4 strings and after i concatenated them, now i am using an array instead and converting it to a string later. thank you for your help…