• 马达步进机工作原理


    1、步进电机的基本原理

            步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。
            通常步进电机的转子为永磁体,当电流流过定子绕组时,定子绕组产生一矢量磁场。该磁场会带动转子旋转一角度,使得转子的一对磁场方向与定子的磁场方向一致。当定子的矢量磁场旋转一个角度。转子也随着该磁场转一个角度。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度 (称为"步距角"),它的旋转是以固定的角度一步一步运行的。
    可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

    2、步进电机分类

    按照转子分类

    (1) 反应式步进电机(VR):定子上有绕组,绕组由软磁材料组成。其结构简单、成本低、步距角小,可达1.2度,但动态性能差,效率低、发热大,可靠性难以保证。
    (2) 永磁式步进电机(PM):永磁式步进电机的转子用永磁材料制成,转子的极数与定子的极数相同。其特点是动态性能好、输出力矩大,但这种电机度差,步距角大(一般为7.5度或15度)。
    (3) 混合式步进电机(HB)。混合式步进电机综合了反应式、永磁式步进电动机两者的优点,其定子上有很多相绕组,转子上采用永磁材料,转子和定子均有多个小齿以提高步距精度。其特点是输出力矩大、动态性能好、步距角小,但结构复杂、成本相对较高。


    按照定子相数进行分类 

    分有两相、四相、五相等系列步进电机,我们使用的是两相四线步进电机。
    两相四线平面图如下:

    3 、步进电机的特性

    1)当步进电机接收到一定顺序的脉冲时,它就会根据脉冲的控制时序进行顺时针和逆时针的转动,脉冲的顺序决定了步进电机旋转的方向,脉冲的个数决定了步进电机转动的角度,脉冲的频率决定了步进电机的转速;

    2)有脉冲时步进电机就会转动一定角度,没有脉冲时它就会保持当前位置;

    3)步进电机具有快速启动和快速停止的特性;

    4)当负载在一定范围内时,步进电机的转速与负载无关;

    5)步进电机的转动方向很容易地通过反方向给脉冲时序来改变。
     

    4、两相四线工作原理

            电机有4个电极,一共有4个线圈接4个io口 ,两两串联。A+与A-是一组线圈,B+与B-是一组线圈。另外在我们的光机结构上还配有两个光耦电阻,用于右转到头和左转到头检查。而在软件上的设计是使用一个IO口来检查两个方向是否转到极限,其中转到最右边是读取IO口电平,每向右边转动一步会使用当前步数减1并保存到cri。而转左边时当前步数会逐步加1,当达到最大步数时停止转动,即到达最左边。而每当达到最左、最右边时都会调用消息回调机制,把状态传递回给w ui停止对焦页面的转动。
    查看驱动芯片的驱动时序如下:

     

    根据控制的精细程序可以分为full-step全步控制/half-step半步控制,全步控制,一周下来受力方向只改变4次,一周步数为4步。半步控制在全步的基础上增加4个受力方向,正如其名每一步的步进角都是全步的一半,半步转动的幅度更小,但转动360°一圈时间是全步的2倍。

    全步控制顺时针的时序为:
    二进制时序为: 1010 0110 0101 1001
    转为16进行:0x0A,0x06,0x05,0x09
    半步制顺时针的时序为:
    二进制时序为: 1010 0010 0110 0100 0101 0001 1001 1000
    转为16进行:0x0A,0x02,0x06,0x04,0x05,0x01,0x09,0x08
    0x0A :
    A+加正极,A-加负极,B+加正极,B-加负极,转子转到合力方向去

    0x06:
     A+加负极,A-加正极,B+加正极,B-加负极,转子转到合力方向去

    0x05:
    A+加负极,A-加正极,B+加负极,B-加正极,转子转到合力方向去

    0x09: A+加正极,A-加负极,B+加负极,B-加正极,转子转到合力方向去 

     

            通过4个控制pin脚来控制电压电流方向,从而控制转子收到的合力方向,每改变一次4个pin上高低电平的组合,合力方向就改变一次,转子也就步进一次。
            控制以上时序运行的越快,电机转动的越快,当然,转动也是需要花费时间的,所以根据转动一步所需的最小耗时,步进电机对电压的改变频率(PPS)也是由最大要求的。可以查看技术要求文档里面的空载牵入频率。如下图
     

    5.硬件设计 

            马达是驱动芯片是MP6507,马达的驱动芯片示意图左边红色框起来的对接的是主控芯片mt9266,称为输入io,右边黄色框起来的是输出io,在调试过程中用万用表测量过输入和输出io的状态方向了。蓝色圈起来的是马达和电感线圈。

     

    主控芯片电路原理图连接图如下

    这四个pin的电平直接由主控芯片来控制,拉高拉低组成顺时针和逆时针的时序

     6、软件控制流程

             想要使马达能够转动起来,首先要在mboot下配置马达的4个pin状态为输出io并默认为低电平,2个检测io为输入io状态,配置马达的供电io。
    当配置完成之后,需要在focus.ini中配置好io口的信息,马达的时序,PPS等信息。在中间件初始化的时候回去解析加载得到。
    问:马达转动到最左边的最大步数是怎么样确认?
    答:在主板出厂第一次刷机,cri中,马达的最大步数/当前步数都是为0 或者没有设置的情况下。会触发步进电机校正机制,从而得到马达的最大步数。中间件中,什么是马达走一步?
    前面得到的时序是{0x0A,0x06,0x05, 0x09},每执行这个数组中的一个元素,马达的4个pin输出了一组电平为一步。

    当整个系统启动完成,手动对焦功能处于准备就绪状态,等待来自用户的指令。当按下对焦右键时传入1,松开传入2;对焦左键时传入0,松开传入2。

  • 相关阅读:
    Python多线程与GIL锁
    【表情包分享】国庆假期结束了,该上班了,来分享一下你的表情包吧!
    RESTful 分享
    css_伪元素踩过的坑
    java毕业设计—— 基于java+JavaEE+jsp的售后服务管理系统设计与实现(毕业论文+程序源码)——售后服务管理系统
    Spring MVC 五 - DispatcherServlet初始化过程(续)
    数据库查询详解
    mfw git泄露构造闭合
    java毕业生就业登记分析管理系统springboot
    线性回归方程
  • 原文地址:https://blog.csdn.net/niaohaoge/article/details/126021935