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.

DRV8301

Other Parts Discussed in Thread: DRV8301, MOTORWARE

Hello,

My robotics dept just bought a DRV8301. After I ran the Instaspin FOC F2806xM and identified the motor, it will not rotate constantly, if it actually rotates. I have to restart the process until it rotates normally, which can take a couple of hours. I would like to know what should I do to make it work like it should please. 

  • Hi Luis,
    I am moving your post to the InstaSPIN forum. They have quite a bit of information available.
  • what do you know about the motor?
    what parameters are you using in the GUI?
    what parameters are identified?

    based on what you have posted, I would suspect that you are trying to ID a low inductance / high speed motor.

    there are multiple notes in the qsg_gui_instaspin_foc or _motion.pdf
    regarding this topic. For example:
    "For some motors the PWM, current, or FAST estimaton rates are too low for proper control. You MUST use the MotorWare projects and update the user.h file accordingly.
    • For the GUI these setting are chosen to work across all hardware platforms and most of the target applications for this technology. It is not optimized for each application and there will be motor types which require changes."

    this means you need to use MotorWare (not the fixed GUI), and likely proj_lab02c to ID the high speed motor appropriately. When you go this direction you can use the INSTASTPINUNIVERSALGUI and the qsg_gui_universal.pdf specifically talks about how to debug motor ID issues.
  • ---motor is a Tacon Bigfoot60 bldc---
    no load current 7.4v = 2A
    Vmax = 44 V

    ---Identified parameters---
    Rs = 0.0034552 Ohms
    Ls_d = 8.5e-9 H
    Ls_q = 8.5e-9 H
    flux = 0.033988 V/Hz

    ---speed mode---
    Speed reference = 200 - 3600 Rpm (Range I've used)
    acceleration = 50-100 RPM/s (Range I've used)

    After Identifying it again, the motor worked perfectly. After I closed and opened the program, it starting rotating and stopping about every 60 degrees
  • Ls_d = 8.5e-9 H
    is not valid. Single uH is the lowest you will find.

    you need to use MotorWare proj_lab02c to ID this motor with the default 45 KHz PWM.
    you will then need to use proj_lab05a to run in torque mode (no speed loop).
    once you run in speed loop (proj_lab05b) it will most likely not run very well at first. You will need to reduce the gains of the Speed controller. A good starting point is typically to divide by 10.
  • I'll try that .

    Thanks
  • A couple more questions,

    Will the DRV8301 work with a motor that has 60V and around 80 - 90 A? if yes, should I only use Motorware? or would it be preferable to use Code Composer Studio?
  • some other points, when you run motor ID in 02c you need to make sure that the FLUX_EST_FREQUENCY is in the (60.0) to (100.0) Hz range. And you need to use enough RES_EST_CURRENT to make sure the motor starts and keeps spinning for the duration of the ID process.

    The Rs and flux values in your post are probably correct (for the flux, assuming the motor was actually spinning during ID), although the Rs is pretty ridiculously small....sure that wasn't 0.03 ohm?

    If you struggle to ID you can try jumping to labs 05a or 05b and just add these Rs and Flux values as well as an Ls_d and Ls_q = (0.000020)
    the inductances of these motors are typically within this region
  • "Will the DRV8301 work with a motor that has 60V and around 80 - 90 A? "
    the EVM will not. Your own design may be able to, but 60V bus is right at the limit. It is likely you will have some event that increases the voltage on the bus and damages the DRV8301.

    you use MotorWare and CCS to build your embedded project. MotorWare is the software project repository, CCS is the development tool you use.
  • Yes, I meant 0.03 Ohms. I reset everything and identified the motor again and the new parameters are the following:
    Rs = 0.02
    Ls_d, Ls_q = 5e-9
    flux = 0.069
  • using which project?

    attach your user.h

  • it was using the same gui, I'll try it with a different project and post the results
  • "you need to use MotorWare proj_lab02c to ID this motor with the default 45 KHz PWM.
    you will then need to use proj_lab05a to run in torque mode (no speed loop).
    once you run in speed loop (proj_lab05b) it will most likely not run very well at first. You will need to reduce the gains of the Speed controller. A good starting point is typically to divide by 10."