本帖最后由 eefishing 于 2019-3-4 21:33 编辑 ' W1 f( b+ n d8 b2 Z1 A 2 |7 `6 k6 x+ C" z8 z6 B " e; \- Q x5 b$ k' i 描述:一年前,在Makerfaire的参与者和Kickstarter社区的支持下,我发布了一个基于arduino的CNC控制器(“沙比尔”),专注于帮助K40激光设备的所有者,包括性能和工具链。虽然它的功能对于很多K40用户来说已经足够了,但是还有更多的高级用户需要额外的功能,比如Z表来提高激光对焦、旋转轴、风扇电机控制等等。 Dan建议升级到STM32。许多论坛都对这款臭名昭著的蓝色药丸进行了评论,许多用户仅仅是在实现闪烁LED灯。 + s. o+ m, A b2 o8 m ' H% W, J% [3 x0 c2 O" s 细节:; D* Z& e+ Z$ e* @ 照片:臭名昭著的蓝色药丸- j2 ]) f0 n R% l+ G$ J1 X4 q! N Gerbil Kickstarter上的一个曲球是AVR328PB微控制器(类似于Arduino AVR,但有16位PWM)出人意料地在全球范围内销售一空! 在我找到另一个供应商,Kickstarter上有足够的缓冲资金来吸收额外的费用后,一切顺利。' s% v2 ^3 z& q* G ' s: i3 s( Z. }9 d. x 我决定深入研究STM32世界,经过4000页的数据表和一些实验,我发现,尽管有正确的代码,但实际上什么也不能工作。在学习了ARM架构和在线帖子之后,我意识到用户需要打开每一个外围设备、外围总线、时钟,并通过代码将这些部件粘在一起。 这种复杂性背后的原因是ST授权了ARM cortex处理器,并围绕它构建了自己的基础架构。为了将能耗和电磁干扰降到最低,他们决定在默认情况下关闭一切。ST承认他们的方法很复杂,并尝试用STM32cube软件来减轻配置的痛苦。虽然我在这方面取得了一些成功,但它并没有减轻阅读所有数据表的负担! 1 {1 V0 Z5 t% k# ^/ i 在使用了一些基本功能之后,我开始将Gerbil设计移植到STM32。大多数旧的8位Gerbil代码必须转换为32位,因为有更多的轴和限制开关要覆盖。下一个挑战是,有些功能似乎是相互排斥的——我的控制线或限位开关都能工作,但不是两者都能。我偶然发现了一个没有文档记录的特性:GPIO端口可以配置为使用内部中断功能,但是配置不是原子的。换句话说,新配置将覆盖旧配置,因此任何配置更改都必须重复需要保留的任何配置设置。 照片:我的原型控制器8 C5 C; Y2 }* v; T5 S 有趣的一个方面是3d打印模型五轴数控测试机——毕竟,我想测试五轴运动,但不要发生在周围有一个昂贵的五轴铣床…这是一个伟大的举动,因为它是轻便,容易在当地众创空间运输。 从这些制造商的反馈,我一直在重复PCB的设计和测试一切。用户测试包括花一个周末的时间和一个钟表制造商去看他的车床和轧机与超级沙鼠一起工作。另一个测试用例升级Nomad 883轧机-丹剥离了原来的控制器,并安装了超级沙鼠。游牧者最初是一个三轴机器,但现在运动一个新的自定义设计的第四轴。 ( p B, M2 g! Z+ Y 2 K, B; D% a% K0 M& x0 k 我对社区贡献的潜力感到兴奋,所以将在Kickstarter之后发布设计。Kickstarter将于美国东部时间11月6日上午8点上线,点击http://www.kickstarter.com/proj ... 2500&token=88705198* I Y1 j# f' M 0 P6 ]4 K" |; L0 [ 作为我的试验台的DIY数控磨机可以从这里下载:http://www.thingiverse.com/thing:3204933,但仍有工作在进行中。 下一个步骤: 对于64 Kb或128 Kb的闪存(其中使用了41K),有足够的空间扩展Grbl ARM代码。我希望实现的两个特性是: * Q7 Z3 p: c8 i" c, k
0 L' G: j6 Q( h: w3 \/ t, { 总之,在经历了一段艰难的STM32学习曲线之后,超级沙鼠项目现在处于良好的状态,我期待着它的未来。8 x: r+ s2 O1 J$ F , _# G M$ Q# k- ^' b& X8 ^ 图:迭代5测试pcb / B/ z9 m# `, B9 H: h# M2 [/ v0 ]4 x 8 ^+ } p* D* d0 a0 x 原创:paulusjacobus- e) t+ q! M" H7 Y A& x2 Q/ M4 I 出处:http://hackaday.io/project/162136-super-gerbil-the-stm32-based-gcode-controller 2 w- j! V# p6 H3 Z |