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.
Part Number: BOOSTXL-DRV8323RS
I am trying to identify a small 8 pole motor and the Ls estimation seems to be very low.
I am using the software provided in motorware for the DRV8323 and the only changes to the USER.H is I increase the PWM freq and the PWM ticks as below.
#define USER_PWM_FREQ_kHz (60.0)
#define USER_NUM_PWM_TICKS_PER_ISR_TICK (3)
I also soldered the 0.1uF capacitor onto location C9, C10, and C11 on the DRV8323 board.
Below are the estimated values and motor settings during identification.
#elif (USER_MOTOR == My_Motor)
#define USER_MOTOR_TYPE MOTOR_Type_Pm
#define USER_MOTOR_NUM_POLE_PAIRS (4)
#define USER_MOTOR_Rr (NULL)
#define USER_MOTOR_Rs (0.0433574989)
#define USER_MOTOR_Ls_d (4.10688497e-12)
#define USER_MOTOR_Ls_q (4.10688497e-12)
#define USER_MOTOR_RATED_FLUX (0.0112582613)
#define USER_MOTOR_MAGNETIZING_CURRENT (NULL)
#define USER_MOTOR_RES_EST_CURRENT (3.0)
#define USER_MOTOR_IND_EST_CURRENT (-1.5)
#define USER_MOTOR_MAX_CURRENT (20.0)
#define USER_MOTOR_FLUX_EST_FREQ_Hz (40.0)
I measure 140 uH at 1kHz with my LCR meter between two phases of my motor.
I measure 0.3 ohms between two phases with a ohm meter.
Just wondering if the BOOSTXL-DRV8323RS needs any other changes to work in my application or if anyone else has had issues with this board.
In reply to Gary H:
Rick DuncanMotor Applications Team
In reply to Rick Duncan:
In reply to Yanming:
I was able to get the motor to identify. I just reloaded the User.h file from scratch and made the changes and it started working. I must have accidently change something in the file. The motor still runs a little rough and it is hard to find the correct PID gains to get it to run smoothly from start to 3000 rpms. I may need some dynamic PID settings that change with RPMs. I will check the things you mentioned and se where it leads me.
Thanks for the Help and Merry Christmas:)
I am still struggling with the BOOSTXL-DRV8323RS board to identify and run a motor. I have tried several motors and several DRV8323 boards. I have tried all kinds of settings in the USER.H file.
I then switched to the BOOST DRV8305 board and have had no problems identifying or running the same motors. I am wondering if the current feedback amps in the DRV8323 are not set up as good as the ones on the DRV8305 board. I was planning on using the DRV8323 on my next design, but may stick with the DRV8305 unless I can figure out what the difference is. I will start looking at current feedback signals and trying to troubleshoot the difference, but Thought I would post here to see if there are any others who have had the same problems or if there are any suggestions of what the problem could be.
I will provide more details as I discover them.
Motor Applications Team
5 Tips For Getting Quick Help On E2E
In reply to Nicholas Oborny:
Thanks for the help
I tried different IDRIVEN settings with the DRV8323. I added the below IDRIVEN commands to the DRV8323 software. This did not seems to help.
#ifdef DRV8323_SPI// turn on the DRV8323 if presentHAL_enableDrv(halHandle);// initialize the DRV8323 interfaceHAL_setupDrvSpi(halHandle,&gDrvSpi8323Vars);gDrvSpi8323Vars.Ctrl_Reg_06.CSA_GAIN = Gain_10VpV;gDrvSpi8323Vars.Ctrl_Reg_06.VREF_DIV = 1;gDrvSpi8323Vars.WriteCmd = true;
gDrvSpi8323Vars.Ctrl_Reg_03.IDRIVEN_HS = ISink_HS_0p060_A;
gDrvSpi8323Vars.Ctrl_Reg_03.IDRIVEP_HS = ISour_HS_0p060_A;
gDrvSpi8323Vars.Ctrl_Reg_04.IDRIVEN_LS = ISink_LS_0p060_A;
gDrvSpi8323Vars.Ctrl_Reg_04.IDRIVEP_LS = ISour_LS_0p060_A;
HAL_writeDrvData(halHandle,&gDrvSpi8323Vars);gDrvSpi8323Vars.ReadCmd = true;HAL_readDrvData(halHandle,&gDrvSpi8323Vars);
// enable DC bus compensationCTRL_setFlag_enableDcBusComp(ctrlHandle, true);
// Waiting for enable system flag to be set
The motor I am trying to identify measures 0.14mH between two phases in series with my inductance meter set to 1kHz.
I switched to a bigger motor with 0.48mH between two phases in series and the DRV8323 board seemed to identify and run better.
The DRV8305 board seems to work on both motors and seems to identify resistance and inductance closer to my measured values than the DRV8323.
I will start connecting a scope to the current feedback lines and see if I can see a difference. It may take me a few days to get to it, but if you guys have any other ideas, let me know.
Thanks for the feedback. Keep us posted and we will see how best we can resolve. As mentioned, spec wise the amplifiers are fairly similar so perhaps we are dealing with a subtle setup issue.
Some other brainstorming, the voltage divider scaling is about 30% higher on the DRV8323 EVM due to the extended voltage range of the device. For low inductance motors the back-emf will contribute significantly to the observer error. It may be ideal to match the divider ratio or even adjust it to be more suited for your 24V operation range.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.