Other Parts Discussed in Thread: CONTROLSUITE, , DRV8329, DRV8323, DRV8303, DRV8328, INSTASPIN-BLDC
Hello,
I would like to understand a bit better how the DC bus current measurement works for a BLDC drive. I've bought the TI evaluation module DRV8303EVM and done some testing using the CCS InstaSPIN_BLDC project provided in the controlSUITE (controlSUITE\development_kits\DRV830x-HC-C2-KIT_v105\InstaSPIN_BLDC). I modified the code to be able to just control the PWM duty cycle using the macro PWM_CNTL_MACRO but for a fixed State = 0 which means current flows to motor windings from phase A->B (de-energized phase = C). I then connected the motor winding and run some tests for duty cycles up to 0.15 in order to have some current circulating in the winding. I used a picoscope with a differential probe to measure the signal I-TOTAL from the board which corresponds to the DC bus current signal to the board uC (see board schematic below).
The snapshot below is I-TOTAL for a duty cycle = 0.14. As expected the DC bus current presents pulses and, from my understanding, the actual current value should be the avg of that signal in an interrupt cycle (20kHz in this example).
However, looking at how the ADC module is setup in the code to sample the current it looks like the sampling window is very short (ACQPS = 6, hence 7 sample cycles). So, I'm wondering, is this sufficient to capture a large enough portion of the signal for a correct current measurement?
I'm quite new to the BLDC motor control where only the DC bus current can be measured to implement the six-step control, so I'd really like to understand this better from you. Do you have any documentation/application note I can read?
thanks
Giorgio