0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

以反馈信号控制的步进电机XY平台选型

西西 来源:博客园 作者:V·Shawn 2020-09-10 15:43 次阅读

1.序言

半年没写过博客了,不过这对于我的博客来说似乎是常态?这半年来忙着做毕业论文,没弄什么自己的研究,而实验室的东西实在是不好泄露出来,所以我也是“虽欲言无可进者”了。

上星期趁着论文提交的空挡,把一直拖着的一个小项目开了个头,其实是朋友有个外快小项目要做,具体内容不说,项目的基础是XY平台的视觉控制,因此在前期研究中主要要做平台选型、控制购买、接线研究、模拟实验等工作,这里记述下来以防忘记,顺便也给其他人做个参考。

本次控制通过相机采集图像,以此为反馈信号做控制,使平台上的某个点位移到指定的位置。然后本文写得更像随笔形式,内容可能有点杂乱,见谅了。

2.平台选型与硬件接线

2.1 XY平台选型

项目中需要做到精度较高的位移控制,且承重要求3kg以上,因此XY平台选型时主要考虑步进电机的XY平台,淘宝上一搜就是一大片。

从中挑选了一台二手日本平台,由于价钱便宜店家不提供技术支持,接线什么的得自己搞。

2.2 步进电机驱动

步进电机驱动不需要购买,我手上有一块前辈留下来的,正好可以用,同样没有任何资料。从其电路板上发现驱动芯片是TA8435H,于是查到其引脚功能表。

根据这个功能表可以确定驱动上几个引脚的功能,并用一个四相步进电机测试,发现驱动板功能完好。

电机供电上,考虑到要驱动两台步进电机,并获得足够的驱动力,因此我试用了一个12V 4.5A的开关电源

2.3采集卡

为了使计算机能够控制电机驱动,这里还需要一个电脑IO卡,我用的依然是以前留下来mc100 USB Card,方便好用还便宜,淘宝上一搜一大把。这个东西IO口波纹比较大,而且没做好隔离容易烧,不过既然是实验用,那就将就一下了,实际产品中是肯定不能用这个的。

2.4平台接线

平台到货后检查发现电机型号查不到,只知道是三洋1.5A的步进电机,没办法只好电机的线给拨了,用物理方法来测极性。拨开线后发现步进电机是8相的,于是要测出四组通路,通过万用表测通,发现相通的几根线是这样的:

红-绿

蓝-白

黄-棕

黑-灰

为了测出四组线的相性,需要进行多次接线测试,并汇总结果得到下表(只保留了几组数据,实际中我为了完全确认相性,各种接线组合都测了):

根据这个表,可以确定最终的接线方法,此处使用的是并联接法,连线如下表。

8相步进电机还有另外一种串联接法如下图:

2.5硬件组装结果

最后把两个电机都接到步进电机驱动上,USB采集卡插好,XY平台锁死,相机固定。

得到了个凌乱的实验现场,图中上面那坨黑的是工业相机。

3.平台控制算法

控制这一块我已经丢了差不多三年了,现在再捡起来发现PID都不会写了,再加上步进电机的控制我也没做过,总之是不好弄啊。

首先极力回忆一下本科时微机原理课程设计里做步进电机控制那题是什么做控制的,想起有两种控制方式,一是控制步进电机的步长,二是控制其步数。那么这里既然要控制的是位移量,那么控制步数应该是比较好的选择。但对步进电机来说,每秒走1000步几乎已经是极限了,再快的话电机扭矩会不够,而1000步转换到XY平台上实际也就位移了1cm,所以当位移量较大时,控制的滞后环节可能会较大。但走几步就再控制一下也不现实,毕竟相机的采样时间摆在那,几步就采样控制一下那么控制花费的时间可能会较长……

想来想去也没想到一个最佳的控制方案,总之先用PID控制试试看。

于是搜索增量式PID公式,花十几分钟把C++版本的PID控制器写出来:

然后设计控制周期为100ms,死区5个像素,胡乱设置一下PID参数,只做x方向的平台控制。结果…好嘛,不管怎么样调试系统震荡都很严重,大概是这样子的:

最后我实在是懒得整定PID参数了,于是重新设计控制算法。

当误差大于50像素,用PD控制快速移动平台。

当误差在50像素以内时,根据事先做好的标定[注1],查表获得位移的步长进行一次移动。

移动完成后再次检查还有多少误差,以1的步长慢慢消除该误差。

[注1]这里目标点的位置是固定的,因此可以实现进行多次标定,确定图像上各个坐标上的点要位移目标点处需要走多少步,但考虑到相机畸变这个标定是无法完全准确的,因此为尽量减少畸变造成的误差,位移的目标点应放在相机视野中心,且只做该点半径50像素内的点的位移步数标定。

根据上述控制流程,能够较为快速地完成控制,控制精度可在0.5像素以内,具体可以达到多少由于现在相机的安装位置角度都没定下来,所以我暂时也没仔细测了。

4.程序结构设计

XY平台涉及到X方向与Y方向的控制,两个控制是相互独立的,因此我采用了两个线程对它们分别控制,下面是随手乱画的结构图:

程序运行后开辟三个线程,其中两个分别负责驱动两台电机,主线程则负责计算控制量,该控制量也就是另外两个控制线程的步数。

