1.之前一直不是很理解的中断、触发、中断服务函数,今天感觉自己想通了,在电机控制,一般都说定时器触发ADC采样,可在定时器1的中断服务函数中又进行读取电流值操作。目前我的理解是:若设置ADC为软件触发,则需在定时器1中断服务函数中读取电流值,若设置ADC为硬件触发,就不用在中断服务函数读取电流值了。 * T @* t+ w3 d# r+ d2 ^# Q Z 2.练习了ADC+串口,算是电机控制程序第一步打通了“6路互补PWM+ADC电流采样” 附件如下/ D# @3 K. M, ]" @: ^3 a% x 3.后面最难的地方的就是利用开关霍尔估计转子角度,然后FOC+SVPWM。 2 S: [* F4 D$ B, z" E PS:理论框架我很熟,但具体实施,哪怕只是让电机转起来,我每天折磨来折磨去,无从下手,因为找不到一个合适的demo,我的是stm32f4+bldc(开关霍尔),后面后多参数需要自己理解去设置,期待我早日跨进FOC大门。1 d" b0 {6 Y$ A$ j 4 X% P3 [: q/ P" i f9 J ; F/ |+ F. t4 t& ^0 \5 q( y$ } 检查:ADC三相电流值在Q12格式下基本在2048左右附近,转换成电压即1.65V,符合( `) j2 p/ M! G6 ~ n7 d 改变电位器旋钮值,在300-4095间浮动 ————————————————/ ?, c" W, c d0 A1 x 版权声明:红火恍恍惚& N! _! x& W6 Z& t E0 U 如有侵权请联系删除3 X; X8 ]# M0 R* g & \$ R% I: ]+ u. u- V |