m24h作者
3年1个月前IP:上海
925913
19楼

都是有兴趣的人 说得都有道理 何必吵架呢

精度确实是由编码器决定的 而编码器的主要误差是中心定位带来的 这个可以通过矫正得到 而电机误差主要来源于齿槽转矩 这个也是可以矫正的

通常校正的算法是让电机左转一圈 右转一圈 取编码器位置和电角度的误差 左转右转取平均 可以消除采样时间误差和转速带来的影响 然后滤波 其中低频成分 一圈有一个大起伏 就是编码器的中心误差 而其中的高频 频率与电机极数一样 就是齿槽误差 去除就好 这样校正之后 至少已经超过民用要求了

即便不矫正 正常装配下 千分之一圈的误差 折射到机械输出端 也就几个微米 民用足够了

RS485的速率也是够的 民用的距离 2MHz是没有问题的(Sony镜头接口也是串口 一般是1.5MHz 据说新机身新镜头是3MHz)这时候折算到字节 已经200kHz了 MCU其实已经得飞起来了

代价也很低 串口是MCU都有的 无论高速光耦(其实用光耦已经和RS485无关了 就是纯UART)还是接口芯片(比如Max3485)都2块钱可以买到

不同应用场景是有不同需要的 一般工业用的标准和协议 并不合适民用要求 所以需要自己写接口的 最简单的协议我设想过 只需要一个字节

1个前导位 表明是轴信号 还是辅助指令

3位数 表明给哪个轴

3位数 表明指令需要后移多少时隙 与其他轴同步

1位数 表明前进 后退

辅助指令可以包括上电 下电 定期宣告每轴总步进数进行校正等等 并不对时间要求太严格的 可以插在空闲时隙里

大概工业会复杂很多 考虑反馈 告警等等 但是民用需要简单

可惜我现在运动控制器用得舒服 配套上位机软件功能也很好 大抵不会自己再去实现一套 如果是3D打印倒好 反正都开源 修改一下输出方法并不难 UART接收比较麻烦 硬件处理为佳 但是只发送 软件实现很简单 不怕控制器UART口不够用

评论
文号 / 925913

千古风流
名片专栏发私信
学术分 1
总主题 68 帖总回复 1007 楼拥有证书:进士 学者 机友
注册于 2020/01/22 18:44:43最后登录 2026/10/31 02:54:58
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:上海

个人简介

个人开源项目: m24h.github.io

笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的