在架构上尚未做设计,但为了提高程序的可拓展性(毕竟实用化后相机、采集卡都得换),项目内的几个操作类都通过基类设计好了统一的接口,以方便今后更换硬件。

5.图像处理算法

这里图像处理算法偷懒了,采用的是《相机位姿估计2:[应用]实时位姿估计与三维重建相机姿态》中跟踪红点的方法,原理是差不多的,只是这里改成了追踪黑点而已,就不详细写了。

实际项目里图像算法当然不会那么简单,不过这里目前还是一片空白,是下一步的工作重点了。

6.实验截图

最后随便给两张程序运行时的截图,控制台坐标是当前黑点坐标,控制目标是[500,500],u1是x平台的控制量,u2是y平台的控制量。

运行过程中

两秒后完成位移,黑点被移动到设定位置。

完成控制

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 步进电机
    +关注

    关注

    152

    文章

    3122

    浏览量

    147994
  • 反馈信号
    +关注

    关注

    0

    文章

    32

    浏览量

    8262
收藏 人收藏

    相关推荐

    电机控制选型指南

    在现代工业和自动化领域,电机控制器扮演着至关重要的角色。它们不仅控制电机的运行,还直接影响到整个系统的能效和性能。因此,正确选型
    的头像 发表于 01-22 09:22 457次阅读

    步进电机控制实现方法

          步进电机,作为一种将电脉冲信号转换为相应角位移或线位移的电动机,是现代数字控制系统中不可或缺的重要组件。其工作原理基于电磁学原理,通过接收数字
    的头像 发表于 01-21 16:43 208次阅读
    <b class='flag-5'>步进</b><b class='flag-5'>电机</b>的<b class='flag-5'>控制</b>实现方法

    步进电机怎么选型

    1、电机怎么选? 步进角度:计算所需的步进角度,即电机每次接收到一个脉冲时转动的角度。 转速范围:确定理想的转速范围,包括最低和最高转速需求。 扭矩输出:估计所需的扭矩输出,
    的头像 发表于 12-17 10:06 389次阅读
    <b class='flag-5'>步进</b><b class='flag-5'>电机</b>怎么<b class='flag-5'>选型</b>?

    通过具体案例,选择合适的步进电机

          步进电机作为一种广泛应用于自动化控制领域的执行元件,其选型过程至关重要。正确的选型不仅能确保系统的高效稳定运行,还能有效降低成本
    的头像 发表于 12-13 07:34 546次阅读
    通过具体案例,选择合适的<b class='flag-5'>步进</b><b class='flag-5'>电机</b>

    行星减速步进电机步进电机的区别

    步进电机是一种将电脉冲信号转变为角位移或线位移的开环控制电机。其工作原理是通过电子电路将直流电分为多相序
    的头像 发表于 11-16 15:11 456次阅读
    行星减速<b class='flag-5'>步进</b><b class='flag-5'>电机</b>与<b class='flag-5'>步进</b><b class='flag-5'>电机</b>的区别

    步进电机驱动器有哪些类型?该如何分类?

    : 基于控制方式的分类 : 开环驱动器 :不需要反馈信号,直接根据输入的脉冲信号控制电机
    的头像 发表于 10-24 13:35 498次阅读

    步进电机如何自适应控制步进电机如何细分驱动控制

    步进电机是一种将电脉冲信号转换为角位移或线位移的电机,广泛应用于各种自动化控制系统中。为了提高步进
    的头像 发表于 10-23 10:04 885次阅读

    步进电机如何在加减速过程中控制技术?

    步进电机是一种将电脉冲信号转换为角位移或线位移的电机,广泛应用于各种自动化控制系统中。在加减速过程中,
    的头像 发表于 10-23 10:02 611次阅读

    步进电机转速怎么控制高低

    步进电机是一种将电脉冲信号转换为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲
    的头像 发表于 10-22 15:55 829次阅读

    步进电机控制技术及发展概况有哪些?

    步进电机是一种将电脉冲信号转换为角位移或线位移的执行元件,广泛应用于各种自动化控制系统中。步进电机
    的头像 发表于 10-22 11:50 349次阅读

    步进电机控制器电路图 步进电机控制器的分类及其特点

      步进电机控制器是一种专门用于控制步进电机的设备,它通过发出脉冲
    的头像 发表于 06-24 17:12 3832次阅读
    <b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>控制</b>器电路图 <b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>控制</b>器的分类及其特点

    什么是步进电机控制器?步进电机控制器电路图

    步进电机控制器是一种专门用于控制步进电机运行的装置。步进
    的头像 发表于 06-20 16:14 2365次阅读
    什么是<b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>控制</b>器?<b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>控制</b>器电路图

    步进电机控制系统是什么意思

    步进电机控制系统,作为现代工业自动化和精密控制领域的重要组成部分,其工作原理和实现方式一直受到广泛关注。步进
    的头像 发表于 06-18 18:12 1237次阅读

    步进电机控制器怎么调速度

    引言 步进电机是一种将电脉冲信号转换为角位移的电机,具有控制精度高、响应速度快、结构简单等优点。在自动化设备、机器人、数控机床等领域得到了广
    的头像 发表于 06-12 09:17 2470次阅读

    如何正确选择步进电机驱动器

    步进电机驱动器是步进电机系统中的重要组成部分,它负责将控制信号转换为
    的头像 发表于 06-05 18:04 2537次阅读