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.

Maximum Commutation Speed FOC, JM1 motor

Other Parts Discussed in Thread: DRV8301, DRV8301-69M-KIT, BOOSTXL-DRV8301, MOTORWARE, INSTASPINUNIVERSALGUI

OK, Chris do you know if Tim VanderMey ever got the JM1 motor running? I am in the InstaSPIN lab2c process and have used the information above, and the spreadsheet. After I have loaded the software and enter into the debug phase, The software will not allow me to set the "gMotorVars.Flag_enableSys" variable to 1. Here is the abbreviated user.h information:
// KJK 5/18/2015 begin Joby testing
// Original Flux values from BK Precision 878B Inductance meter
#elif (USER_MOTOR == My_Motor)
#define USER_MOTOR_TYPE MOTOR_Type_Pm
#define USER_MOTOR_NUM_POLE_PAIRS (11)
#define USER_MOTOR_Rr (NULL)
#define USER_MOTOR_Rs (0.4)
#define USER_MOTOR_Ls_d (21.5e-06)
#define USER_MOTOR_Ls_q (21.5e-06)
#define USER_MOTOR_RATED_FLUX (0.064)
#define USER_MOTOR_MAGNETIZING_CURRENT (NULL)
#define USER_MOTOR_RES_EST_CURRENT (3.0)
#define USER_MOTOR_IND_EST_CURRENT (-3.0)
#define USER_MOTOR_MAX_CURRENT (40.0)
#define USER_MOTOR_FLUX_EST_FREQ_Hz (110.0)
// Original CClearman calculation from E2E
//8.1 KRPM / 90 V * sqrt(3) = 1 / flux
// Flux = 0.064 V/Hz
// www.jobymotors.com/.../products.php
// for 55volts it's 145kV from Joby website
// (14500/55)*1.73 = 1/flux
// flux = 0.002192

However since the DRV8301-69 Kit is only rated to 60V, 40Amps, I set the power supply to 55 Volts for starters
and the USER_MOTOR_MAX_CURRENT to 40.0 amps. Can you point me in the right direction for my next step?

Thanks,
Kurt

  • look at gMotorVars.UserErrorCode
    take that name and look in user.c for the logic that is setting the error

    typically you would set the USER_MOTOR Rs, Ls_d, Ls_q, and Flux to (NULL) until after you have successfully ID'd the motor...this way you won't get Errors.


    Was there an original thread you are referencing?
  • I copy/pasted in your values and don't see the error.

    please use rich formatting and drag/drop your entire user.h into your reply
  • Bingo.  Thanks.  Happy Happy.  Motor spinning!

    gMotorVars.UserErrorCode USER_ErrorCode_maxCurrent_High

    The following user.h variable was set to (40.0), so I reset it to:

    #define USER_MOTOR_MAX_CURRENT          (10.0)

    Yes, even though Ls_d, Ls_q are transformed from 3 values to 2 and rotated through a matrix (I think), I noticed that the manually measured values are at least within an order of magnitude.  I will set these values to NULL and try it out.

    Thanks,

    Kurt

  • if(USER_MOTOR_MAX_CURRENT > USER_IQ_FULL_SCALE_CURRENT_A)
    {
    USER_setErrorCode(pUserParams, USER_ErrorCode_maxCurrent_High);
    }

    Are you using the DRV8301 EVM? (not the BoosterPack, the full EVM)
    Because it has a default of 41.25A which will allow you to set a max current of 40A.
  • Yes, I am using the DRV8301-69M-KIT with Vishay SUM110N06-3m9H  IGBT's (60V, 110A).  Notice the spreadsheet calculation recommended:   USER_IQ_FULL_SCALE_CURRENT_A  = 18A.  Maybe I was too aggressive with the spreadsheet.  Here is my current user.h -8030.user.h

    Hmmm.  This kit is only rated to 40Amps, the IGBT are rated 110Amps.  There must be something else limiting the kit current.

  • "Notice the spreadsheet calculation recommended: USER_IQ_FULL_SCALE_CURRENT_A = 18A."
    That's because B14 is 33.0 (the default for the BOOSTXL-DRV8301.

    You need to update those cells for the hardware you are using.

    "There must be something else limiting the kit current."
    The limit is on the current sampling scaling, as defined by the gain circuits and updated in USER_ADC_FULL_SCALE_CURRENT_A
    We set this kit up in HW and SW to measure +/- 41.25A maximum

    You can change the circuit to measure more current. Make sure you update the software variables.

    SPRUHJ1 is the user guide which discusses everything you would need.
  • Thanks, more labs and SPRUHJ1 next.

    25 seconds of LeapTECH:

    www.youtube.com/watch

    Quick social overview:

    www.youtube.com/watch

    geek-out:

    www.youtube.com/watch

    www.youtube.com/watch

    Kurt
  • pretty cool
    you're using off the shelf controllers today and looking to use InstaSPIN-FOC?

    I know of many UAV / Drones and a couple of manned flight systems all using InstaSPIN
  • Chris,

    In the file qsg_gui_instaspin_foc.pdf, for GUI Quick Start Guide:, InstaSPIN_FOC_F2806xM, Version 1.0.4 . The pdf file states: "The C code project (CCS developed target binary) that runs on these kits is FROZEN. This GUI interface has been a very reliable interface tool for my work. Did you guys release the code for this GUI in later versions of Motorware?

    Kurt
  • we never did. didn't want to support customers on this project as the directory / infrastructure / APIs are now quite a bit different...it would confuse people and be more trouble than it's worth.

    with that said, if you are just interested in the proj_GUI.c file to see how we handled certain things in the main code, I can post just that.

    We recommend using the latest MotorWare for anything beyond a basic demonstration. There is INSTASPINUNIVERSALGUI which instruments any MotorWare project.
  • Sure, I'll give proj_GUI.c a review. Kurt