1、在原有的电机控制算法中ADC双重同步模式(同时测量两相电流)下,增加一路测量线电压采样。
考虑到stm32f407有三个ADC,故配置ADC3来采样线电压,但是在实验过程会导致ADC12无法正常使用。
仔细分析:原来在ADC3配置会修改多个ADC的运行方式,双重模式下为ADC_DualMode_RegSimult,但假如ADC3配置后,独立模式ADC_Mode_Independent会使得之前ADC12配置的ADC_DualMode_RegSimult模式失败,从而导致AD12无法使用。因此,考虑利用stm32f407的三重模式来实现同时测量两相电流和线电压。
2、参考了STM32F4xx_StdPeriph_Examples中ADC的ADC_TripleModeInterleaved,为交替模式;为保证电机控制算法中电流为同步采样,应为同步模式;
之后参考STM32论坛的帖子:http://www.stmcu.org/module/forum/thread-603974-1-2.html
3、具体实现:
其中在ADC配置中,有几个需要特别注意:
ADC_CommonInitStructure.ADC_Mode = ADC_TripleMode_RegSimult;// 三重同步模式
ADC_CommonInitStructure.ADC_Prescaler = ADC_Prescaler_Div4;// 4分频,84/4=21M<36M
ADC_CommonInitStructure.ADC_