Flowstone and Pololu's Mini Maestro 12
Posted: Fri May 13, 2011 2:05 pm
I am posting a conversation between myself and a pololu agent concerning serial communication from Flowstone to Pololu's Mini Maestro 12. We are not communicating well so I thought maybe the dialog would make some sense to someone here. If any one can shed some light I would be thrilled
MiniMaestro and FlowStone
Post a reply
10 posts • Page 1 of 1
MiniMaestro and FlowStone
Postby urthlight on Mon Apr 25, 2011 9:01 pm
I am intrested in using the minimaestro 12 with Flowstone from DSP robotics. Is there any support for this software?
urthlight
Posts: 5
Joined: Mon Apr 25, 2011 8:54 pm
Top
Re: MiniMaestro and FlowStone
Postby kevin on Tue Apr 26, 2011 4:53 pm
Hello,
I found some information that says FlowStone can communicate with any device that uses a COM port, so you might be able to use it with a Maestro, which provides a virtual COM port over the USB connection. However, we have not used the FlowStone software and cannot provide any specific support for using it.
If you do decide to try using them together, we would be interested to hear how it turns out.
- Kevin
kevin
Site Admin
Posts: 63
Joined: Thu Oct 14, 2010 5:22 pm
Top
Re: MiniMaestro and FlowStone
Postby urthlight on Sat Apr 30, 2011 4:02 pm
Well then can you tell me what the serial data looks like. The lynxmotion string looks like this " #0 P1500 T1000 " where 0 is the servo number p is position and t is time. Assembled in flowstone and adding a carriage return then sending to the com port to the lynxmotion controller it generates a servo move. Also in the dual usb mode is the TTL port only a passthru at the tx/rx pins on the 7 pin header and not useful in ithe mini maestro 12?
My primary intrest is running the mm12 as an output device for a PC(laptop) platform for real time hardware control.
thanks
urthlight
Posts: 5
Joined: Mon Apr 25, 2011 8:54 pm
Top
Re: MiniMaestro and FlowStone
Postby Ben on Sun May 01, 2011 12:53 am
Hello.
Have you seen the Maestro user's guide? The serial communication section has the answers to your question. Please ask if there is still something that's not clear.
- Ben
User avatar
Ben
Site Admin
Posts: 1990
Joined: Mon Aug 28, 2006 1:05 pm
Location: Las Vegas, NV
Top
Re: MiniMaestro and FlowStone
Postby urthlight on Sun May 01, 2011 9:02 am
well I am still not clear about the formatting of the data:
the manual states"
Compact Protocol
This is the simpler and more compact of the two protocols; it is the protocol you should use if your Maestro is the only device connected to your serial line. The Maestro compact protocol command packet is simply:
command byte (with MSB set), any necessary data bytes
For example, if we want to set the target of servo 0 to 1500 µs, we could send the following byte sequence:
in hex: 0x84, 0x00, 0x70, 0x2E
in decimal: 132, 0, 112, 46
ok so my terminal software sends
132, 0, 112, 46
or
0x84, 0x00, 0x70, 0x2E
to the mm12
i get a blink on the green led that looks like data was sent on com 4 and com 5 but no servo move
is there any preamble any initilization procedure or is it automatic?
I have my mm12 in dual usb mode with crc off.
urthlight
Posts: 5
Joined: Mon Apr 25, 2011 8:54 pm
Top
Re: MiniMaestro and FlowStone
Postby Ben on Sun May 01, 2011 6:27 pm
How are you determining what COM port to send the commands? Also, are you actually sending the byte values rather than ASCII representations of them? Can you connect to the Maestro with the Maestro Control Center and see if the slider bar that corresponds with servo 0 moves when you send your commands?
- Ben
User avatar
Ben
Site Admin
Posts: 1990
Joined: Mon Aug 28, 2006 1:05 pm
Location: Las Vegas, NV
Top
Re: MiniMaestro and FlowStone
Postby urthlight on Wed May 11, 2011 11:35 am
How are you determining what COM port to send the commands?
The device manager shows that com 4 and 5 are being used for the MM12
Also, are you actually sending the byte values rather than ASCII representations of them?
I am sending ASCII to the com port from flowstone
in hex: 0x84, 0x00, 0x70, 0x2E
in decimal: 132, 0, 112, 46
Can you connect to the Maestro with the Maestro Control Center and see if the slider bar that corresponds with servo 0 moves when you send your commands?
yes and that is working fine
still confused
urthlight
Posts: 5
Joined: Mon Apr 25, 2011 8:54 pm
Top
Re: MiniMaestro and FlowStone
Postby Ben on Wed May 11, 2011 1:22 pm
urthlight wrote:The device manager shows that com 4 and 5 are being used for the MM12
Do you know which of these two is the correct one to be sending your serial commands to?
I am sending ASCII to the com port from flowstone
I think this is your main problem. The Maestro protocol is not ASCII-based. For example, for the command you list, you have to actually send four bytes with the values 132, 0, 112, and 46. Transmitting a byte with the value 132 is not the same as transmitting three ASCII characters with the values '1', '3', and '2'.
- Ben
User avatar
Ben
Site Admin
Posts: 1990
Joined: Mon Aug 28, 2006 1:05 pm
Location: Las Vegas, NV
Top
Re: MiniMaestro and FlowStone
Postby urthlight on Thu May 12, 2011 12:26 pm
I am sending ASCII to the com port from flowstone
I think this is your main problem. The Maestro protocol is not ASCII-based. For example, for the command you list, you have to actually send four bytes with the values 132, 0, 112, and 46. Transmitting a byte with the value 132 is not the same as transmitting three ASCII characters with the values '1', '3', and '2'.
so what should the data going to the MM12 look like?
should it be hex , binary or something else?
lb
urthlight
Posts: 5
Joined: Mon Apr 25, 2011 8:54 pm
Top
Re: MiniMaestro and FlowStone
Postby Ben on Thu May 12, 2011 12:46 pm
urthlight wrote:so what should the data going to the MM12 look like?
should it be hex , binary or something else?
I think you are still fundamentally misunderstanding things. Your goal is not to send a representation of a value, your goal is to send the value itself using serial, which has its own internal representation in the form of time-varying digital voltages. The value of the number ten is independent of how we choose to represent it (e.g. 10, 0xA, or 0b00001010). If the servo controller is expecting a first byte with the value 132, you need to write a program that gets this value transmitted on the serial port (i.e. when the servo controller reads the byte it receives, the byte should have the value 132).
- Ben
User avatar
Ben
Site Admin
Posts: 1990
Joined: Mon Aug 28, 2006 1:05 pm
Location: Las Vegas, NV
MiniMaestro and FlowStone
Post a reply
10 posts • Page 1 of 1
MiniMaestro and FlowStone
Postby urthlight on Mon Apr 25, 2011 9:01 pm
I am intrested in using the minimaestro 12 with Flowstone from DSP robotics. Is there any support for this software?
urthlight
Posts: 5
Joined: Mon Apr 25, 2011 8:54 pm
Top
Re: MiniMaestro and FlowStone
Postby kevin on Tue Apr 26, 2011 4:53 pm
Hello,
I found some information that says FlowStone can communicate with any device that uses a COM port, so you might be able to use it with a Maestro, which provides a virtual COM port over the USB connection. However, we have not used the FlowStone software and cannot provide any specific support for using it.
If you do decide to try using them together, we would be interested to hear how it turns out.
- Kevin
kevin
Site Admin
Posts: 63
Joined: Thu Oct 14, 2010 5:22 pm
Top
Re: MiniMaestro and FlowStone
Postby urthlight on Sat Apr 30, 2011 4:02 pm
Well then can you tell me what the serial data looks like. The lynxmotion string looks like this " #0 P1500 T1000 " where 0 is the servo number p is position and t is time. Assembled in flowstone and adding a carriage return then sending to the com port to the lynxmotion controller it generates a servo move. Also in the dual usb mode is the TTL port only a passthru at the tx/rx pins on the 7 pin header and not useful in ithe mini maestro 12?
My primary intrest is running the mm12 as an output device for a PC(laptop) platform for real time hardware control.
thanks
urthlight
Posts: 5
Joined: Mon Apr 25, 2011 8:54 pm
Top
Re: MiniMaestro and FlowStone
Postby Ben on Sun May 01, 2011 12:53 am
Hello.
Have you seen the Maestro user's guide? The serial communication section has the answers to your question. Please ask if there is still something that's not clear.
- Ben
User avatar
Ben
Site Admin
Posts: 1990
Joined: Mon Aug 28, 2006 1:05 pm
Location: Las Vegas, NV
Top
Re: MiniMaestro and FlowStone
Postby urthlight on Sun May 01, 2011 9:02 am
well I am still not clear about the formatting of the data:
the manual states"
Compact Protocol
This is the simpler and more compact of the two protocols; it is the protocol you should use if your Maestro is the only device connected to your serial line. The Maestro compact protocol command packet is simply:
command byte (with MSB set), any necessary data bytes
For example, if we want to set the target of servo 0 to 1500 µs, we could send the following byte sequence:
in hex: 0x84, 0x00, 0x70, 0x2E
in decimal: 132, 0, 112, 46
ok so my terminal software sends
132, 0, 112, 46
or
0x84, 0x00, 0x70, 0x2E
to the mm12
i get a blink on the green led that looks like data was sent on com 4 and com 5 but no servo move
is there any preamble any initilization procedure or is it automatic?
I have my mm12 in dual usb mode with crc off.
urthlight
Posts: 5
Joined: Mon Apr 25, 2011 8:54 pm
Top
Re: MiniMaestro and FlowStone
Postby Ben on Sun May 01, 2011 6:27 pm
How are you determining what COM port to send the commands? Also, are you actually sending the byte values rather than ASCII representations of them? Can you connect to the Maestro with the Maestro Control Center and see if the slider bar that corresponds with servo 0 moves when you send your commands?
- Ben
User avatar
Ben
Site Admin
Posts: 1990
Joined: Mon Aug 28, 2006 1:05 pm
Location: Las Vegas, NV
Top
Re: MiniMaestro and FlowStone
Postby urthlight on Wed May 11, 2011 11:35 am
How are you determining what COM port to send the commands?
The device manager shows that com 4 and 5 are being used for the MM12
Also, are you actually sending the byte values rather than ASCII representations of them?
I am sending ASCII to the com port from flowstone
in hex: 0x84, 0x00, 0x70, 0x2E
in decimal: 132, 0, 112, 46
Can you connect to the Maestro with the Maestro Control Center and see if the slider bar that corresponds with servo 0 moves when you send your commands?
yes and that is working fine
still confused
urthlight
Posts: 5
Joined: Mon Apr 25, 2011 8:54 pm
Top
Re: MiniMaestro and FlowStone
Postby Ben on Wed May 11, 2011 1:22 pm
urthlight wrote:The device manager shows that com 4 and 5 are being used for the MM12
Do you know which of these two is the correct one to be sending your serial commands to?
I am sending ASCII to the com port from flowstone
I think this is your main problem. The Maestro protocol is not ASCII-based. For example, for the command you list, you have to actually send four bytes with the values 132, 0, 112, and 46. Transmitting a byte with the value 132 is not the same as transmitting three ASCII characters with the values '1', '3', and '2'.
- Ben
User avatar
Ben
Site Admin
Posts: 1990
Joined: Mon Aug 28, 2006 1:05 pm
Location: Las Vegas, NV
Top
Re: MiniMaestro and FlowStone
Postby urthlight on Thu May 12, 2011 12:26 pm
I am sending ASCII to the com port from flowstone
I think this is your main problem. The Maestro protocol is not ASCII-based. For example, for the command you list, you have to actually send four bytes with the values 132, 0, 112, and 46. Transmitting a byte with the value 132 is not the same as transmitting three ASCII characters with the values '1', '3', and '2'.
so what should the data going to the MM12 look like?
should it be hex , binary or something else?
lb
urthlight
Posts: 5
Joined: Mon Apr 25, 2011 8:54 pm
Top
Re: MiniMaestro and FlowStone
Postby Ben on Thu May 12, 2011 12:46 pm
urthlight wrote:so what should the data going to the MM12 look like?
should it be hex , binary or something else?
I think you are still fundamentally misunderstanding things. Your goal is not to send a representation of a value, your goal is to send the value itself using serial, which has its own internal representation in the form of time-varying digital voltages. The value of the number ten is independent of how we choose to represent it (e.g. 10, 0xA, or 0b00001010). If the servo controller is expecting a first byte with the value 132, you need to write a program that gets this value transmitted on the serial port (i.e. when the servo controller reads the byte it receives, the byte should have the value 132).
- Ben
User avatar
Ben
Site Admin
Posts: 1990
Joined: Mon Aug 28, 2006 1:05 pm
Location: Las Vegas, NV