1.之前一直不是很理解的中断、触发、中断服务函数,今天感觉自己想通了,在电机控制,一般都说定时器触发ADC采样,可在定时器1的中断服务函数中又进行读取电流值操作。目前我的理解是:若设置ADC为软件触发,则需在定时器1中断服务函数中读取电流值,若设置ADC为硬件触发,就不用在中断服务函数读取电流值了。
2.练习了ADC+串口,算是电机控制程序第一步打通了“6路互补PWM+ADC电流采样” 附件如下
3.后面最难的地方的就是利用开关霍尔估计转子角度,然后FOC+SVPWM。
PS:理论框架我很熟,但具体实施,哪怕只是让电机转起来,我每天折磨来折磨去,无从下手,因为找不到一个合适的demo,我的是stm32f4+bldc(开关霍尔),后面后多参数需要自己理解去设置,期待我早日跨进FOC大门。
检查:ADC三相电流值在Q12格式下基本在2048左右附近,转换成电压即1.65V,符合
改变电位器旋钮值,在300-4095间浮动