原帖由 3dbuild 于 2012-4-6 18:56 发表
f值15000好象没什么实际意义吧?惯性这么大,机器会抖得很,影响加工质量,除非很轻的负载,贴片机之类的,不过这种场合可以用同步带,这就不需要这么高的f值了。我觉得LZ有能力,不如研究一下用低成本的8位AVR单片机 ...
原帖由 3dbuild 于 2012-4-6 19:43 发表
你用伺服驱动就没办法了,是要这么高的输出频率
用我的方案,不需要M8来计算32位数据,由M168来做计算准备,把一长串脉冲拆分成最多255个脉冲,M8只负责输出脉冲,程序变得很简单,对于M168来说,处理时间比单CPU方 ...
原帖由 3dbuild 于 2012-4-6 19:56 发表
这个可以做到,对于6轴输出的其中一段来说,准备好6轴的每脉冲数据,每次定时器中断时进行各轴位置累加,判断各个输出端是否要输出,结果用位&操作保存在一个寄存器临时变量,最后一次性在同一个端口寄存器输出,每 ...
原帖由 3dbuild 于 2012-4-6 19:43 发表
你用伺服驱动就没办法了,是要这么高的输出频率
用我的方案,不需要M8来计算32位数据,由M168来做计算准备,把一长串脉冲拆分成最多255个脉冲,M8只负责输出脉冲,程序变得很简单,对于M168来说,处理时间比单CPU方 ...
原帖由 scottmaxwell 于 2012-4-6 20:04 发表
AVR io口没有置位和清零寄存器,否则你就会影响其他位 所以要先读取8个io口的状态 ,这些都需要CPU 开销的
原帖由 cjseng 于 2012-4-6 22:46 发表
在我看来,这是不可能的,单片机的速度根本到不到要求。不要说200K,20K也不可能。
前天刚好用单片机做了一个小东西,相当于控制4轴输出,最高频率50hz,最低1hz,不仔细点还做不好。
原帖由 3dbuild 于 2012-4-6 23:41 发表
RepRap里的Marlin固件可以用1个8位AVR CPU稳定输出10K的4轴脉冲驱动打印机,XY轴还带标准线性加减速控制,同时还在读SD卡,解释G代码,G代码还支持前向预读,可以在转向位置尽量保持恒定运动速度,还支持圆弧插补, ...
原帖由 3dbuild 于 2012-4-6 23:35 发表
从这段话来看,觉得你要么没有对AVR的处理器做深入的了解,要么没理解我的算法。实际上不需要置位和清零寄存器,也不需要读8个IO口的状态,CPU只是输出,不用管它原来是什么状态,原来的状态是通过运算得到。例如 ...
原帖由 3dbuild 于 2012-4-6 23:41 发表
RepRap里的Marlin固件可以用1个8位AVR CPU稳定输出10K的4轴脉冲驱动打印机,XY轴还带标准线性加减速控制,同时还在读SD卡,解释G代码,G代码还支持前向预读,可以在转向位置尽量保持恒定运动速度,还支持圆弧插补, ...
原帖由 scottmaxwell 于 2012-4-7 00:08 发表
RepRap本身的精度就不高,专用控制的 , 10k 4轴 提高一下效率 或许是可以作到的 ,但是他肯定是有很多限制的,并不是通用的.
比如你用 其他 CAM 软件生成的G代码,根本就不能运行
原帖由 3dbuild 于 2012-4-7 00:06 发表
方向,使能,脉冲总共用3个8位IO口,一片M8就足够了,M8只管脉冲,有什么问题吗?其他的采集口用M168,感觉你还是在想着用1片CPU做全部事情
原帖由 3dbuild 于 2012-4-6 23:41 发表
RepRap里的Marlin固件可以用1个8位AVR CPU稳定输出10K的4轴脉冲驱动打印机,XY轴还带标准线性加减速控制,同时还在读SD卡,解释G代码,G代码还支持前向预读,可以在转向位置尽量保持恒定运动速度,还支持圆弧插补, ...
原帖由 3dbuild 于 2012-4-7 00:15 发表
RepRap精度不高是机械部分,电子部分没有精度这个说法,只有稳定性,而稳定性可能比MACH3还高或者维宏卡还高,RepRap的打印动不动就连续运行24小时的,中间一出错就全部报废,这个你可能不了解。至于通用性,没有东 ...
原帖由 3dbuild 于 2012-4-7 00:29 发表
我好象从来都没有说过“2片AVR 性能会比一片高”?只是暗示"2片AVR价格比一片PIC32便宜几倍,而且可以做到类似的事情,前提是要求稍微降低一些"
遇到一些搞单片机开发的人,总是觉得8位的低级,觉得搞就得要搞32位 ...
原帖由 cjseng 于 2012-4-7 00:46 发表
我在想,6个轴,如果记为X、Y、Z、A、B、C的话,假设为了实现一条曲线,X频率200K,Y轴179K,Z轴127K,A轴121K,B轴89K,C轴77K,那么,请问这时候单片机的定时精度需要多少K?
原帖由 3dbuild 于 2012-4-6 23:35 发表
从这段话来看,觉得你要么没有对AVR的处理器做深入的了解,要么没理解我的算法。实际上不需要置位和清零寄存器,也不需要读8个IO口的状态,CPU只是输出,不用管它原来是什么状态,原来的状态是通过运算得到。例如 ...
原帖由 3dbuild 于 2012-4-7 09:48 发表
高手就不必了
我现在用的是比较旧的G3硬件的RepRap,使用3977驱动步进电机,修改固件可以选择细分,最新的硬件已经默认使用8细分,研究程序的话,可以看看它的最新版,5D的插补程序没怎么优化
你贴上来这个 ...
原帖由 3dbuild 于 2012-4-7 23:14 发表
从你发上来这个编译结果看,你没有把Step_out_mask设置为寄存器变量,所以改为Step_out_mask ^= Step_out_mask后,反而需要更多的内存读写,你现在的程序里,Step_out_mask只是一个存放在内存里的普通的自动变量,对 ...
原帖由 3dbuild 于 2012-4-8 12:37 发表
从图上可以看出,有大量的空白的无脉冲区域,你的中断程序在每个白色的小方格里,都要运行一段类似这样的操作
Sum_X_ASIX +=X_ASIX;
if(Sum_X_ASIX >= ASIX_Maxpulses)
{
...
欢迎光临 5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年) (http://5imx.com/) | Powered by Discuz! X3.3 |