欢迎您光临机械网,如有问题请及时联系我们。

单片机设计,看谁会?

作者:机械网
文章来源:本站

  

单片机设计,看谁会?

  从题主的意思来看,所指步进电机应该是一个三相步进电机,假设分别为A相、B相、C相,其工作原理如下图所示。

  我们从电源正极+V出发开始,电流经过开关KA后流经A相的两个绕组,然后到达地线上。另外两相也仍然如此。

  单片机需要做的事情就是按一定的时序依次切换KA、KB、KC三个开关即可让电机正转或反转。可以用单片机的三个IO口来分别控制这三个开关,至于硬件如何实现不是本问题的重点,在此不详说了。

  下图是A、B、C三相的控制波形:

  图中步进时钟是单片机软件内部为编程方便所设置的一个软件时钟,周期为1ms。A相波形、B相波形、C相波形均为电流波形。

  假设控制KA的单片机IO口为高电平时,对应KA开关闭合,A相电流就有电流流过,电机就转一个步距角;然后KA断开,KB闭合,电机再转一个步距角;依次时序按A→B→C→A的顺序,电机就连续转起来了。

  如果要让电机反转,就按A→C→B→A的通电顺序就可以了。

  需要注意的是,电机在启动时由于惯性力矩的存在,软件必须让脉冲时钟频率从慢逐渐增加到所需的频率,如果一开始就用很快的速度启动,步进电机容易失速。

  本人从事单片机开发工作十多年,积累了丰富的单片机开发经验,我会不定期地给大家分享单片机开发方面的实用干货。

  如果会写程序,C语言也就几十行代码,很简单的程序,估计几分钟就能搞定,希望能帮到你。

  具体的参数不清楚,所以说说我的做法。

  了解电机的转向关系,如图,是要正转还是反转。三相单三拍不如三相单双六拍控制好。因为丢失任意一个节拍电机不会停转。所以按6拍画出通电顺序图。用单片机的IO口输出来控制三极管等功率器件驱动电机对应绕组。按照端口计算节拍的赋值,如0X0E,0X0C,0X0D,0X09,0X0B,0X03.用定时器产生1毫秒的中断,每进一次中断给端口按顺序赋节拍值,循环往复,步进电机就按照需要的转向不停运转了。

  当然你也可以通过程序,改变电机的转向,或者控制电机的圈数或角度,控制这个,就要根据硬件结构计算一圈的节拍数,通过软件控制节拍数来达到你需要的角度。

来源:文章来源于网络,如有侵权请联系我们及时删除。本文由机械网转载编辑,欢迎分享本文!