马达运动控制系统及方法

文档序号:6290744阅读:128来源:国知局
专利名称:马达运动控制系统及方法
技术领域
本发明涉及一种马达运动控制系统及方法,尤其是一种利用计算机及单片机控制马达运动的系统及方法。
背景技术
在影像量测技术中,利用影像量测机台对待测物体进行测量时,对于待测物体上不同尺寸的部件,影像量测机台上的镜头需要切换不同的倍率才能完成对该不同尺寸部件的精确测
镜头倍率的切换通常是通过镜头上的微型步进马达的运动来实现的。步进马达具有启动稳定,力矩大且精度高等优点,可以实现倍率切换时运动平稳,影像无抖动,且重复性及稳定性高。
现有技术中,对马达运动的控制通常被封装在马达控制器中,用户只能通过购买马达控制器才能实现对马达运动的控制,而马达控制器的价钱通常很高。

发明内容
鉴于以上内容,有必要提出一种马达运动控制系统,其可以简单、方便的实现对马达运动的控制,并且可以节约成本。
鉴于以上内容,有必要提出一种马达运动控制方法,其可以简单、方便的实现对马达运动的控制,并且可以节约成本。
一种马达运动控制系统,该系统包括相互连接的计算机及单片机。所述计算机包括数据获取模块及第一数据包发送模块。所述单片机包括第一数据包接收模块、单片机判断模块及数据转换模块。所述数据获取模块用于获取用户设定的镜头倍率数据。所述第一数据包发送模块用于将所述镜头倍率数据打包,以第一数据包的形式发送给单片机。所述第一数据包接收模块用于接收计算机的第一数据包发送模块发送的第一数据包。所述单片机判断模块用于根据接收到的第一数据包的包头判断该第一数据包的数据是否为镜头倍率数据。所述的数据转换模块用于对所述镜头倍率数据进行分析处理,转换为控制马达运动的马达控制信号。
一种马达运动控制方法,该方法包括步骤(a)计算机获取用户对一个镜头设定的镜头倍率数据;(b)计算机将所述镜头倍率数据打包,以第一数据包的形式发送给单片机;(c)单片机接收计算机传送过来的第一数据包;(d)单片机根据上述第一数据包的包头判断第一数据包的数据是否为镜头倍率数据;(e)若不是镜头倍率数据,则返回步骤(c); 及(f)若是镜头倍率数据,则单片机将该镜头倍率数据进行分析处理,转换为控制马达运 动的马达控制信号以控制马达运动。
相较于现有技术,本发明所提供的马达运动控制系统及方法,其采用计算机及单片机的 两极控制,由计算机接收用户设定的镜头倍率数据,由单片机对上述镜头倍率数据进行分析 与处理,转换成马达控制信号,可以简单、方便的实现对马达运动的控制,实现镜头倍率的 转换,并且可以节约成本。


