都是有兴趣的人 说得都有道理 何必吵架呢
精度确实是由编码器决定的 而编码器的主要误差是中心定位带来的 这个可以通过矫正得到 而电机误差主要来源于齿槽转矩 这个也是可以矫正的
通常校正的算法是让电机左转一圈 右转一圈 取编码器位置和电角度的误差 左转右转取平均 可以消除采样时间误差和转速带来的影响 然后滤波 其中低频成分 一圈有一个大起伏 就是编码器的中心误差 而其中的高频 频率与电机极数一样 就是齿槽误差 去除就好 这样校正之后 至少已经超过民用要求了
即便不矫正 正常装配下 千分之一圈的误差 折射到机械输出端 也就几个微米 民用足够了
RS485的速率也是够的 民用的距离 2MHz是没有问题的(Sony镜头接口也是串口 一般是1.5MHz 据说新机身新镜头是3MHz)这时候折算到字节 已经200kHz了 MCU其实已经得飞起来了
代价也很低 串口是MCU都有的 无论高速光耦(其实用光耦已经和RS485无关了 就是纯UART)还是接口芯片(比如Max3485)都2块钱可以买到
不同应用场景是有不同需要的 一般工业用的标准和协议 并不合适民用要求 所以需要自己写接口的 最简单的协议我设想过 只需要一个字节
1个前导位 表明是轴信号 还是辅助指令
3位数 表明给哪个轴
3位数 表明指令需要后移多少时隙 与其他轴同步
1位数 表明前进 后退
辅助指令可以包括上电 下电 定期宣告每轴总步进数进行校正等等 并不对时间要求太严格的 可以插在空闲时隙里
大概工业会复杂很多 考虑反馈 告警等等 但是民用需要简单
可惜我现在运动控制器用得舒服 配套上位机软件功能也很好 大抵不会自己再去实现一套 如果是3D打印倒好 反正都开源 修改一下输出方法并不难 UART接收比较麻烦 硬件处理为佳 但是只发送 软件实现很简单 不怕控制器UART口不够用
时段 | 个数 |
---|---|
{{f.startingTime}}点 - {{f.endTime}}点 | {{f.fileCount}} |