1.之前一直不是很理解的中断、触发、中断服务函数,今天感觉自己想通了,在电机控制,一般都说定时器触发ADC采样,可在定时器1的中断服务函数中又进行读取电流值操作。目前我的理解是:若设置ADC为软件触发,则需在定时器1中断服务函数中读取电流值,若设置ADC为硬件触发,就不用在中断服务函数读取电流值了。- M' _6 q: r' ~2 ~8 y ! E8 G6 M! e0 T" ` 2.练习了ADC+串口,算是电机控制程序第一步打通了“6路互补PWM+ADC电流采样” 附件如下 # Q9 [7 E O3 K5 N* s8 y$ w# X 3.后面最难的地方的就是利用开关霍尔估计转子角度,然后FOC+SVPWM。 % D" H+ @' ^* p; Z/ W9 Y9 L3 s PS:理论框架我很熟,但具体实施,哪怕只是让电机转起来,我每天折磨来折磨去,无从下手,因为找不到一个合适的demo,我的是stm32f4+bldc(开关霍尔),后面后多参数需要自己理解去设置,期待我早日跨进FOC大门。4 X; t; m+ e1 S0 W7 J0 Z/ f 检查:ADC三相电流值在Q12格式下基本在2048左右附近,转换成电压即1.65V,符合3 W# W4 b1 _, M2 d' V* Z! y & c8 v1 S+ y" u! w8 g+ x 改变电位器旋钮值,在300-4095间浮动 ————————————————" p y7 D/ p) ~6 L5 L 版权声明:红火恍恍惚 如有侵权请联系删除 : R& y% E* s/ X& S6 y |