图l是本发明马达运动控制系统较佳实施例的硬体架构图。
图2是图1中的计算机与单片机的功能模块图。
图3是本发明马达运动控制方法较佳实施例的实施流程图。
图4是本发明马达运动控制方法较佳实施例中步骤S15的详细实施流程图。
具体实施例方式
如图1所示,是本发明马达运动控制系统较佳实施例的硬体架构图。该马达运动控制系 统主要包括计算机l、单片机2及步进马达3。
所述计算机l主要用于获取用户设定的镜头倍率数据,将该镜头倍率数据打包,以第一 数据包的形式发送出给单片机2。本实施例中,所述镜头安装于一台影像量测机台(图l未示 出)中。所述镜头倍率可以为l倍倍率、4倍倍率或者9倍倍率等。
单片机2主要用于接收上述第一数据包,对第一该数据包中的数据进行分析与处理,转 换成用于控制步进马达3运动的马达控制信号。所述马达控制信号可以包括马达运动方向控 制信号、脉冲信号、置零信号等。
步进马达3用于通过单片机2的控制进行上下运动,以实现所述影像量测机台上镜头不同 倍率之间的切换。
进一步地,为了完善数据传送、信号转换、马达驱动的执行以及保护硬件等的目的,该 马达运动控制系统还可以包括电平转换单元4、信号放大单元5、脉冲环形分配单元6、功 率驱动单元7及相电流监控单元8 。
所述电平转换单元4通过RS232串口与计算机1及单片机2相连接,主要用于实现计算机l 发出的负逻辑电平与单片机2发出的正逻辑电平之间的相互转换。
所述信号放大单元5连接于单片机2,主要用于对单片机2发出的马达控制信号进行信号 放大。
6所述脉冲环形分配单元6连接于所述的信号放大单元5,主要用于将单片机2输出的单路 脉冲信号转换为四路脉冲信号以驱动步进马达3运动。
所述功率驱动单元7连接于所述的脉冲环形分配单元6,主要用于当单片机2发出的脉冲 信号功率过小而不能驱动步进马达3运动时,辅助驱动步进马达3运动。
所述相电流监控单元8连接步进马达3及功率驱动单元7,主要用于限制步进马达3的启动 电流及运转驱动电流,以防止电流过大而烧毁步进马达3。
如图2所示,是图1中的计算机1与单片机2的功能模块图。
所述计算机1主要包括数据获取模块10、第一数据包发送模块ll、第二数据包接收模块 12、计算机判断模块13及回馈模块14。所述单片机2主要包括第一数据包接收模块20、单片 机判断模块21、数据转换模块22及第二数据包发送模块23。
所述数据获取模块10主要用于获取用户设定的镜头倍率数据。所述的镜头倍率可以为l 倍倍率、4倍倍率或者9倍倍率等。
第一数据包发送模块ll用于将上述用户设定的镜头倍率数据打包,以第一数据包的形式 发送给单片机2。如用户设定的镜头倍率为9倍倍率,则第一数据包发送模块ll将获取的倍率 数据转换为"M9"的数据包,其中"M"为包头,"9"为镜头倍率。
所述第一数据包接收模块20主要用于接收计算机1传送给单片机2的数据包,包括上述第 一数据包发送模块ll发送过来的第一数据包。
所述单片机判断模块21主要用于判断上述第一数据包的数据是否为镜头倍率数据。所述 单片机判断模块21根据第一数据包的包头判断该第一数据包的数据是否为镜头倍率数据,即 若该第一数据包的包头为"M",则确定该第一数据包的数据为镜头倍率数据,否则,不是 镜头倍率数据。
当第一数据包的数据是镜头倍率数据时,所述的单片机判断模块21还用于判断该镜头倍 率数据是否有效。实践中,镜头倍率应该在一个具体的数值范围之内,如在1倍倍率到9倍倍 率之间,则该单片机判断模块21要判断该第一数据包的镜头倍率数据的值是否大于0且小于 等于9,若是,则该镜头倍率数据有效。否则,若该第一数据包的镜头倍率数据小于O,或者 大于9,则该镜头倍率数据无效,不对该数据作任何处理。
所述的数据转换模块22主要用于对有效的镜头倍率数据进行分析处理,转换为用于控制 步进马达3运动的马达控制信号。所述马达控制信号可以包括步进马达3运动方向控制信号、 脉冲信号、置零信号等。单片机2的内存中可以存储一个表格,该表格内记录着镜头所有倍 率所对应的脉冲数,例如1倍倍率对应着对步进马达3的2, OOO次脉冲,4倍倍率对应着对步进马达3的10, OOO次脉冲,及9倍倍率对应着对步进马达3的18, OOO次脉冲等。所述数据转 换模块22首先将第一数据包的镜头倍率数据将其转换为对应的脉冲数。进一步地,所述的数 据转换模块22将镜头当前的倍率所对应的脉冲数与第一数据包的镜头倍率所对应的脉冲数进 行对比,以确定步进马达3的运动方向。若第一数据包的镜头倍率所对应的脉冲数大于镜头 当前倍率所对应的脉冲数,则步进马达3应向上运动。否则,若第一数据包的镜头倍率所对 应的脉冲数小于镜头当前所处倍率所对应的脉冲数,则步进马达3应向下运动。进一步地, 所述的数据转换模块22计算出镜头当前的倍率所对应的脉冲数与第一数据包的镜头倍率所对 应的脉冲数的差值,以得到可以驱动步进马达3运动到达目标位置的脉冲数。所述目标位置 是指为了能够使镜头精确地切换到用户设定的镜头倍率,而使步进马达3运动到所应该到达 的位置。
进一步地,为了消除步进马达3的齿轮间隙影响,所述的数据转换模块22也可以产生步 进马达3的置零信号。所述置零信号是指驱动步进马达3退回到原点位置的信号。通常情况下 ,步进马达3的运动是通过驱动主齿轮的转动带动从齿轮转动,从而实现步进马达3的位置移 动。众所周知,主齿轮与从齿轮的轮齿相互接触咬合时,主齿轮才能带动从齿轮转动,当主 齿轮始终向一个方向转动时,主齿轮与从齿轮相互接触的轮齿始终是咬合的。若当主齿轮改 变转动方向时,主齿轮需要移动一个从齿轮的轮齿间隙的距离才能与从齿轮的轮齿接触咬合 ,带动从齿轮向相反方向转动。因此,当多次改变镜头倍率,需要步进马达3向相反的方向 运动时,可能由于齿轮间隙的原因造成调整的镜头倍率不精确。因此,为了消除齿轮间隙带 来的误差,需要首先将步进马达3返回到原点位置,再根据第一数据包的镜头倍率所对应的 脉冲数驱动步进马达3向上运动到达目标位置。
所述第二数据包发送模块23主要用于将步进马达3驱动结果的数据打包,以第二数据包 的形式发送给计算机l。所述驱动结果的数据是指步进马达3是否驱动成功,到达了目标位置 。若到达了目标位置,则可以发送第二数据包"M9K"到计算机l,代表步进马达3已经驱动 成功,镜头倍率已经切换为9倍倍率。
所述的第二数据包接收模块12主要用于接收第二数据包发送模块23发送的第二数据包。
所述的计算机判断模块13主要用于根据第二数据包的数据判断步进马达3是否被成功驱 动。如上所述,第二数据包发送模块23会发送第二数据包"M9K"给计算机l,所述计算机判 断模块12首先判断该第二数据包的包头是否为"M"以确定该数据是否为镜头倍率数据。若 是镜头倍率数据,则判断该第二数据包最后一位数据是否为"K",若是,则确定步进马达 3已经驱动成功,否则,确定步进马达3没有驱动成功。所述的回馈模块14主要用于当计算机判断模块12确定步进马达3没有驱动成功时,将错 误信息反馈给用户,以便用户进行处理。进一步地,所述的回馈模块14也可以用于当计算机 判断模块12确定进马达3驱动成功时,将成功信息反馈给用户。
图3是本发明马达运动控制方法较佳实施例的实施流程图。
步骤SIO,数据获取模块10获取用户设定的镜头倍率数据。本实施例中,所述镜头安装 于一台影像量测机台中。所述的镜头倍率可以为l倍倍率、4倍倍率或者9倍倍率等。
步骤Sll,第一数据包发送模块ll将用户设定的镜头倍率数据打包,以第一数据包的形 式发送给单片机2。如用户设定的镜头倍率为9倍倍率,则第一数据包发送模块ll可以将获取 的数据转换为"M9"的数据包,其中"M"为包头,"9"为镜头倍率。
步骤S12,第一数据包接收模块20等待并接收计算机1传送过来的第一数据包。
步骤S13,单片机判断模块21判断上述第一数据包的数据是否为镜头倍率数据。所述单 片机判断模块21根据第一数据包的包头判断该第一数据包的数据是否为镜头倍率数据。若第 一数据包的包头不是"M",则该数据不是镜头倍率数据,则返回步骤S12。
若第一数据包的包头是"M",则该第一数据包的数据是镜头倍率数据,在步骤S14中, 单片机判断模块21判断该镜头倍率数据是否有效。若镜头倍率数据小于O,或者大于9,则被 率数据无效,返回步骤S12。
否则,若镜头倍率数据大于且小于等于9,则镜头倍率数据有效,步骤S15,单片机2执 行中断操作,数据转换模块22将第一数据包的镜头倍率数据进行分析处理,转换为用于控制 步进马达3运动的马达控制信号以驱动马达运动。所述马达控制信号可以包括步进马达3运动 方向控制信号、脉冲信号、置零信号等。该步骤S15的详细转换步骤请参阅图4所示。
步骤S16,单片机2的第二数据包发送模块23将对步进马达3驱动结果的数据打包,以第 二数据包的形式发送给计算机l。例如,若成功驱动,则可以发送第二数据包"M9K"到计算 机l,代表步进马达3已经成功驱动,镜头倍率已经切换为9倍倍率。
步骤S17,第二数据包接收模块12接收单片机2的第二数据包发送模块23发送的第二数据包。
步骤S18,计算机判断模块12根据第二数据包判断步进马达3是否被成功驱动。所述计算 机判断模块12首先判断该第二数据包的包头是否为"M"以确定该数据是否为镜头倍率数据 。若是镜头倍率数据,则判断该数据包最后一位数据是否为"K"。若该数据包最后一位数 据是"K",则确定步进马达3已经被成功驱动,可以直接结束流程。
否则,若该第二数据包最后一位数据不是"K",则确定步进马达3没有驱动成功,步骤S19,回馈模块14将错误信息反馈给用户,以便用户进行处理。
图4是本发明马达运动控制方法较佳实施例中步骤S15的详细实施流程图。 步骤S150,数据转换模块22将第一数据包的镜头倍率数据转换为对应的脉冲数。单片机 2的内存中可以存储一个表格,该表格内记录着镜头所有倍率所对应的脉冲数,例如l倍倍率 对应着对步进马达3的2, 000次脉冲,4倍倍率对应着对步进马达3的10, OOO次脉冲,以及9 倍倍率对应着对步进马达3的18, OOO次脉冲等。所述数据转换模块22根据该表格将第一数据 包的镜头倍率数据转换为对应的脉冲数。
步骤S151,所述的数据转换模块22将第一数据包的镜头倍率所对应的脉冲数与镜头当前 的倍率所对应的脉冲数进行对比,判断两者是否相同。若相同,则直接结束流程。
若第一数据包的镜头倍率所对应的脉冲数与镜头当前的倍率所对应的脉冲数不相同,则 步骤S152,所述的数据转换模块22计算出步进马达3的运动方向以及驱动步进马达3运动到达 目标位置的脉冲数。详细地,若第一数据包的镜头倍率所对应的脉冲数大于镜头当前所处倍 率所对应的脉冲数,则步进马达3向上运动,否则,若第一数据包的镜头倍率所对应的脉冲 数小于镜头当前所处倍率所对应的脉冲数,则步进马达3向下运动。所述驱动步进马达3运动 到达目标位置的脉冲数是指镜头当前的倍率所对应的脉冲数与第一数据包的镜头倍率所对应 的脉冲数的差值。
步骤S153,所述的数据转换模块22驱动步进马达3根据上述的运动方向和到达目标位置
的脉冲数向目标位置移动。
作为本发明的另一实施例,为了消除步进马达3的齿轮间隙对调整的镜头倍率精确度的 影响,所述的数据转换模块22将第一数据包的镜头倍率数据转换为对应的的脉冲数后,发出 步进马达3的置零信号,驱动步进马达3退回到原点位置,再根据第一数据包的镜头倍率数据 所对应的脉冲数驱动马达向上运动到达目标位置。
以上所述的步进马达3仅为本发明的优选实施例,本发明提供的马达运动控制系统及方 法同样适用于其它类型的马达,凡依本发明权利要求所做的等效变化与修改,皆应属本发明 的涵盖范围。
10
权利要求
权利要求1一种马达运动控制系统,该系统包括相互连接的计算机及单片机,其特征在于,所述计算机包括数据获取模块及第一数据包发送模块,所述单片机包括第一数据包接收模块、单片机判断模块及数据转换模块,其中所述数据获取模块用于获取用户设定的镜头倍率数据;所述第一数据包发送模块用于将所述镜头倍率数据打包,以第一数据包的形式发送给单片机;所述第一数据包接收模块用于接收计算机的第一数据包发送模块发送的第一数据包;所述单片机判断模块用于根据接收到的第一数据包的包头判断该第一数据包的数据是否为镜头倍率数据;及所述的数据转换模块用于对所述镜头倍率数据进行分析处理,转换为控制马达运动的马达控制信号。
2 如权利要求l所述的马达运动控制系统,其特征在于,所述的单片机还包括第二数据包发送模块,用于将马达驱动结果的数据打包,以第二数据包的形式发送给 计算机。
3 如权利要求2所述的马达运动控制系统,其特征在于,所述计算机还包括第二数据包接收模块,用于接收第二数据包发送模块发送的第二数据包; 计算机判断模块,用于根据所述第二数数据包的数据判断马达是否被成功驱动;及 回馈模块,用于当马达没有驱动成功时发出错误信息反馈给用户。
4 如权利要求l所述的马达运动控制系统,其特征在于,所述的马达 控制信号包括脉冲信号、运动方向控制信号及置零信号。
5 如权利要求l所述的马达运动控制系统,其特征在于,该马达运动 控制系统还包括电平转换单元,其通过RS232串口与计算机及单片机相连接,用于实现计算机发出的负 逻辑电平与单片机发出的正逻辑电平之间的相互转换。
6 如权利要求5所述的马达运动控制系统,其特征在于,该马达运动 控制系统还包括信号放大单元,其连接于单片机,用于对单片机发出的马达运动控制信号进行信号放大。
7 如权利要求6所述的马达运动控制系统,其特征在于,该马达运动 控制系统还包括脉冲环形分配单元,其连接于所述的信号放大单元,主要用于将单片机输出的单路脉 冲信号转换为四路脉冲信号以驱动马达运动。
8 如权利要求7所述的马达运动控制系统,其特征在于,该马达运动 控制系统还包括功率驱动单元,其连接于所述的脉冲环形分配单元,用于当单片机发出的脉冲信号功 率不能驱动马达运动时,辅助驱动马达运动。
9 如权利要求8所述的马达运动控制系统,其特征在于,该马达运动 控制系统还包括相电流监控单元,其连接马达及功率驱动单元,用于限制马达的启动电流及运转驱动 电流,以防止电流过大而烧毁马达。
10 一种马达运动控制方法,其特征在于,该方法包括步骤(a) 计算机获取用户对一个镜头设定的镜头倍率数据;(b) 计算机将所述镜头倍率数据打包,以第一数据包的形式发送给单片机;(c) 单片机接收计算机传送过来的第一数据包;(d) 单片机根据上述第一数据包的包头判断第一数据包的数据是否为镜头倍率数据;(e) 若不是镜头倍率数据,则返回步骤(c);及(f) 若是镜头倍率数据,则单片机将该镜头倍率数据进行分析处理,转换为控制马达 运动的马达控制信号以驱动马达运动。
11 如权利要求10所述的马达运动控制方法,其特征在于,其中步骤(f)包括(n)将第一数据包中的镜头倍率数据转换为对应的脉冲数;及(f2)将上述第一数据包中的镜头倍率数据所对应的脉冲数与所述镜头当前的倍率数3据所对应的脉冲相比较,确定马达的运动方向及驱动马达到达目标位置的脉冲数。
12.如权利要求10所述的马达运动控制方法,其特征在于,该方法还包括单片机将马达驱动结果的数据打包,以第二数据包的形式发送给计算机; 计算机接收单片机发送的第二数据包;及若计算机根据所述第二数据包判断马达没有被成功驱动,则发送错误信息反馈给用户
全文摘要
本发明提供一种马达运动控制系统,包括相互连接的计算机及单片机。所述计算机包括数据获取模块及第一数据包发送模块。所述单片机包括第一数据包接收模块、单片机判断模块及数据转换模块。所述数据获取模块用于获取用户设定的镜头倍率数据。所述第一数据包发送模块用于将所述镜头倍率数据打包,以第一数据包的形式发给单片机。所述第一数据包接收模块用于接收上述第一数据包。所述单片机判断模块用于判断该第一数据包的数据是否为镜头倍率数据。所述的数据转换模块用于对所述镜头倍率数据进行分析处理,转换为控制马达运动的马达控制信号。本发明还提供一种马达运动控制方法。本发明可以简单、方便的实现对马达运动的控制,并且可以节约成本。
文档编号G05B19/418GK101464683SQ20071020328
公开日2009年6月24日 申请日期2007年12月20日 优先权日2007年12月20日
发明者孙卫奇, 张旨光 申请人:鸿富锦精密工业(深圳)有限公司;鸿海精密工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1