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.

Position Control with InstaSPIN-MOTION

Other Parts Discussed in Thread: MOTORWARE, BOOSTXL-DRV8301, DRV8301-69M-KIT, LAUNCHXL-F28027F, DRV8312, DRV8301, LVSERVOMTR, CONTROLSUITE, TMDSHVMTRINSPIN

Hi,

Just saw this announcement in an email from LineStream 

Advanced Position Control Now Available on InstaSPIN-MOTION

This looks very interesting but I really need an Idiot's Guide as to how to evaluate this with a direct-drive PMSM motor I'm working on. I have no knowledge of using TI processors, so it looks like a pretty daunting task. 

Can you help me out ?

Thanks,

Geoff

  • 4. You just can't exceed 60v on the bus of drv8301, that may include any large Bemf produced by a higher voltage motor.  

    Ok, so in your application you won't even be using FAST. You should be able to use the position control projects and just enter the Rs and Ls from the datasheet to allow the current controllers to be tuned automatically. The speed and position will be tuned from the single SpinTAC controller. 

    Any issues should only be from the encoder information, especially at ultra low speeds.

  • Chris,

    Sorry, but you'll have to spell things out for me here. Are you saying that I should bypass all the early labs and start with Lab13a on InstaSpin Motion, just entering Rs and Ls values in user.h ?

    Does this lab automatically user quadrature encoder feedback, and if so how does it align the rotor with the encoder signal to get electrical angle ? As the quadrature signal obviously doesn't give an absolute position, I don't see where the alignment comes from ?

    If this does work, the next big stumbling block for me will be reading the encoder's 17-bit absolute position on an SPI port, and decoding and reading the sine/cosine signals for high resolution position data.

    Geoff

  • Geoff,

    I think it's worthwhile for you to spend a day to work through the labs from lab1, first doing everything sensorless using a MOTOR THAT PROPERLY IDs  As an example you could purchase LVSERVOMTR from TI, this is one known to work well with DRV8301 for both sensorless and encoder position control.  With this motor you could work through ALL the labs (including position control) to understand the overall scope and how the software functions.

    But yes, your project will be based on one of the proj_lab13x labs for sensored position control.

    And yes, getting your 17-bit position control data to the chip over SPI will be a critical step.

  • Chris,

    Is that the same motor as in the DRV8301-LS31-KIT  ?

    Geoff

  • yes, exact same.

    This is our standard low voltage (low-medium current) motor with encoder.

     

  • Geoff,

    In the position lab examples, we align the motor and the encoder by injecting current along the d-axis of the motor.  This forces the motor rotor to zero degree electrical angle.  At this point the quadrature encoder reading is captured and stored as the calibration, thus aligning the encoder and the motor rotor.  

    This is provided as an example of how to align the motor rotor and the encoder.  There are a large number of other ways of doing the same thing.  And if you have absolute position information you would only need to do this method during development in order to find the calibration.  

  • Adam,

    That's the way I've already done it on my current design, just aligning the poles with the absolute encoder value as a one-off step after the encoder is mated with the motor, by applying a current to a winding.

    Chris has suggested that I should get an LVSERVOMTR to use with the development board and the Labs, just to get familiar with everything. If I did that, is there an initial shortest route through the Labs to see position control operation, and could I do point to point slow position moves easily, just to see it working.

    Geoff

  • Geoff,

    We use that motor to do a lot of development work.  In the user.h (C:\ti\motorware\motorware_1_01_00_11\sw\solutions\instaspin_motion\boards\drv8301kit_revD\f28x\f2806xM\src\user.h) for the DRV8301 kit that motor is called: Teknic_M2310PLN04K

    If you wanted a short cut you could jump directly to lab 13b to test out different position moves.  You will need to tune the position controller using the procedure outlined in the lab 13a documentation.  Note that you won't have the best performance until you run lab 5c to get the system inertia.