Shop OBEX P1 Docs P2 Docs Learn Events
P. Servo Controller - USB #28823, Rev B doc ? — Parallax Forums

P. Servo Controller - USB #28823, Rev B doc ?

PARPAR Posts: 285
edited 2005-06-07 19:50 in Robotics
A few questions (???), and some documentation corrections...

Referring to the document dated "4/2005" for "Rev B ver 3.0" of the Parallax Servo Controller:

Pg. 2:
"Figure 1" label refers to "Rev B", but the board drawing has "Rev A" just above the Serial In connector (which is not labelled as such in the drawing).

Pg. 3:
??? (top of page), item "1)"·refers to "Board of Education Rev C.", regarding power sourcing for the servos. Was the BOE-USB board, the current revision being Rev B, omitted intentionally, or must the power sourcing for the servos also be a separate source when using the BOE-USB board too?

??? (top of page), item "2)" refers to connecting the three-pin cable: from WHERE exactly·on the PSCI is that cable to be connected?

??? And, I assume that it is referring also to "X4, slot 15" of the BOE board? (There is no further discussion in the documentation about the function of that cable/connector; presumably it has to do something with the reference on the bottom of page 7 regarding downloading, storing and connecting a BOE/BS2 to the PSCI, right·?

??? (top of page), item "3)" refers to the "BOE Rev C"; presumably, this would also apply to the BOE-USB, which as noted above is "Rev B"?

??? Label for Figure "3": There is no figure "2", so presumably, this one should be labelled "Figure 2"?
???·Is there supposed to be a "Figure 2" also?

Pg. 4:
??? The text refers to the "FT232BM" driver. Can we assume that this is the same driver which is used/needed/already installed perhaps,·for· other Parallax USB boards --in particular, the BOE-USB and BS Logic Analyzer (USB) boards?

Pg. 5:
(Third line from top): Change "them selves" to "themselves".

Pg. 6:
(in the "Position" section): Change "entire" to "enter"

Pg. 8: Referring to hardware·"Rev B",·firmware "1.4", and to the·version "0.9 beta" PSCI software interface, I notice that if I attempt to press the green "Play" button when the PSCI board is not attached (via the USB cable), the program seems to hang, disabling any further mouse input along with a "Not responding" alert; the only way to regain control is to click on the window's "X" box at that point. A more graceful way to handle that condition (by the PSCI program, rather than being left to the system) would be nice.

I realize that this device/software is "just out of the box", so these observations are not intended as complaints, and the questions are asked simply to become informed.

I'm posting this to the b-board because of the questions I have; dunno how to cc this note to the documenation group (editor@parallax.com) so I'd appreciate it if you can forward the comments/correction to them.

Thanks,
Peter R
·

Comments

  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2005-05-03 21:48
    Peter,

    ·· Somehow you are referring to the wrong document...Please see the following document.

    http://www.parallax.com/dl/docs/prod/motors/PSCusbManBv3_1.pdf

    Referred from this page:

    http://www.parallax.com/detail.asp?product_id=28823




    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Tech Support
    csavage@parallax.com


    Post Edited (Chris Savage (Parallax)) : 5/3/2005 9:53:26 PM GMT
  • PARPAR Posts: 285
    edited 2005-05-03 22:28
    Chris,

    The only thing different (at variance with my comments) is that the document you cite is marked "ver. 3.1", while the one I received yesterday in the package with the newly-shipped PSC says "ver. 3.0" on the bottom of each page.

    All the errors I noted can be found (still)·in the document you cited (ver 3.1), and all the questions I asked still remain unanswered.

    Thanks.

    Peter R
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2005-05-03 22:49
    Hello,

    ·· I have reviewed your error list with what was shipped out yesterday, and we have confirmed several errors in the doc that do need to be addressed.· There are a few minor things that aren't really errors, such as about the drivers.· There we just want to make sure the drivers are installed, and that shouldn't cause any problems.· I will refer this information to the editor of the document.· Thank you for your time and input, as well as your patience.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Tech Support
    csavage@parallax.com
  • John BJohn B Posts: 82
    edited 2005-05-03 23:40
    Hi there,

    · Thanks for all your feedback.· I will incorporate the fixes into the document ASAP and will post the new version (3.2) to the web tomorrow.· Meanwhile, if you find other problems, just let me know and I will fix them.·

    jbarrowman@parallax.com

    John Barrowman

    Engineering

    Parallax, Inc.
  • Rick KRick K Posts: 18
    edited 2005-05-11 20:40
    Another thing that is not obvious from the doc was pointed out to me by your tech support today. This might be referenced in the doc:

    The command set for the PSCUSB can be accessed from a PC by sending the commands to the COM port mimicked by the USB driver.

    The command set is the same as for the serial version of the same board.

    There are many, many posts that have at their root the desire to perform motor control from a GUI. Your GUI is a decent start, but I suspect that many of us will still want to create our own GUI's and PC-based motion-control systems, prototype the motions, and then either transfer the prototyped movements to a STAMP, or partition a system between PC, Stamp, and various peripherals.

    I asked in email rather than post, so I figured I'd post for others...
  • cdamancdaman Posts: 9
    edited 2005-05-19 02:01
    Your last statement that some users will prefer to create their own GUI is correct. I, for one, am such a user.
    I am working with the PSC USB and would like to send commands to it from a PC. I have been working with the MSComm component it VB5 and VB6 but am new to sending serial data to a device. Does anyone have a link for more information about building a GUI for the PSC using MS Comm controls?

    Do serial commands need to be sent in ASCII characters or ASCII codes? 'A' vs. '63'?
    I am pretty sure it's not that hard, I just need a shove in the right direction


    Thanks for your input in advance,

    Daman

    I have been wrong before....
  • Buck RogersBuck Rogers Posts: 2,185
    edited 2005-05-19 05:32
    Hello there!
    I believe you mean 'A'vs'65". the number 63 is assigned to a different character then the letter A. jumpin.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Buck Rogers

    www.gregg.levine.name
  • cdamancdaman Posts: 9
    edited 2005-05-19 10:57
    Sorry - put my finger on the wrong part of the chart freaked.gif
    any ideas about how to build a GUI?
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2005-05-19 16:30
    Hello,

    ·· All your GUI would need to do is send and receive the same data, the same way the Stamp does.· It's that simple.· You send the commands, and you can receive responses.· If the Stamp can do it, then any PC program that can talk to the Serial·Port can.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Tech Support
    csavage@parallax.com
  • cdamancdaman Posts: 9
    edited 2005-05-20 00:15
    Ok - I agree. Can you help point me to some materials to start learning how to do this?
    I have been surfing for a nice tutorial or how to concerning MS COMM, but have yet to find
    much useful information. I know I can open the port, but I am stimied as to how to send
    out the servo control data -- looks like I need a looping control structure to handle PW signals
    as well as the servo number and position in ASCII. If know of a resource I could read
    to learn how to do this, it would be greatly appreciated. I need to reduce my ignorance -
    a truly large task.

    Thanks for any assitance
    Daman
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2005-05-20 04:53
    Hello,

    ·· You will need to check on a Visual BASIC forum for help with the MS software.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Tech Support
    csavage@parallax.com
  • allanlane5allanlane5 Posts: 3,815
    edited 2005-05-20 13:24
    Attached is a very simple example, with a very simple GUI, which uses the MSCOMM control under VB to communicate with a BS2.· It also has instructions about how to build the app from scratch, which can be very educational.

    To change this to use the PSC, you'll need to find out what the command sequence is for the PSC.· I believe it starts with a "?" character, but that's about all I know.

    You send command strings to the PSC so it will then control your Servo's.· It takes standard ASCII strings.
  • cdamancdaman Posts: 9
    edited 2005-05-24 00:18
    smile.gif That helps quite a bit. Thanks for the really good information. It helped to clear up a few of my misconceptions about how to send the data via MS Comm. I'm still pretty new toall of this.

    Thanks again!

    Daman smilewinkgrin.gif
  • Rick KRick K Posts: 18
    edited 2005-06-01 19:44
    See if this snippet helps. This is the smallest VB6 program I could write that would send a "set servo position" command to the PSC-USB.

    Note you've got to have the baud rate set to 2400 in the VB6 properties page for this to work, as that's the default for the PSC-USB.

    Hope this helps...

    -r

    ***************************************

    Private Sub Command1_Click()

    ··· Dim cmd
    ··· Dim port
    ··· Dim pos
    ··· Dim speed
    ··· Dim cmdstr
    ···
    ··· cmd = "!SC"
    ··· port = 0
    ··· pos = 1000
    ··· speed = 7

    ··· MSComm1.DTREnable = True
    ··· MSComm1.PortOpen = True
    ··· cmdstr = cmd + Chr$(port) + Chr$(speed) + Chr$(pos Mod 256) + Chr$(pos \ 256) + vbCrLf
    ··· 'Debug.Print cmdstr
    ···
    ··· MSComm1.Output = cmdstr
    ··· MSComm1.PortOpen = False

    End Sub
  • robo101.comrobo101.com Posts: 2
    edited 2005-06-02 21:20
    Hello, im a bit new to the servo controller but so far its a nice product. (USB Servo controler 28823)

    Can some one post a verbatim string to send to the controller to set say servo 10 to position 800 with a ramp/speed of 4..
    I have tried and tried with no luck except for sending the command "!SCVER?" to get the Firmware Ver.

    This works to get the Firmware Ver.
    "!SCVER?" Enter/CR

    But not luck getting the servos to move using:
    "!SC, 10, 4, 800.LOWBYTE, 800.HIGHBYTE" Enter/CR
    "!SC 10 4 800.LOWBYTE 800.HIGHBYTE" Enter/CR

    Do I need the ", " between the values?
    Do I need to have the text "LOWBYTE" and "HIGHBYTE"?

    Just a straightforward string example would be nice..

    Thanks
    Shane
  • cdamancdaman Posts: 9
    edited 2005-06-07 01:56
    Hmmm. Looks interesting. Thank you for posting Rick, I'll give it a shot. I have also reading up on the MS COMM control, but still have not written a working program for this application. Hopefully between the helpful posts here I can figure out where I'm going wrong.

    Thanks for the post
    Daman
  • Rick KRick K Posts: 18
    edited 2005-06-07 03:27
    Good luck! As a note, the snippet would need to be adjusted a bit for VB.net, which is what I'm working with. I wrote the VB6 version to flush out some interop errors I was getting then ported to .net.

    Just in case, the adjustment (.net version) looks like this:

    cmdstr = cmd + Chr(port).ToString + Chr(speed).ToString + _
    Chr(pos Mod 256).ToString + Chr(pos \ 256).ToString _
    + vbCrLf

    If you are writing something that will issue multiple commands (most probably you are), I'd recommend getting working as one function, then as soon as you've got it going, pull out the code that opens and closes the ports and sets comm parms and put it in initialize/finalize methods.

    -r
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2005-06-07 19:50
    robo101.com said...(trimmed)
    Hello, im a bit new to the servo controller but so far its a nice product. (USB Servo controler 28823)
    Can some one post a verbatim string to send to the controller to set say servo 10 to position 800 with a ramp/speed of 4..
    Shane,

    ·· You really need to start a new thread when posting question not part of the current thread.· But in short you're sending 800 to both LOWBYTE and HIGHBYTE but a BYTE can only hold up to 255.· You need to put your 800 into a WORD variable and then send the LOWBYTE and HIGHBYTE of that variable.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Tech Support
    csavage@parallax.com
Sign In or Register to comment.