主控芯片用的是PIC30F,控制喷油和点火两个执行机构,直接用I/O控制通断。需求是这样通过采集到的转速,精确控制喷油和点火的起始时间和持续时间。
目前尝试了两种做法:一是在转速采集的IC中断中,初始化定时器1,并开定时器中断,然后在定时器1中置为喷油的I/0口,并初始化定时器2,开定时器2中断和清0喷油I/O口;点火与喷油控制策略一样。这样做的问题是即使转速不变,喷油控制的周期也很混乱。并且在2000转以下定时器2的中断进不去。并且定时器也不够用了。
尝试第二个方法是:喷油和点火类似,以其中一个为例。发动机转一圈360度,用定时器1定时0.1度的时间,然后在中断的弟n1(计算所得)次的时候置位喷油,在N2的时候清0喷油。这个的问题是在低速的时候问题不大,高速就不行了。而且0.1度还满足不了我的控制要求。
希望大家给我支支招。谢谢。 |