一根贯心横梁旋转,一颗滑块沿横梁进退。θ、ρ 两个平面连续自由度,把极坐标公式变成缓慢生长的实体光迹、沙痕或纸上作品。
下面每一条都是由公式现场计算,不是预存图片。点任意图案可查看指令轨迹;开环样机的真实轨迹与误差,还需要实测或编码器反馈确认。
手机上换一条曲线,发过去的是一个约 20 字节的已定义参数记录。同一台机器、同一段程序,就能生成不同图案。
当前绘制速度目标是 8 mm/s:五叶玫瑰线约两分半,蝴蝶曲线约二十分钟。长余辉板呈现的是不断生长和消退的移动光迹;要保留完整图案,应换纸或沙。
换个笔头就换一种画法:紫外光在余辉板上留痕、球头针在细沙里犁沟、真笔在纸上画。手机保存的是参数与理论指令轨迹,不是未经测量的实机轨迹。
一根横梁绕中心转,一个滑块在横梁上前后走。θ、ρ 合成后可把笔尖送到工作圆盘内的任意极坐标位置;纸笔的抬落是另一个辅助二态动作。
笔尖做成磁吸快换,换个头就换一种画法。同一条曲线,在三种介质上会留下不同痕迹;其中余辉板显示的是有限寿命的移动光迹。
画完一个图案要换下一个,笔必须先抬起来再移动,否则会在纸上拖出一条难看的连线。
滑块上装一个微型推挽电磁铁,行程 2 毫米。通电压下、断电弹起——断电时笔是抬起的,所以哪怕中途没电,笔也不会一直压在纸上洇出一个墨点。
笔尖要发光、电磁铁要通电,可横梁一直在转——转动的东西怎么供电?
传统滑环靠碳刷接触铜环导电,会额外引入滑动电接触、接触电阻变化与维护风险。
当前方案改用一对同轴线圈隔空送电:一个固定在底座、一个随横梁转动,中间不接触,靠电磁感应供电。它取消了滑环和碳刷,但轴承、皮带等机械件仍有寿命边界。
上述输出、间隙、温升与效率需要在旋转偏心和实际负载下做样机验证。
这是个摆件,会一天到晚一直画。纸会画满,沙会画乱,都需要人来收拾——那它就变成一个需要伺候的东西了。
长余辉板的痕迹会在一两分钟内自己淡掉,呈现的是新的光迹在生长、旧的光迹在消退,不需要更换耗材。想保留完整作品时,再换上纸笔头或沙盘。
想象一根钟表指针,但它是贯穿中心的一整根,上面串着一颗能前后滑的珠子。指针转到哪、珠子滑多远,就决定了珠子在桌面上的位置。
玫瑰线的公式 r = cos(kθ) 里那个 r,会变成负数。负数的意思是「往反方向走」。
一条五叶玫瑰线画完要过中心 5 次,一条蝴蝶曲线要 74 次。所以「贯穿」不是为了好看,是必须。
难点在这:横梁一直在转,怎么把径向驱动力送给滑块?答案是不把径向电机装到横梁上——让底座里的内轴和外管转得不一样快,这个「差」经同步带变成滑块位移。
从传动选型到控制程序,几个关键决定和它们背后的算账。
丝杆看起来更「精密」,但按当前抬笔快速移动目标 36.7 mm/s估算,常见 T4×2 丝杆会把电机推到约 1100 转/分。实际绘制目标仍是 8 mm/s;最终选型需结合加速度、负载和扭矩曲线验证。
若一只蝴蝶按 93,400 个采样点、每点两个 16 位坐标保存,约需 365 KiB。参数化公式按下方常规 C 结构通常占约 20 字节;无线传输还应定义固定字节序、版本和校验。
| 存坐标点 | 存公式 | |
|---|---|---|
| 一只蝴蝶 | 约 365 KiB | 约 20 字节 |
| 20 个图案 | 约 7.1 MiB 通常需要额外存储 | < 1 KiB 参数库即可 |
| 手机换图案 | 传数百 KiB | 传参数记录 |
| 手机走开后 | 要传完才能画 | 照画不误 |
控制循环每 5 ms 更新一次目标,但不能简单让 θ 匀速增加:要先沿曲线弧长推进,再受两个电机的速度与加速度上限约束,才能让笔尖接近恒定的 8 mm/s。
// 每 5 毫秒执行一次 void on_tick(void) { path_mm += limited_feed_step(8.0f, 0.005f); // ① 弧长推进,并遵守电机限速/限加速度 point_t p = curve_at_arclength(&cur, path_mm); float outer = p.theta_deg; // ② 横梁角度 float inner = outer + p.rho_mm / 62.8f * 360.f; stepper_goto(MOTOR_OUTER, outer); stepper_goto(MOTOR_INNER, inner); // ③ 内轴比外管多转的量决定滑块位置 }
inner 目标里必须加回 outer。滑块位置由「内轴比外管多转了多少」决定。开放曲线结束、换图案或回到起点时,还要先抬笔再快速移动,不能把重定位路径当成绘制轨迹。
typedef struct { uint8_t type; // 哪一类:玫瑰线/蝴蝶/心形… float a, k, phase; // 三个参数 float turns; // 转几圈才画完 } curve_t; // 常见 ABI 下通常为 20 字节,线上格式另行定义
手机上选「玫瑰线 k=5」,蓝牙发过去的就是 {0, 110, 5, 0, 0.5} 这么几个数。想要七叶?把那个 5 改成 7 就行——同一台机器,同一段程序。
该目标不含模具、装配测试、认证、损耗、税费与售后,需以供应商报价和样机 BOM 为准。
现阶段可先由步数推算位置,并用两个霍尔开关建立角度与径向零位,以较低成本验证结构和控制链路。但开环系统只能知道发出了什么指令,不能证明机构没有失步、回差或弹性变形;要声明真实轨迹与绝对精度,应增加编码器或外部测量并完成标定。