This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Design a servo motor drive and its industrial robot application based on InstaSpin platform

Other Parts Discussed in Thread: MOTORWARE, LAUNCHXL-F28069M, BOOSTXL-DRV8301
Dear Sir
 
We like to design a servo motor (PMSM) drive and its industrial robot application based on InstaSpin platform. Could you help us with the answers to the following questions as below:

1. It's planned for our drive to work with 17b or higher motor ABS encoder.
    Does InstaSpin prefer any protocol like one of those shown below or it
    may support any of them or any other?
 
    1) Hiperface  2) SSI + Sine/Cos 3) EnDat 4) BiSS  5) Other
2. Could we customize a GUI from MotorWare, similar to SpinTac, to implement motor
    identification, single-parameter (inertia) tuning, motion control and planning? Is it
    open source for free use? Does SpinTac/TI require license fee and is it
    customizable?
 
3. How many motors or axis may a Piccolo (e.g. F28069M) control at the same time
    and at most in the case of industrial robot (starting with a simple one, e.g. welding, 
    injection, material moving etc.)?

4. May software simulation replace Dynamometer somewhat?
5. How to secure a custom design against piracy once the box is on the
    market?

6. Could we get Ti/Arrow technical support during InstaSpin-based custom design? Is

    there any term, restriction or prerequisite we should be aware of right now?


Thanks!

 

