龙芯俱乐部开源技术社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
12
返回列表 发新帖
楼主: sigaofeng

3D打印机Marlin固件的详细分析

[复制链接]

48

主题

257

帖子

4920

积分

新手上路

Rank: 1

积分
4920
发表于 2016-5-31 16:23:11 | 显示全部楼层
阅读代码过程中,发现的疑难点,在网上发现了很好的解释,摘抄与此。

Marlin的步进电机驱动,是由中断响应函数实现的。然而远没有这句话来的那么简单:我认为整个控制系统的关键在于路径规划器(planner)。如果步进电机一直匀速运动,不需要任何规划器。不过对于3D打印机而言,x,y轴的运动往往速度变化非常频繁,如果采用匀速运动,速度的突然变化会给电路带来很大的冲击,影响机器的稳定性。这个物理层的原理,就决定了算法层应该采用加速减速的运动算法。路径规划器意味着,程序在执行步进电机的动作之前,就已经计算好了整个过程的速度曲线。后面就只是Stepper模块忠实地执行。这样的好处在于减少了中断响应函数中的运算量。由于3D打印机的机械运动相比控制器的16M主频来说要慢很多,采用缓存技术就能够有效的利用控制器速度。这里面蕴藏着“空间换取时间”的思想。路径规划器会在每次调用时,兢兢业业地把动作规划好,压入block_buffer这个队列。 步进电机的移动速度是严格按照规划器的规划结果,通过设置每次中断的周期寄存器来实现的。

48

主题

257

帖子

4920

积分

新手上路

Rank: 1

积分
4920
发表于 2016-6-12 10:57:57 | 显示全部楼层
网上找的一个用c改写的精简版的marlin固件源码
http://blog.csdn.net/oxiaridebing/article/details/47760259
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|龙芯俱乐部开源技术社区

GMT+8, 2024-4-18 10:25 , Processed in 0.116632 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表