Hell all,
I am currently working on PMSM sensorless program development using Concerto F28M35 and my own DRV8301 3-phase inverter.
Currently, I could run the motor open loop. When I am planing to close the current loop, I found the ADC reading was very noise from the pre-amp on DRV8301. The PCB trace from the current sense resistor is designed as differential pair and the caps are placed as close to the DRV8301 as possible.
I guess the problem could be from two aspects, hardware or software, or both... The software side, I read the code and found both ADC SOCs and mainISR are triggered by PWM1 counter zero event.
Following is the configurations of ADC SOCs
1. F28M35 has two ADCs, ADC1 simultaneously samples two samples(phase A current, and VDC), and ADC2 simultaneously samples two samples(phase B current, and spare)
2. both ADCs are triggered by PWM1 counter zero event.
3. MainISR triggered by PWM1 counter_zero event
Thus, when the mainISR reads the ADC result registers, it's highly possible the ADC conversions were not finished. I noticed the reference program on F28069 actually samples the leg currents in series due to one ADC available on chip. How should I set up the ADC channels and SOC on Concerto devices?
Thanks in advance for any advise!
best,