|
我认为主要原因在于AVR单片机PWM实现方式问题。AVR的单片机一般都是一个定时器实现两路PWM输出,一个有6路PWM输出的单片机可能需要三个定时器实现。如果控制交流电机的话,需要6路PWM,那么可能三个定时器都用在了PWM输出功能上,这显然是极其不合理的。就拿最简单的三相无刷电机来说,也至少需要3路PWM输出,如果用简单的MEGA8实现,那么就会用调T1、T2定时器来产生PWM,而只剩下T0定时器作他用。这显然会造成本来用一个8位单片机资源就够用但是却不够用的情况。有人说了,用一路PWM输出就可以实现6路PWM输出,这本身没错,借助于外扩电路芯片,或者软件都可以实现,但是在一些应用场合,外扩电路芯片本身就是不允许或者一种笨拙的方法;如果用软件实现,那么软件就会比较复杂,为了实现很好的PWM输出,就需要占用CPU的很多资源,最最重要的是,这种方式下增加了软件的编制难度,花费大量CPU开销,为了输出比较好的PWM,软件要权衡很多东西。
如果让我重新选择,我不会选择AVR。
各位网友,有什么好的8位单片机推荐?最主要的是需要一个定时器输出至少3路PWM,这才是真正的适合于电机控制的MCU.
欢迎大家讨论!!
-----此内容被happyme于2006-11-20,10:18:48编辑过 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|