■ 前言


42HS48EIS步进闭环电机最大转速 中给出了一款带有驱动器的步进电机的测量结果。为了进一步减少实验室机械臂设计重量,购置了更小的一款电机进行测。

▲ 实验电机的外观以及旋转光电编码器

用于测量步进电机旋转精度的搞定度绝对位置旋转编码器BH38 也在 写文章-CSDN博客 进行了测试。在本实验中,将根据 使用高精度旋转编码器BH60测量步进电机转动角度 文章中的方法对本款测试步进电机的旋转精度进行测量。

01初步运动测试


1.实验方案1

实验方案采用 42HS48EIS步进闭环电机最大转速测量方案,采用 STC8K28步进电机ULC2003触发器 完成对电机控制信号的驱动。

为了便于在面包板上进行实验,将步进电机控制引线中制作两组四芯的插头。

▲ 制作两个4芯插头便于在面包板上实验

2.测试最大速度

通过单片机dp命令,设置输出PWM的定时器1的周期,从而测试输出脉冲的最大速度。

根据实际测试,当设置 dp 55时,不仅电机能够运行,dp 54时,步进电机不再运行。

根据输出频率公式:

可以计算测到此时输出PWM的最大频率为625kHz。通过示波器测量脉冲频率为624kHz左右。

▲ 测试最大脉冲速度

3.测试一周的脉冲数量

(1) 测试脉冲周期

在单片机程序serialtxt中提供如下命令;其中通过_nop_语句完成延迟。调整适当的循环次数,实测输出脉冲的能够满足在第二步测试的最短速率的要求。

