加我模型论坛

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 5564|回复: 9

机床-雕刻机主轴PC电脑PWM控制的研究-G代码控制-测试初步成功!

[复制链接]
发表于 2009-10-30 15:36:26 | 显示全部楼层 |阅读模式
本帖最后由 joyrus 于 2009-11-5 17:34 编辑

在这里我只是一个学生,在网络上我找到的一些非常有用的资料和工具。

对于Super X0铣床的数控改装,其中有一个主轴的G代码控制功能待解决,希望利用原有的调速电路板来进行基础建设。

这里有一张PWM的脉宽调速电路图使用大家熟悉的555IC设计,其中引入了PC并口的电路,这对我很有用。当然手动控制的部分我们的SX0已经拥有了,所以更简单的PC接口电路使我的主轴G代码控制变成了可能。

PC+PWM+调速器.jpg

这个电路可能并非是最终的确定版本,有关这个电路的设计者与讨论者,大家可以在这里的原创地看到,甚至参与讨论。

http://www.ourdev.cn/bbs/bbs_content_all.jsp?bbs_sn=3580039

如果大家在网上找到了有用的资料,也请发出来一起共享吧。
 楼主| 发表于 2009-10-30 16:02:01 | 显示全部楼层
刚才看了一下西马特Super X0铣床的电机调速器,发现上面有一个预留的接口,根据电路结构看上去很像是给外部脉冲控制预留的接口,等下周我用设备测量一下是否真的是这样。

如果假设成立,那么就要恭喜大家了,只要也许2根电线+上Mach里简单设定一下就可以搞定G代码控制主轴功能了,以后程序里的M03,M05,S代码就不是形同虚设了,哈哈哈哈~~~~。
 楼主| 发表于 2009-11-2 19:53:54 | 显示全部楼层
本帖最后由 joyrus 于 2009-11-14 22:12 编辑

今天我仔细的研究了一下SX0的150W直流电机调速器的电路结构,有了重大的发现,已经顺藤摸瓜找到了PWM脉冲的入口点。

先说说西马特自己开发的这块调速板吧,据说这是西马特自己开发制造的,所以也没有指望在网上找到确切的技术资料,更不要说得到完整的电路原理图了。

但是,难不倒有心人,根据板子上使用的IC集成电路的型号,找到了相关调速器的应用范例。调速器使用的是LM324集成运放,大家可以通过网络找到使用此IC的直流电机调速器的应用案例。通过案例我找到了突破口,待我下面慢慢道来。

这里贴出电路原理图:

LM324应用案例.jpg

对电路有研究兴趣的朋友可以到这里查看电路原理解说:http://www.top-layout.cn/?action/viewnews/itemid/19955

由于调速器电路驱动的是220-240V的直流电机,所以今天在检测板子电路时特别的小心,而且在最终确定接口后,我还不能直接进行测试。原因是我使用的万用表虽然具有测试频率的功能,虽然检测出了驱动脉冲,但是无法测得准确的脉冲电压,同时调速板上的地和驱动控制板上的地是否可以共地也需要格外的小心。以上的疑问需要示波器的检测,呵呵,要请出我十几年前请回家的ST16型示波器了,还是用电子管的,哈哈~~~。

照片-448.jpg


照片-449.jpg


明天用它可以测到调速器上手动调速时的脉冲变化范围,再调整Mach3里的驱动脉冲与控制板的脉冲保持一致。然后,检测控制板和驱动板的脉冲电压,确定是否两者的电压幅度是否匹配,最后都确认了就可以连线上机测试了。

希望不要出意外。
 楼主| 发表于 2009-11-3 16:41:42 | 显示全部楼层
本帖最后由 joyrus 于 2009-11-5 17:15 编辑

今天对西马特SX0的调速板和Mach的驱动板进行了仔细的PWM驱动脉冲检测。

得到了下面的结果:

先看一下SX0调速板的脉冲情况:

照片-450.jpg


照片-451.jpg

根据示波器的显示,1个脉冲周期占用了约5个格子,示波器的档位切换在2ms/格,可以计算出1个脉冲周期为0.002×5=0.01秒。换算成频率1/0.01=100Hz。这就是调速板的PWM驱动脉冲频率,这个频率是固定不变的。同时根据示波器的电压档位为1V/格得到的脉冲电压为约12V(1格半不到,使用1:10的探头实际电压要乘以10)左右,这也是非常重要的参数。

再看一下Mach驱动板上的输出脉冲情况:

利用驱动板上的第五轴扩展接口的CW脉冲输出端,也就是对应电脑并口的1#pin,当然这个接口和你使用的mach本身的设计设定有关,请注意。

根据上面测得的脉冲频率,我首先对脉冲频率在mach软件中进行设定校准,依据100Hz的标准。设定Ports&Pins中的Spindle Setup页面中的PWMBase Freq.数值为100时,测得的PWM驱动脉冲频率为100Hz。

照片-453.jpg

照片-452.jpg

频率对上了,但是驱动板上的脉冲电压只有约4V无法正常驱动,我尝试着直接从调速板的脉冲输出端接入mach3的脉冲,结果没有任何的反应,再尝试跳过了之后的三极管放大电路输入整形电路,直接接入放大管的基极,这次驱动主轴有了反应,开始旋转了只是间歇性的转动(原因已经找到了,并且下本帖的后面详细的说明了),提高软件的PWMBase Freq.为500时(500Hz),可以在一定的转速下稳定旋转了,但是驱动力显然不够,而且通过程序S值的变化无法得到良好的响应。实际上低于4V的脉冲电压根本不可能很好驱动三极管的导通(之后证明脉冲电压低不是关键的原因),但是至此我已经可以确定SX0的G代码主轴控制是完全成立的。

