发布时间:2024-11-28 15:01
对同一个步进电机而言,末端执行器由初始位姿变换至不同的目标位姿时,其旋转方向、旋转速度及旋转角度通常不同。并且,在变换的过程中电机转速也不是恒定的:变换初期电机加速旋转,变换中期电机匀速旋转,变换末期电机减速旋转。
为确保关节正确旋转以及末端执行器能以稳定的轨迹到达期望位姿,必须对驱动各关节的步进电机进行精确的控制。本文选择以AT mega 2560为核心的Arduino下位机和两种型号的步进电机驱动器完成对步进电机的控制,相关代码烧录于下位机中,下表列出了控制1号电机的Arduino程序中所用到的主要变量名称及含义。
1号电机控制程序中主要变量名称及含义
序号 |
名称 |
含义 |
1 |
ACCStep |
加速运动步数 |
2 |
DCCStep |
减速运动步数 |
3 |
J1step |
1号电机旋转步数 |
4 |
AdjSpeed |
机械臂速度参数 |
5 |
J1caldir |
1号电机旋转方向 |
6 |
J1rotdir |
1号电机旋转方向标识 |
7 |
J1stepPin |
1号电机脉冲控制引脚 |
8 |
J1dirPin |
1号电机方向控制引脚 |
以关节1的控制为例,关节1的旋转方向由1号电机方向控制引脚J1dirPin控制,当引脚为高电平时电机反转,低电平时电机正转。方向控制引脚J1dirPin 的电平由J1caldir与J1rotdir共同决定。其中,J1rotdir由电机驱动的型号决定,J1caldir由上位机的运算结果决定。
关节1的旋转速度的调节是通过延时函数delayMicroseconds()以及机械臂速度参数AdjSpeed实现的:参数增大,延时时间增长,关节旋转速度降低;参数减小,延时时间减少,关节旋转速度增加。
关节1的旋转角度由加速运动步数ACCStep、减速运动步数DCCStep及1号电机旋转步数J1step确定。
pycharm连接远程服务器的docker容器进行运行和调试代码
cookie and session(妈妈再也不用担心你不会了)
【JDBC从入门到实战】JDBC基础通关教程(全面总结上篇)
Python使用traceback.print_exc()输出异常信息
MATLAB图像基本变换实验报告,MATLAB图像增强与变换处理实验报告
胡晓曼:MindSpore 开源运营与治理 | DEV. Together 2021 中国开发者生态峰会
matplotlib学习 设置图片大小、windows和linux设置字体的方式、频数直方图偏移现象、normed=True无效