michael wang

  • Hi, Michael,

    michael wang said:
    1. It's planned for our drive to work with 17b or higher motor ABS encoder.
        Does InstaSpin prefer any protocol like one of those shown below or it
        may support any of them or any other?

    The InstaSPIN-MOTION velocity and position solutions only require an electrical angle. They don't know where or how you get this angle information, so no, it doesn't matter to the solution.  The Piccolo device may or may not support the protocol. If it is simple RS-232 or RS-485 you are ok, if it's anything custom you'll have to see...I do know of customers who have Hiperface and EnDAT running on Piccolo peripherals, but they wrote their own stack protocol. There isn't anything standard for these yet.  We are working on things like this but it will be for our higher end Delfino family of devices, not for Piccolo initially.

    michael wang said:
    2. Could we customize a GUI from MotorWare, similar to SpinTac, to implement motor
        identification, single-parameter (inertia) tuning, motion control and planning? Is it
        open source for free use? Does SpinTac/TI require license fee and is it
        customizable?

    Yes.  It's not the MOST user friendly tool (it drives me crazy sometimes) but it can be done.  You can start from scratch or you can use either of our GUIs as a starting point if you like.  The two GUIs ( InstaSPIN-FOC & -MOTION or the UNIVERSAL GUI) were made by me in CCSv5p5, but you probably want to use CCSv6 as it has some new features in GUI Composer that should make it better.  You can import my GUIs into 6, manipulate, and export your own.

    BTW - the UNIVERSAL GUI is being updated in June to add the IntasSPIN-MOTION components

    michael wang said:
    3. How many motors or axis may a Piccolo (e.g. F28069M) control at the same time
        and at most in the case of industrial robot (starting with a simple one, e.g. welding, 
        injection, material moving etc.)?

    F2806x is controlling two motors + PFC in air conditioner applications, but it gets very tight on the ADC channels. There are only 16-ch, and because InstaSPIN-FOC requires the phase voltage feedback of each motor phase we use most of them in a hurry.

    compressor: 3xVph, 3xIsh, 1xVbus = 7
    fan: 3xVph, 2xIsh, no Vbus (use same bus as compressor) = 5
    pfc: 1 or 2

    13 or 14 of the 16.

    However, if you are using InstaSPIN-MOTION with mechanical feedback, as long as you don't want to use FAST for anything (Motor ID, redundancy, etc.) you could drop the Vph requirement and each motor could  use as few as 3 signals (2xCurrent, 1xVbus) and the Vbus could be shared in certain applications.

    Also, we haven't released any projects that show you how to run 2 motors from a single 6x device. The software gets complicated....we are releasing some new HW this summer that will support 2-axis control, but even the SW for that will probably be delayed til end of year or early '15 before we show a fully working example.

     

    michael wang said:
    4. May software simulation replace Dynamometer somewhat?

    Don't follow the question.  If you are using FAST you can get a valid torque reading if the motor is running at speeds where FAST is valid. For servo applications most of the time FAST will have invalid feedback due to the low speed/positions.  Or are you asking something elese?

    michael wang said:
    5. How to secure a custom design against piracy once the box is on the
        market?

    The Piccolo devices all feature a user programmable security password/module to lock the flash.

    michael wang said:
    6. Could we get Ti/Arrow technical support during InstaSpin-based custom design?

    You would have to talk to Arrow and any local TI support.

    michael wang said:
    there any term, restriction or prerequisite we should be aware of right now?

    There is no licensing fee for InstaSPIN, it is included for free in MotorWare and you must use certain ROM enabled MCUs for it to run.

     

     

  • Thanks, Chris!

    Could you recommend an application notes about creating custom stack protocol between TI DSP and ABS encoder?

    As for #4, I feel you have addressed my question appropriately, so we still need a hardware measurement set-up in the case of servo application.

  • We don't have an app note about interfacing absolute encoder....let me see if our guy who owns the rotor feedback sensors can comment.

  • Hi Chris


    Thanks!

    More specifically,  if we take the serial protocol like RS-232 or RS-485, 

    1. Can it work and interface with a 17b ABS encoder, a third-party or off-shelf one?

    2. Is it possible to program the DSP serial port to match the protocol or be compatible

        with DSP's quad encoder interface?

    3. In the case of position control, can we set up and output a command derived  from each rotation distance (mm/rev) over the number of the encoder pulses (pulses/rev), and implement such a function so called "electronic gear"?

     

    Best

     

    michael

  • Michael,

    To address number 3, it should be pretty easy to set this up.  You would need to make sure that the position command from your electronic gearing software is setup in the way that the SpinTAC Position Controller is expecting.  I've attached a document that shows how SpinTAC expects the position command to be configured.

    4061.SpinTAC_Position_Move_Rollover.pdf

  • 1. depends on the protocol. I know we are running with ABS encoders in the lab, so we can at least interface to one.

    2. depends on the protocol. I know right now we don't offer any sort of stack for any protocol, so you're on your own.

  • Hi Michael,

    As Chris mentioned, we don't have a project or driver built around any of these protocols on a C2000 today.

    I will make a few notes though:

    1. SinCos -
      http://e2e.ti.com/support/microcontrollers/c2000/f/171/t/242839.aspx
      http://e2e.ti.com/support/microcontrollers/c2000/f/171/p/292473/1022633.aspx#1022633
    2. SSI -  SSI is really a pretty simple protocol.  You'll likely want to use the SPI peripheral on the C2000 and interface it to some external RS485/422 transceivers.  You'll be the master and provide the clock to the encoder.  The encoder will then send the position data back as it receives clocks.  The data line is unidirectional.
    3. BiSS - How difficult BiSS is will depend on what type of BiSS you wish to use, the maximum speed you need it to run at and what features you wish to implement.  The simplest version (BiSS-unidirectional) is extremely similar to the SSI protocol above, the only exception being that CRC and error information comes with the data.  More complex implementations will require more effort/resources.
    4. EnDat - the difficulty will again be determined by which version you wish to support.  An EnDat's data line is not purely unidirectional which means that the sharing of the data line will have to be managed.  Managing this will eat up a fair amount of MIPS and/or will require you to use some external logic.
    5. HiPerFace - HiPerFace and HiPerFace DSL are really quite different protocols.  The former uses UART + SinCos whereas the latter is more similar to the other digital absolute interfaces above.  I personally haven't researched much on the intricacies of this protocol.


    Thank you,
    Brett

  • Hi Adam

    Does it mean that the electronic gearing software could be just a UI (User Interface) and created from MotorWare and/or SpinTAC Motion Control Suite?

    Our whole custom GUI may be on the top of MotorWare and/or SpinTAC Motion Control Suite?

    Best


    michael

  • Hi Brett


    If we use RS-485 to connect between a 17b ABS encoder and 28069M ( is it one of C2000?), which version of BiSS should be used to support 2.5M rate?


    Best

    michael

  • Michael, 

    You could add the electronic gearing as the input to the SpinTAC Motion Control Suite in C code on the microcontroller.  

    You could also make your own custom GUI on top of the C code on the microcontroller.

  • Hi Chris

    In the application case of industry robot (6 axis), could we create a "Teach Pendant" from  CCSv6 and/or MotorWare?

    Has any customer used InstaSpin to implement such project or any robot?

    michael wang

  • Michael,

    I'm not sure what you mean by "Teach Pendant".

    Yes, InstaSPIN-MOTION is being used on several robot like products, but currently it is one MCU per one axis, just because we haven't released software examples of multi-axis.

     

  • Hi Chris

    Teach Pendant is a control box for programming the motions of a robot. It is also called a "teach box," the robot is set to "learning" or "teach" mode, and the pendant is used to control the robot step by step. Teach pendants are typically handheld devices and may be wired or wireless. Since your SW has functions like "Motion profiling,  trajectory planning", I wonder if the SW suite could be leveraged for this purpose.

    What is the time frame for TI to release software examples of multi-axis?

    Best


    Michael

  • Michael,

    we are working on a LAUNCHXL-F28069M which will support plug-in of two BOOSTXL-DRV8301 inverters (including two QEP feedback for sensored control as well).  However, the initial SW we release will only control one inverter.  To control both inverters takes a more complex effort on the SW architecture side (duplication of files, etc.) so while we are doing that we would also like to show an example of using an RTOS for this purpose.  I'm hoping we get this 2 axis example released end of year, but I have the feeling it will slip into '15.

     

  • Michael,

    You could program the teach pendant to send trajectory commands to each axis of the robot.  This way you could test out the profile features and see them in action.  So in the teach pendant it would take in the profile limits, and would send those to SpinTAC Move in order for it to generate that specific motion.

  • Hi Adam

    Thanks, one more question.
    Does it mean we could use a 3rd-party Teach Pendant to work with SpinTac or we need to create our own Teach Pendant?

    Best

    Michael

  • Michael,

    You should be able to use a 3rd-party teach pendant, provided that you can translate the commands form that into position steps and limits that can be passed to SpinTAC Move.  So you would need to write application level code that handled that translation.