else IFARG0("pulse") {sscanf(SDA(1), "%d", &nNumber);for(i = 0; i < nNumber; i ++) {ON(IO1_PIN);for(j = 0; j < 100; j ++) _nop_();OFF(IO1_PIN);for(j = 0; j < 100; j ++) _nop_();}

最终确认设置:

for(j=0; j < 20; j++)

可以满足输出驱动的需要。

(2) 测试细分步数

通过设置步进电机的拨码开关(Sw2,3,4,5:OFF,OFF,OFF,ON),使得步进电机每周的步进次数为51200。

通过上面 pulse 命令,输出51200脉冲,可以测量步进电机正好旋转一周。这与对步进电机细分次数设定是相符的。

▲ 测试一周步进电机步数

▲ 输出51200个脉冲后步进电机旋转一周

02测量输出角度精度


1.测量方案2

测试的方案仍然采用在 使用高精度旋转编码器BH60测量步进电机转动角度 中的方法,只是将其中的角度传感器改成 BH38旋转编码器

实验的机械装置如下图所示:

▲ 将步进电机的输入与旋转角度传感器连接在一起

使用 ISPHUB基于STC8H1K28的BH60的角度读写模块STC8K28步进电机ULC2003触发器 模块连接在一起。然后通过编程发送步进指令和角度读取指令。

2.测量PYTHON程序

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST1.PY                     -- by Dr. ZhuoQing 2020-07-15
#
# Note:
#============================================================from headm import *
from tsmodule.tsstm32       import *stm32cmd('bh60clear')time.sleep(.5)
stm32cmd('CLEAR')stm32cmd('ps 20000 1')while True:key = stm32val()if key[12] != 0: breaktime.sleep(.5)stm32cmd('COPY')angle = [int(t) for t in clipboard.paste().strip('\r\n').split(' ') if len(t) > 0]tspsavenew('angle', angle=angle)
plt.plot(angle)
plt.xlabel("Steps")
plt.ylabel("Angle")
plt.grid(True)
plt.tight_layout()
plt.show()#------------------------------------------------------------
#        END OF FILE : TEST1.PY
#============================================================

3.测量结果分析

(1) 测量运动与步数之间的角度关系

下面是行走1000步,读取的角度与步数之间的曲线。

▲ 行走1000步,步长为1,角度与步数之间的关系

▲ 行走5000步,步长为1,角度与步数之间的关系

▲ 行走5000步,步长为1,角度与步数之间的关系

▲ 行走600步,步长为100,角度与步数之间的关系

(2) 结果分析

通过前两个实验(1000步,5000步)可以看到行进步数与读出角度之间并非严格的线性关系,这其中原因:

  • 有可能来自于步进电机与角度传感器之间的软连接的蠕动引起的;
  • 有可能来自于步进电机本水的细分呈现非线性;

对比中间两个实验(5000步,5000步)连续测量两次5000步对应的角度曲线,第二次的角度曲线呈现更好的线性性。这说明前面关于运行非线性的问题主要来自于测量软连接的关系;

第四个时间是通过600步、每步100个脉冲,测试了角度输出。由于BH38输出的角度范围是14bit(16834范围),可以看到角度呈现了一个轮回。由于输出步进电机的每周细分步数为51200步,上述交过也间接证明了电机的细分步数。

※ 结论


通过实验对步进电机的运行控制硬件方案,最快速运行脉冲频率,以及输出角度测量做了初步的实验。

通过实验测量了电机的每周细分步数。

相关应用

  • 基于STC8H1K28双轴机械臂驱动模块

  1. 单片机C51工程文件:C51\STC\Test\2020\Tools\ULC2003STC8H1K28\ULC2003STC8H1K28.uvproj ↩︎

  2. ISPHUB的STC8H1K28单片机工程文件:C51\STC\Test\2020\Tools\ISPHUBALLSELSTC8H1K28\ISPHUBALLSELSTC8H1K28.uvproj ↩︎

42HS48步进电机实验相关推荐

  1. 51单片机 | 步进电机实验

    文章目录 一.步进电机简介 二.步进电机工作原理 1.步进电机极性区分 2.双极性步进电机驱动原理 3.单极性步进电机驱动原理 4.细分驱动原理 三.步进电机技术指标 1.静态技术指标 2.动态技术指 ...

  2. 基于STM32的步进电机实验

    目录 基于STM32的步进电机实验 步进电机介绍 步进电机基础知识 步进电机参数说明 例题说明 基于28BYJ步进电机的介绍 28BYJ步进电机的配置流程 电机工作状态与引脚的关系 四相八拍的正向旋转 ...

  3. 基于STC8H1K28的双轴机械臂驱动模块:步进电机42HS348E,BH32角度传感器

    作者:卓晴博士,清华大学自动化系 更新时间:2020-08-08 Saturday ■ 设计背景 这是一款用于化学实验室样品上样器的机械臂.设置有肘关节.肩关节以及上下移动关节. ▲ 双轴机械臂结构 ...

  4. 双关节机械臂+机械爪运动控制

    01控制调试基础 在博文两轴机械臂+机械爪整体控制板设计与机械爪控制调试 中给出了双轴机械臂整体控制电路板的设计以及初步调试的过程.本文则完成对于双臂运动的控制调试. 控制调试包括两部分的内容: 机械 ...

  5. 两轴机械臂+机械爪整体控制板设计与机械爪控制调试

    简 介: 在实验室样品自动上样双轴机械臂调试之后,出现了肩关节的运动力矩不足,这里使用了57HSXXXX步进电机进行增加力矩.下面是相关的调试过程. 关键词: 两轴机械臂,机械爪,上样机械臂 01为什 ...

  6. ULC2003达林顿管阵列STC8K28驱动电路模块

    ■ 制作背景 在博文 STC8K28步进电机ULC2003触发器 给出了基于ULC2003的OC输出模块,主要用于驱动一些具有光耦隔离的步进电机模块,在如下应用担当信号给定: 42HS48步进电机实验 ...

  7. BH38旋转编码器初步测试

    ■ 实验背景 在 42HS48EIS步进闭环电机最大转速 对于42HS48EIS这款步进电机和驱动合在一起的电机进行了测试,准备将其应用到实验室机械臂关节驱动中.但这款电机体积略长,现在又购得同款小体 ...

  8. 42HS48EIS步进闭环电机最大转速

    ■ 简介 42HS48EIS 电机是一款闭环步进电机,带有不丢步高效率低发热编码器.转速可达1500tpm. ▲ 42HS48EIS电机的基本参数 42HS48EIS步进电机标称工作电压24~36V. ...

  9. 用32定时器让电机缓慢转动_实验三 步进电机原理及应用

    本文使用 Zhihu On VSCode 创作并发布 姓名: 张 政 学号: 21180615 实验目的和要求 初步学习和掌握MCS-51的体系结构和汇编语言,了解Keil编程环境和程序下载工具的使用 ...

最新文章

  1. php实现单选和多选功能,input:checkbox多选框实现单选效果跟radio一样
  2. Prolog基本程序
  3. C# WinForm开发系列 - DataGrid/DataGridView
  4. mysql归档日志满了_MySQL核心知识学习之路(1)
  5. Js String转Int(Number与parseInt的区别)
  6. OpenStack(五)——Neutron组件
  7. 从激活windows10家庭中文版到企业版再到开启Hyper-V
  8. Linux与JVM的内存关系分析(转)
  9. uva-993-贪心
  10. 全网年份最全-中国环境统计年鉴 1998-2021年
  11. 解决全网 99的视频下载问题
  12. 通用计算机按其规模速度和功能,电脑基础知识详解
  13. vue2.x中slot-scope插槽在vue3.x中的新写法
  14. 怎么在一台电脑上同时打开运行两个微信号
  15. nodejs项目mysql使用sequelize支持存储emoji
  16. WebBrowser 显示Html内容3点细节技巧
  17. halcon 计算图像的反余弦值:acos_image
  18. win10下安装MySQL8
  19. 已知有十六支男子足球队,参加2008 北京奥运会。写一个程序,把这16 支球队随机分为4 个组。
  20. acca计算机管理会计,acca与管理会计的八大区别在哪

热门文章

  1. 【大前端之前后分离01】JS前端渲染VS服务器端渲染
  2. 对象类什么是面向对象(1)
  3. iphone,ipad,关于icon图标的那些事
  4. ubuntu平台下搭建PHPWind网站运行环境
  5. tar xvf实现的是什么功能呢?
  6. Trie 树——搜索关键词提示
  7. MySQL自动化平台那些事-分秒必争
  8. Banana PI A20开发板 通过了CE,FCC,RoHS认证
  9. [置顶] 【IOS】IOS7 UI适配
  10. insertAdjacentHTML方法详解