接下来的首要任务是在mach控制板之后加入一级放大电路,然后再接入到调速板的脉冲接入口。

另外要还要说明一点,根据目前的简单接入mach脉冲的做法,原来调速板上的保护功能在G代码控制时是无效的,这点需要特别注意。这样保险丝的作用就很重要了,不能随意加大保险丝的规格。

以上的主轴的控制在mach3中的设定方法我稍后会详细的贴出。
 楼主| 发表于 2009-11-4 19:52:16 | 显示全部楼层
今天将mach驱动板的并口1#Pin的光耦输出端改成了射随器方式输出,并且断开了光耦集电极的5V板载电源,直接外接12V电源加入一个240欧姆的限流电阻,发射机对地接2K电阻。

经过了这样的改进后在光耦的发射机输出的方波电压可以达到约10V以上,再接入SX0的调速板就可以直接驱动调速板了。

M03,M05程序代码实验成功,但是发现实际无法调速,只能驱动马达的最高速旋转和停转。对比了调速板和Mach的脉冲信号,发现了一些不同之处,目前我还没有能够发现问题出在哪里?由于没有调速板的电路图,暂时还没有太多的时间来研究。

准备先把SX0的调速板做好手动与G代码控制的转换开关以及电路接口,首先实现G代码的主轴起停控制。
 楼主| 发表于 2009-11-4 21:30:47 | 显示全部楼层
本帖最后由 joyrus 于 2009-11-22 20:44 编辑

反复查看了之前找到的案例,终于发现了问题的所在,原来SX0调速板上的脉冲输出是与市电同步的,也就是市电50Hz正玄交流电通过全波整流后得到了半波频率为100Hz的电源,而晶闸管的导通触发脉冲需要与这100Hz的电源频率匹配,如果不在半波电源的电压高点导通,实际上就没有足够的电流为电机供电,这个触发脉冲就是浪费了,如果触发脉冲的频率也是100Hz,那么从第一个脉冲开始,没有一个脉冲能够在半波电源的电压高点导通也就不可能驱动电机正常运转了。

疏忽了这一点造成了调速的失败。上面的实验成功通过提高mach3的脉冲频率后使其中一部分脉冲可以同步同步,而大部分脉冲不同步(实际上晶闸管也就是单向可控硅基本上是长通状态),所以频率十来倍高于100Hz后马达就可以达到最高转速,而频率低后同步的脉冲数量就大幅度降低,马达就会很快的降低转速,甚至停转。

呵呵,原因找到了,看来需要对mach3驱动板上的PWM脉冲输出与SX0的脉冲做同步处理,而频率只要100Hz就够了。
 楼主| 发表于 2009-11-5 17:28:38 | 显示全部楼层
之前4楼提供的示波器测量数据有误,原因是校准示波器时使用的X轴时间档位提高了4倍,所以测出了错误的高于实际频率4倍的数据。包括探头是1:10的所以电压是实际电压的十分之一。现在我已经修正了之前的错误数据。

依据这几天的工作,可以确定的是即使Mach的CPU时钟得到的PWM脉冲无法与SX0调速板上的脉冲同步,但通过10倍以上提高Mach中PWM的频率可以使其中部分的脉冲与SX0调速板同步,同步率可以使调速板到达最大约90%的功率输出,可以满足要求了,只要在mach驱动板增加一级放大电路使用12V电源为电路供电就可以直接驱动SX0的调速板了。

至于利用SX0调速板进行G代码的调速,从现在来看基本无法实现,找不到简单的方法来实现两者脉冲的同步。

另外,经过这些工作之后发现西马特SX0的调速板,电器设计非常优良,具有非常好的保护系统,电机转速变化平稳,低速时的扭力也不错,值得称道。

有关主轴G代码的控制,包括G代码设定转速的功能还会继续研究讨论,最终一定会完整的实现这个功能。
 楼主| 发表于 2009-11-14 22:45:01 | 显示全部楼层
本帖最后由 joyrus 于 2009-11-14 22:48 编辑

还是对于3楼找到的LM324调速应用案例电路的分析与理解,发现对于电路中G点的电压调制三角波形经过LM324的比较器最终得到不同脉宽的方波。所以电路中G点的电压是关键,但是如果断开LM324对于G点的控制而直接提供调制电压的话,就会同时断开LM324的电流正反馈与电压负反馈,实际上电路就不能正常工作了。这个问题其实比较简单,只要在所有反馈电路之前找到一个控制点就可以了,在电路中这个控制点就是D点。

控制点已经找到了,那么如何将Mach控制板上的脉宽信号变为线性电压呢?我的想法有2点,简单的方法是使用RC或者LC电路滤波整形,就把脉宽型号当作半波电源进行滤波整形后得到一个电压,这个电压的高低与脉宽有关。另外一个办法就是通过一个转换电路把脉宽信号转变为线性电压。

有时间先对第一种方法做一些尝试看看,经过RC或者LC电路后的脉宽信号的电压是如何变化的,以及看看电压的波形是否足够平坦。
 楼主| 发表于 2009-11-14 23:14:29 | 显示全部楼层
刚才找到一个有关脉宽信号转为电压信号的电路,作者是用来控制变频器的变频器需要的是0-10V的电压来控制转速的,同时这个老外还给出了在Mach中的相关设置,不错!

http://www.cncathome.com/vfd.html
发表于 2009-11-24 21:58:31 | 显示全部楼层
老师,佩服啊!

学生还是未入门的新手,还希望能够在此多学到一些关于改装的知识。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|JOYRUS.com

GMT+8, 2019-10-15 16:30 , Processed in 0.140286 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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