|
本帖最后由 big-eblis 于 2009-5-24 00:47 编辑
1、用PWM做D/A调电流的方式进行调速,我觉得不好。这样调整管的发热会很厉害-特别是转速调整的比较低的时候,效率很低,很多功率都用来发热了。同时这种调速方式对调整管要求也比较高。而纯PWM调速,调速管弄颗2A的就完全够用了,也不需要考虑发热的问题;
2、4路16位计算是没有问题,问题的关键在于,测速我用的是中断法,即转速脉冲触发中断进行计数,然后用定时器产生一个阀门脉冲来取样。以3S为周期则取样一次获得的数正好对应单位10RPM的转速。这个办法的优点是不用像测周期那样需要进行复杂运算,但是如果要显示2550RPM以上的转速,则计数器必须是16位的。我在中断中用算法通过使用两个寄存器实现16位计数后,LCM驱动就会出现跑飞的情况,这时按键与温控都在工作,但是LCM无显示,即使有也是乱码。经调试发现,只要中断消耗的机器周期超过2个,就可能出现这个毛病,哪怕你消耗机器周期的语句只是NOP都不行
明天有空要好好检查下程序。 |
|