首页 > 编程知识 正文

步进电机与伺服电机,步进电机选型

时间:2023-05-05 19:40:58 阅读:45437 作者:3544

使用l298n模块驱动步进电机的效果演示步进电机的工作原理l298n模块的工作原理编写程序下载和布线

效果演示

最近使用步进电机的时候,发现细分驱动器太大了,光能使用细分驱动器并不能使用步进电机,找个没骨气的老驱动器自己写代码驱动步进电机吧l298n模块符合我的要求。 不仅小,还带有两个大功率电机的输出。 把他接到步进电机的4相正好。

按照惯例,先上效果图

可以正确控制步进电机的360度旋转和稳定的速度旋转。 我给你看教程

如果不知道步进电机的结构,就写不到驱动器。因此,下面就步进电机通过l298n的结构进行简单说明

如图所示,分别表示步进电机的4条线A A- B B-。 应该是在中学物理上学的,通过导线会产生磁场,所以只要改变图中所示的电流方向就可以得到不同方向的磁场。 图示的线圈是步进电机的定子。

接下来是如图所示的驾驶。 因为改变了电流的方向。 也就是说,这是因为不断改变定子的磁场。 根据异极相吸引的理论,转子追随变化的磁场旋转。 这就是步进电机旋转的原理。 然后我们怎么控制他的角度?

如图所示,我们只要控制A A- B B-的高低电平,就可以使步进电机旋转特定的角度并停止。 到了无限循环就一直等速旋转。 对应的真值表如下

这里一定有很多伙伴抱有疑问。 你那里不是八拍一圈吗? 你的步值不是360/8=45度吗? 为什么电机的步进值要小1.8度左右呢?

在这里科普。 以上是步进电机的实现原理。 现实中的步进电机很复杂。 因为转子周围还有很多小齿,比如1.8步进值的电机,转子的齿是50,所以公式中360/50/8=0.9就是半拍步进值。 360/50/4=1.8是步长值

据了解,l298n模块的工作原理是单片机的io端口可以输出pwm波,但不能带动电机等大功率的东西,而且水平也只有3.3v。 因此,需要l298n这样的功率放大的模块。 通过单片机的控制,可以产生方向和大小可变的电流、电压输出,可以在步进电机的四相产生相应的脉冲。

IN1和IN2分别接入单片机的两个pwm输出脚。 控制以占空比输出的电压的大小。 例如,给l298n接通12v电源,我给IN1输入50%占空比的pwm波,如果IN0输入电平为0,输出端口A A-就会产生正6v的电压。 该模块有两种方法,因此可以输出步进电机所需的四个电平进行驱动。 这就是驱动原理

写程序下载和布线

我选择了将crdxz1的1.2通道和crdxz的1.2通道分别连接到l298n的pwm1.pwm2.pwm3.pwm4

初始化对应的管脚和时钟。 因为是占空比控制,所以与频率无关。 这里选择了7.5khz。 开发板的时钟源为240米

如果在不初始化计时器的情况下使用io端口输出级别,请通过网络搜索进行学习

接下来是关键部分模拟步进电机的8拍运行。

决定占空比后,从端子输出pwm波时视为逻辑1,未输出时视为逻辑0。 这样就可以进行步进电机的逻辑输入了

这里的节奏输入间隔选择了1000us。 实测后,由于如此光滑,所以不会发生剧烈的晃动和失调。

然后是主函数。 我们如何实现某种角度的控制?

输入半拍的脉冲后会旋转0.9度,因此可以据此准确计算所需的角度。 另外,也可以进行死区循环,使电机等速运动。 旋转完成后,我记得失能电机。 否则,即使一直停止,电能不正确释放也会有不好的结果。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。