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.

DRV8312EVM_RevD with DRV8312GUIv5 and different motor

Other Parts Discussed in Thread: INSTASPIN-BLDC, LAUNCHXL-F28027F, DRV8312, TMDSCNCD28069MISO, BOOSTXL-DRV8301

I just purchased the DRV8312EVM kit (Rev D) and got it working with the pre-flashed image, with the included 24V 4,000 RPM motor, and with a sensorless trapezoidal control mode via DRV8312GUIv5 on my PC.

I am now trying to build a simple application to drive a different 3-phase sensorless BLDC motor (24V 40,000 RPM). All I care about is if the speed can be controlled to within 10% of what i nominally set.


I am new to this type of motor control; so this is probably a pretty basic question:

(1) Where in the GUI_project source code do I need to make changes to support the different motor?

For now I've avoided InstaSPIN (opting for the basic GUI control instead) because it wasn't pre-flashed and it seemed more complex for my current sensorless needs. Thanks for your time/help.

  • In BLDC_Int-Settings.h you will need to increase

    #define BASE_FREQ       200 

    based on 40 KRPM * poles / 120

    you can also update

    #define POLES   8

    for a 40 KRPM motor it is going to be very low inductance, which means high short circuit / switching current. You will probably want to run the PWM faster than the 20 KHz in the project.  This is tough to do with this project though...you can probably go up to about 40 KHz though without an issue. I'd try that by changing both here:

    #define ISR_FREQUENCY 20
    #define PWM_FREQUENCY 20

    The InstaSPIN-FOC solution is easier to change these sort of things and get your motor running better. I usually recommend that solution over InstaSPIN-BLDC in almost all cases.

    You can run -FOC on your same DRV8312 EVM if you purchase TMDSCNCD28069MISO or for a lower price you can buy the LAUNCHXL-F28027F + BOOSTXL-DRV8301, which is specific for 6-24V motors up to 10A.

  • Thanks for the prompt reply.


    I ordered both of the options you suggested. Should arrive in a couple days.


    In the meantime, I've spent the afternoon trying to get JTAG to work via USB. I get an FTDI driver error when I try to test the connection via CSS (see log below). Any suggestions? I already uninstalled and reinstalled the drivers and CSS several times to no avail.

    Thanks!

    -----[Print the reset-command hardware log-file]-----------------------------

    The scan-path will be reset by toggling the JTAG TRST signal.
    The controller is the FTDI FT2232 with USB interface.
    The link from controller to target is direct (without cable).
    The software is configured for FTDI FT2232 features.
    The controller cannot monitor the value on the EMU[0] pin.
    The controller cannot monitor the value on the EMU[1] pin.
    The controller cannot control the timing on output pins.
    The controller cannot control the timing on input pins.
    The scan-path link-delay has been set to exactly '0' (0x0000).

    An error occurred while hard opening the controller.

    -----[An error has occurred and this utility has aborted]--------------------

    This error is generated by TI's USCIF driver or utilities.

    The value is '-150' (0xffffff6a).
    The title is 'SC_ERR_FTDI_FAIL'.

    The explanation is:
    One of the FTDI driver functions used during
    configuration returned a invalid status or an error.

    [End: Texas Instruments XDS100v1 USB Debug Probe_0]

  • Update - I spent this morning on this as well, and it is turning out to be a problem. I followed all the steps in the following wikis (http://processors.wiki.ti.com/index.php/Debugging_JTAG_Connectivity_Problems) (http://processors.wiki.ti.com/index.php/XDS100#Troubleshooting), and have been unable to resolve the issue..

    (1) Windows is showing healthy drivers according to the wiki's text and screenshots. I get TI XDS Channel A and Channel B. I am also getting the  correct vendor id and product id for XDS100v1 (VID_0403, PID_A6D0)

    (2) The FTDI USB-Serial emulator is working properly, and I can run the GUI which works with the pre-flashed image on the ControlCard.

    (3) No matter how many times I wipe the drivers, uninstall, and reinstall CCSv6, I keep reproducing that same log in my previous post.


    Any help/insights would be appreciated, thanks.

  • OK strangely, here were the steps to the fix:

    (1) I moved the USB connection from the connector on the front of the computer to the connector on the back of the computer. Ran the 'Test Connection' script in the CCSv6 target configuration tab --> FAIL with log shown in previous post (error code -150)

    (2) I ran dbgjtag_gui tests WITH reset (integrity, broken, path length, given data) --> all tests FAIL with same failure code (error code -150)

    (3) I ran dbgjtag_gui tests WITHOUT reset (integrity, broken, path length, given data) --> all tests PASS

    (4) I ran dbgjtag_gui tests WITH reset (integrity, broken, path length, given data) --> all tests PASS

    (5) I moved the USB connection from the back panel connector to the original front panel connector. I ran the 'Test Connection' script in the CCSv6 target configuration tab --> PASS

    (6) I was able to successfully flash the control card with the InstaSPIN image and get it to work with the provided InstaSPIN GUI

    So a combination of switching USB ports and testing 'without reset' then 'with reset' seemed to do the trick. Not sure what the 'root cause' of this issue is but at least it's addressed for now and I can move along.