42HS48步进电机实验
■ 前言
在 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双轴机械臂驱动模块
单片机C51工程文件:C51\STC\Test\2020\Tools\ULC2003STC8H1K28\ULC2003STC8H1K28.uvproj ↩︎
ISPHUB的STC8H1K28单片机工程文件:C51\STC\Test\2020\Tools\ISPHUBALLSELSTC8H1K28\ISPHUBALLSELSTC8H1K28.uvproj ↩︎
42HS48步进电机实验相关推荐
- 51单片机 | 步进电机实验
文章目录 一.步进电机简介 二.步进电机工作原理 1.步进电机极性区分 2.双极性步进电机驱动原理 3.单极性步进电机驱动原理 4.细分驱动原理 三.步进电机技术指标 1.静态技术指标 2.动态技术指 ...
- 基于STM32的步进电机实验
目录 基于STM32的步进电机实验 步进电机介绍 步进电机基础知识 步进电机参数说明 例题说明 基于28BYJ步进电机的介绍 28BYJ步进电机的配置流程 电机工作状态与引脚的关系 四相八拍的正向旋转 ...
- 基于STC8H1K28的双轴机械臂驱动模块:步进电机42HS348E,BH32角度传感器
作者:卓晴博士,清华大学自动化系 更新时间:2020-08-08 Saturday ■ 设计背景 这是一款用于化学实验室样品上样器的机械臂.设置有肘关节.肩关节以及上下移动关节. ▲ 双轴机械臂结构 ...
- 双关节机械臂+机械爪运动控制
01控制调试基础 在博文两轴机械臂+机械爪整体控制板设计与机械爪控制调试 中给出了双轴机械臂整体控制电路板的设计以及初步调试的过程.本文则完成对于双臂运动的控制调试. 控制调试包括两部分的内容: 机械 ...
- 两轴机械臂+机械爪整体控制板设计与机械爪控制调试
简 介: 在实验室样品自动上样双轴机械臂调试之后,出现了肩关节的运动力矩不足,这里使用了57HSXXXX步进电机进行增加力矩.下面是相关的调试过程. 关键词: 两轴机械臂,机械爪,上样机械臂 01为什 ...
- ULC2003达林顿管阵列STC8K28驱动电路模块
■ 制作背景 在博文 STC8K28步进电机ULC2003触发器 给出了基于ULC2003的OC输出模块,主要用于驱动一些具有光耦隔离的步进电机模块,在如下应用担当信号给定: 42HS48步进电机实验 ...
- BH38旋转编码器初步测试
■ 实验背景 在 42HS48EIS步进闭环电机最大转速 对于42HS48EIS这款步进电机和驱动合在一起的电机进行了测试,准备将其应用到实验室机械臂关节驱动中.但这款电机体积略长,现在又购得同款小体 ...
- 42HS48EIS步进闭环电机最大转速
■ 简介 42HS48EIS 电机是一款闭环步进电机,带有不丢步高效率低发热编码器.转速可达1500tpm. ▲ 42HS48EIS电机的基本参数 42HS48EIS步进电机标称工作电压24~36V. ...
- 用32定时器让电机缓慢转动_实验三 步进电机原理及应用
本文使用 Zhihu On VSCode 创作并发布 姓名: 张 政 学号: 21180615 实验目的和要求 初步学习和掌握MCS-51的体系结构和汇编语言,了解Keil编程环境和程序下载工具的使用 ...
最新文章
- php实现单选和多选功能,input:checkbox多选框实现单选效果跟radio一样
- Prolog基本程序
- C# WinForm开发系列 - DataGrid/DataGridView
- mysql归档日志满了_MySQL核心知识学习之路(1)
- Js String转Int(Number与parseInt的区别)
- OpenStack(五)——Neutron组件
- 从激活windows10家庭中文版到企业版再到开启Hyper-V
- Linux与JVM的内存关系分析(转)
- uva-993-贪心
- 全网年份最全-中国环境统计年鉴 1998-2021年
- 解决全网 99的视频下载问题
- 通用计算机按其规模速度和功能,电脑基础知识详解
- vue2.x中slot-scope插槽在vue3.x中的新写法
- 怎么在一台电脑上同时打开运行两个微信号
- nodejs项目mysql使用sequelize支持存储emoji
- WebBrowser 显示Html内容3点细节技巧
- halcon 计算图像的反余弦值:acos_image
- win10下安装MySQL8
- 已知有十六支男子足球队,参加2008 北京奥运会。写一个程序,把这16 支球队随机分为4 个组。
- acca计算机管理会计,acca与管理会计的八大区别在哪