一种基于霍尔计数的农用推杆电机行程控制方法及系统

文档序号:571620 发布日期:2021-05-18 浏览:21次 >En<

阅读说明:本技术 一种基于霍尔计数的农用推杆电机行程控制方法及系统 (Hall counting-based agricultural push rod motor stroke control method and system ) 是由 刘勇 王运圣 骆静 李海平 杨剑锋 徐识溥 胡雯雯 于 2021-01-08 设计创作,主要内容包括:本发明涉及智慧农业领域,公开了一种基于霍尔计数的农用推杆电机行程控制方法及系统,包括设置两个相互垂直的霍尔传感器;根据A相输出信号和B相输出信号建立霍尔计数模块,获取行程实际值;建立行程控制接口模块,获取行程设定值;建立电机自动停止检测模块,获得电机自动停止检测结果;通过电机驱动模块提供控制农用推杆电机的若干不同基本驱动函数;利用行程判断模块根据行程设定值和实际值调用电机驱动模块中的若干不同基本驱动函数对农用推杆电机进行驱动控制。本发明解决了传统推杆电机无发自动控制行程的问题,能够实现精准控制和远程控制。可靠性高,成本低,适合在大田智慧农业中推广使用,实施方式灵活,可大大提高农业信息化水平。(The invention relates to the field of intelligent agriculture, and discloses an agricultural push rod motor stroke control method and system based on Hall counting, wherein the method comprises the steps of arranging two Hall sensors which are vertical to each other; establishing a Hall counting module according to the A-phase output signal and the B-phase output signal to obtain an actual stroke value; establishing a stroke control interface module to obtain a stroke set value; establishing a motor automatic stop detection module to obtain a motor automatic stop detection result; providing a plurality of different basic driving functions for controlling the agricultural push rod motor through the motor driving module; and calling a plurality of different basic driving functions in the motor driving module by using the stroke judging module according to the stroke set value and the actual value to carry out driving control on the agricultural push rod motor. The invention solves the problem that the traditional push rod motor has no power to automatically control the stroke, and can realize accurate control and remote control. The system has the advantages of high reliability, low cost, flexible implementation mode and capability of greatly improving the agricultural informatization level, and is suitable for popularization and use in field intelligent agriculture.)

一种基于霍尔计数的农用推杆电机行程控制方法及系统

技术领域

本发明涉及智慧农业领域,具体地涉及一种基于霍尔计数的农用推杆电机行程控制方法及系统。

背景技术

现有推杆电机行程控制方法及系统主要用于大田灌溉闸门开启度的智能控制或用于设施农业中的温室天窗开启度控制等其它农业生产环境中。工业上一般通过步进电机进行行程控制,步进电机是一种将电脉冲信号转换成相应角位移或线位移的电动机。每输入一个脉冲信号,转子就转动一个角度或前进一步,其输出的角位移或线位移与输入的脉冲数成正比,转速与脉冲频率成正比。因此,步进电动机又称脉冲电动机。使用步进电机可实现精准的行程控制,然而这种电机结构复杂、造价高,对于农业生产特别是大田种植业生产而言,高昂的成本使其难以大面积推广,且农业大田的户外露天环境常年高湿多尘,也不利于这种高精密电机的应用。

推杆电机是一种将电动机的旋转运动转变为推杆的直线往复运动的电力驱动装置,结构简单、造价低,也比较适用于农业生产。但推杆电机是种简单的直流电机,只能通过通电和断电来实现电机的运行和停止,以及通过切换电源的正负极实现电机的正转和反转,因此目前农业上的应用都只能实现完全打开或者完全关闭两个状态,有些需要控制开启度的地方目前的解决方法是由人工目视闸门或天窗开启到需要的位置时手动关闭电机电源来实现,显然这种方式需要耗费人力且控制的也不精确。

推杆电机还可通过定时法实现自动行程控制。对一款确定型号的推杆电机而言,其伸出的最大长度是一定的,从完全缩回到完全伸出所用的时长也是一定的,因此可通过控制电机的通电时间来控制其行程,但这种控制方法有两个前提,即电机的负载是一定的且电源的电压和电流也是一定的。但农业大田灌溉环境中受水位、水压以及淤泥等影响,推杆电机的负载总是在变化,如果通过通电时长来控制行程,会因误差的长期累积而导致行程控制发生混乱。

发明内容

本发明提供一种基于霍尔计数的农用推杆电机行程控制方法及系统,从而解决现有技术的上述问题。

第一方面,本发明提供了一种基于霍尔计数的农用推杆电机行程控制方法,包括以下步骤:

S1)在农用推杆电机的转轴外围设置两个霍尔传感器,两个霍尔传感器分别位于农用推杆电机的转轴同心圆上,两个霍尔传感器相互垂直且不随农用推杆电机转动而转动;在农用推杆电机的转轴上安装一个磁体,磁体随电机转动而做圆周运动、且磁体每转动一圈与两个霍尔传感器中的任一霍尔传感器靠近时会触发任一霍尔传感器输出一个脉冲信号,将两个霍尔传感器的输出分别记为A相输出信号和B相输出信号;

S2)根据A相输出信号和B相输出信号建立霍尔计数模块,通过霍尔计数模块记录当前霍尔计数值NowCount、并获得农用推杆电机推杆完全伸出的霍尔计数总数totalcount;

S3)建立行程控制接口模块,行程控制接口模块用于接收农用推杆电机推杆完全伸出的霍尔计数总数totalcount以及用户或调用程序发送的行程控制量,行程控制量为农用推杆电机推杆伸出长度的百分比值,根据农用推杆电机推杆完全伸出的霍尔计数总数totalcount将行程控制量换算成相应的霍尔设定值SetCount;

S4)建立电机自动停止检测模块,电机自动停止检测模块用于获取农用推杆电机的当前运行状态以及农用推杆电机的当前电流值,设置检测时长,每隔检测时长电机自动停止检测模块根据农用推杆电机的当前运行状态以及农用推杆电机的当前电流值判断农用推杆电机是否自动停止,获得电机自动停止检测结果;

S5)建立电机驱动模块,电机驱动模块用于提供控制农用推杆电机的若干不同基本驱动函数;农用推杆电机的若干不同基本驱动函数包括电机伸出控制函数、电机缩回控制函数和电机急停控制函数;

S6)建立行程判断模块,行程判断模块用于分别调用电机自动停止检测模块中的电机自动停止检测结果、霍尔计数模块中的当前霍尔计数值NowCount、霍尔计数模块中的农用推杆电机推杆完全伸出的霍尔计数总数totalcount以及行程控制接口模块中的霍尔设定值SetCount;行程判断模块根据当前霍尔计数值NowCount、农用推杆电机推杆完全伸出的霍尔计数总数totalcount以及霍尔设定值SetCount获取农用推杆电机的当前推杆运行位置、并判断是否停止农用推杆电机或是否改变农用推杆电机的运行方向;行程判断模块根据电机自动停止检测模块中获得的电机自动停止检测结果判断是否切断农用推杆电机的电源;获得若干个不同的判断结果;行程判断模块根据若干个不同的判断结果分别对应调用电机驱动模块中的若干不同基本驱动函数,根据调用的电机驱动模块中的若干不同基本驱动函数对农用推杆电机进行驱动控制。

当农用推杆电机正转时,A相输出信号波形比B相输出信号波形超前四分之一周期;当农用推杆电机反转时,A相输出信号波形比B相输出信号波形落后四分之一周期。

进一步的,在步骤S2)中,根据A相输出信号和B相输出信号建立霍尔计数模块,通过霍尔计数模块记录当前霍尔计数值NowCount、并获得农用推杆电机推杆完全伸出的霍尔计数总数totalcount,包括设置中断程序,根据A相输出信号的高低跳变触发所述中断程序,在中断程序中判断A相输出信号是否为上升沿中断或下降沿中断、并同时判断B相输出信号是否为高电平或低电平,获得A相输出信号及B相输出信号的同时判断结果,根据A相输出信号以及B相输出信号的同时判断结果判断农用推杆电机是正转还是反转,获得农用推杆电机正反转判断结果,根据农用推杆电机正反转判断结果将当前计数值NowCount加1或减1。

进一步的,根据A相输出信号的高低跳变触发中断程序,在中断程序中判断A相输出信号是否为上升沿中断或下降沿中断、并同时判断B相输出信号是否为高电平或低电平,获得A相输出信号及B相输出信号的同时判断结果,根据A相输出信号以及B相输出信号的同时判断结果判断农用推杆电机是正转还是反转,获得农用推杆电机正反转判断结果,根据农用推杆电机正反转判断结果将当前计数值NowCount加1或减1,包括以下步骤:

S21)A相输出信号触发中断程序,清除中断标志位;

S22)判断A相输出信号是否为下降沿中断,若否,则进入步骤S24);若是,则进入步骤S23);

S23)判断B相输出信号是否为高电平,若是,则农用推杆电机为正转,将当前计数值NowCount加1;若否,则农用推杆电机为反转,将当前计数值NowCount减1;

S24)判断A相输出信号是否为上升沿中断,若否,则退出中断程序;若是,则进入步骤S25);

S25)判断B相输出信号是否为高电平,若是,则农用推杆电机为反转,将当前计数值NowCount减1;若否,则农用推杆电机为正转,将当前计数值NowCount加1。

进一步的,在步骤S6)中,行程判断模块根据若干个不同的判断结果分别对应调用电机驱动模块中的若干不同基本驱动函数,根据调用的电机驱动模块中的若干不同基本驱动函数对农用推杆电机进行驱动控制,包括以下步骤:

S61)获取行程控制接口模块中的霍尔设定值SetCount;

S62)判断霍尔设定值SetCount是否为急停参数,若是,则进行农用推杆电机急停控制;若否,则进入步骤S63);

S63)判断霍尔设定值SetCount是否为完全缩回参数,若是,则进行农用推杆电机完全缩回控制;若否,则进入步骤S64);

S64)判断霍尔设定值SetCount是否为农用推杆电机推杆完全伸出的霍尔计数总数totalcount,若是,则进行农用推杆电机完全伸出控制;若否,则进入步骤S65);

S65)判断霍尔设定值SetCount是否大于等于NowCount-n且小于等于NowCount+n,n为计数容许误差值,若是,则进行农用推杆电机临界状态控制;若否,则进入步骤S66);

S66)判断霍尔设定值SetCount是否大于当前霍尔计数值NowCount或小于当前霍尔计数值NowCount,若是,则进行农用推杆电机中间状态控制;若否,则结束农用推杆电机驱动行程控制。

进一步的,在步骤S62)中,进行农用推杆电机急停控制,包括以下步骤:

S621)判断农用推杆电机的当前运行状态是否为停止,若是,则进入步骤S623);若否,则进入步骤S622);

S622)调用并执行所述电机驱动模块中的电机急停控制函数,将农用推杆电机的运行状态更新为停止状态,进入步骤S623);

S623)计算并更新农用推杆电机的推杆的当前开合度,结束农用推杆电机急停控制。

进一步的,在步骤S63)中,进行农用推杆电机完全缩回控制,包括以下步骤:

S631)根据电机自动停止检测模块的电机自动停止检测结果判断农用推杆电机是否已经自动停止,若是,则进入步骤S632),若否,则进入步骤S633);

S632)判断农用推杆电机的当前运行状态是否为停止,若是,则进入步骤S634);若否,则调用并执行电机驱动模块中的电机急停控制函数,将农用推杆电机的运行状态更新为停止状态,将当前霍尔计数值NowCount置为计数容许误差值n,进入步骤S634);

S633)判断农用推杆电机的当前运行状态是否为正在缩回,若是,则进入步骤S634);若否,则调用并执行电机驱动模块中的电机缩回控制函数,将农用推杆电机的运行状态更新为正在缩回,进入步骤S634);

S634)结束农用推杆电机完全缩回控制。

进一步的,在步骤S64)中,进行农用推杆电机完全伸出控制,包括以下步骤:

S641)根据电机自动停止检测模块的电机自动停止检测结果判断农用推杆电机是否已经自动停止,若是,则进入步骤S642),若否,则进入步骤S643);

S642)判断农用推杆电机的当前运行状态是否为停止,若是,则进入步骤S634);若否,则调用并执行电机驱动模块中的电机急停控制函数,将农用推杆电机的运行状态更新为停止状态,将当前霍尔计数值NowCount置为农用推杆电机推杆完全伸出的霍尔计数总数totalcount,进入步骤S644);

S643)判断农用推杆电机的当前运行状态是否为正在伸出,若是,则进入步骤S644);若否,则调用并执行电机驱动模块中的电机伸出控制函数,将农用推杆电机的运行状态更新为正在伸出,进入步骤S644);

S644)结束农用推杆电机完全伸出控制。

进一步的,在步骤S65)中,进行农用推杆电机临界状态控制,包括以下步骤:

S651)判断农用推杆电机的当前运行状态是否为停止,若是,则进入步骤S653);若否,则进入步骤S652);

S652)调用并执行电机驱动模块中的电机急停控制函数,将农用推杆电机的运行状态更新为停止状态,进入步骤S653);

S653)设置开合度设定值,计算并更新农用推杆电机的推杆的当前开合度,将农用推杆电机的推杆的当前开合度更新为开合度设定值,结束农用推杆电机临界状态控制。

进一步的,在步骤S66)中,进行农用推杆电机中间状态控制,包括以下步骤:

S661)判断霍尔设定值SetCount是否大于当前霍尔计数值NowCount,若是,则进入步骤S662);若否,则进入步骤S663);

S662)判断农用推杆电机的当前运行状态是否为正在伸出,若是,则进入步骤S665);若否,则调用并执行电机驱动模块中的电机伸出控制函数,将农用推杆电机的运行状态更新为正在伸出,进入步骤S665);

S663)判断霍尔设定值SetCount是否小于当前霍尔计数值NowCount,若是,则进入步骤S664);若否,则进入步骤S665);

S664)判断农用推杆电机的当前运行状态是否为正在缩回,若是,则进入步骤S665);若否,则调用并执行所述电机驱动模块中的电机缩回控制函数,将农用推杆电机的运行状态更新为正在缩回,进入步骤S665);

S665)结束农用推杆电机中间状态控制。

另一方面,本发明提供了一种基于霍尔计数的农用推杆电机行程控制系统,包括农用推杆电机设置模块、行程判断模块、霍尔计数模块、电机自动停止检测模块、电机驱动模块和行程控制接口;

农用推杆电机设置模块,用于在农用推杆电机的转轴外围设置两个霍尔传感器,两个霍尔传感器分别位于农用推杆电机的转轴同心圆上,两个霍尔传感器相互垂直且不随农用推杆电机转动而转动;在农用推杆电机的转轴上安装一个磁体,磁体随电机转动而做圆周运动、且每转动一圈与两个霍尔传感器中的任一霍尔传感器靠近时会触发所述任一霍尔传感器输出一个脉冲信号;将两个霍尔传感器的输出分别记为A相输出信号和B相输出信号;当农用推杆电机正转时,A相输出信号波形比所述B相输出信号波形超前四分之一周期;当农用推杆电机反转时,A相输出信号波形比所述B相输出信号波形落后四分之一周期;

霍尔计数模块,用于根据A相输出信号和B相输出信号记录当前霍尔计数值NowCount、并获得农用推杆电机推杆完全伸出的霍尔计数总数tota lcount;

行程控制接口模块,用于接收农用推杆电机推杆完全伸出的霍尔计数总数totalcount以及用户或调用程序发送的行程控制量,行程控制量为农用推杆电机推杆伸出长度的百分比值,根据农用推杆电机推杆完全伸出的霍尔计数总数totalcount将行程控制量换算成相应的霍尔设定值SetCount;

电机自动停止检测模块,用于获取农用推杆电机的当前运行状态以及农用推杆电机的当前电流值,设置检测时长,每隔检测时长所述电机自动停止检测模块根据农用推杆电机的当前运行状态以及农用推杆电机的当前电流值判断农用推杆电机是否自动停止,获得电机自动停止检测结果;

电机驱动模块,用于提供控制农用推杆电机的若干不同基本驱动函数;所述农用推杆电机的若干不同基本驱动函数包括电机推杆伸出控制函数、电机推杆缩回控制函数和电机急停控制函数;

行程判断模块,用于分别调用所述电机自动停止检测模块中的电机自动停止检测结果、所述霍尔计数模块中的当前霍尔计数值NowCount、所述霍尔计数模块中的农用推杆电机推杆完全伸出的霍尔计数总数totalcount以及所述行程控制接口模块中的霍尔设定值SetCount;所述行程判断模块根据所述当前霍尔计数值NowCount、所述农用推杆电机推杆完全伸出的霍尔计数总数totalcount以及所述霍尔设定值SetCount获取农用推杆电机的当前推杆运行位置、并判断是否停止农用推杆电机或是否改变农用推杆电机的运行方向;所述行程判断模块根据所述电机自动停止检测模块中获得的电机自动停止检测结果判断是否切断农用推杆电机的电源;获得若干个不同的判断结果;所述行程判断模块根据所述若干个不同的判断结果分别对应调用所述电机驱动模块中的若干不同基本驱动函数,根据调用的所述电机驱动模块中的若干不同基本驱动函数对所述农用推杆电机进行驱动控制。

本发明的有益效果是:本发明解决了传统推杆电机无发自动控制行程的问题,使得原来只能由人工现场控制行程的方式转变为无人值守的自动控制,继而可以实现精准控制和远程控制。本发明计数功能选用两个单个造价不足一元人民币的霍尔传感器,非常适合对成本比较敏感的大田农业。本发明针对农业大田环境高湿度多尘土的特点,实现了一种简易可靠的电机行程控制算法,适合在大田智慧农业中推广使用。本发明提供的行程控制方法既可作为单独模块使用也可集成到现有的农业闸门控制器中作为一个智能驱动模块,实施方式灵活。本发明低成本易推广的特性使其能够在农业信息化中发挥重要作用,可大大提高农业信息化水平。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本实施例一提供的基于霍尔计数的农用推杆电机行程控制方法流程示意图。

图2为本实施例一提供的两个霍尔传感器在电机运转时输出的脉冲波形示意图。

图3为本实施例一提供的本发明实施例中霍尔计数模块的工作实例波形示意图。

图4为本实施例一提供的霍尔计数模块工作流程示意图。

图5为本实施例一提供的对农用推杆电机进行驱动控制流程示意图。

图6为本实施例一提供的进行农用推杆电机急停控制流程示意图。

图7为本实施例一提供的进行农用推杆电机完全缩回控制流程示意图。

图8为本实施例一提供的进行农用推杆电机完全伸出控制流程示意图。

图9为本实施例一提供的进行农用推杆电机临界状态控制流程示意图。

图10为本实施例一提供的进行农用推杆电机中间状态控制流程示意图。

图11为本实施例一提供的基于霍尔计数的农用推杆电机行程控制系统示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。

实施例一,第一方面,本发明实施例一中提供了一种基于霍尔计数的农用推杆电机行程控制方法,如图1所示,包括以下步骤:

S1)在农用推杆电机的转轴外围设置两个霍尔传感器,两个霍尔传感器分别位于农用推杆电机的转轴同心圆上,两个霍尔传感器相互垂直且不随农用推杆电机转动而转动;在农用推杆电机的转轴上安装一个磁体,磁体随电机转动而做圆周运动、且磁体每转动一圈与两个霍尔传感器中的任一霍尔传感器靠近时会触发任一霍尔传感器输出一个脉冲信号,将两个霍尔传感器的输出分别记为A相输出信号和B相输出信号;当农用推杆电机正转时,A相输出信号波形比B相输出信号波形超前四分之一周期;当农用推杆电机反转时,A相输出信号波形比B相输出信号波形落后四分之一周期。

本发明实施例中,对农用推杆电机加装了两个霍尔传感器,这两个霍尔传感器分别安装在电机转轴同心圆的12点和3点钟位置,即两个霍尔传感器呈90度角垂直安装,这样安装后两个霍尔传感器在电机运转时输出的脉冲波形如图2所示。两个霍尔传感器的输出分别定义为A相输出信号和B相输出信号,由图2可见,电机正转时A相波形比B相超前四分之一周期,且A相输出信号波形为下降沿时B相输出信号必然为高电平,A相输出信号波形为上升沿时B相输出信号必然为低电平;电机反转时则是A相输出信号波形比B相输出信号波形落后四分之一周期,且A相输出信号波形为下降沿时B相输出信号必然为低电平,A相输出信号波形为上升沿时B相输出信号必然为高电平。

S2)根据A相输出信号和B相输出信号建立霍尔计数模块,通过霍尔计数模块记录当前霍尔计数值NowCount、并获得农用推杆电机推杆完全伸出的霍尔计数总数totalcount;

在步骤S2)中,根据A相输出信号和B相输出信号建立霍尔计数模块,通过霍尔计数模块记录当前霍尔计数值NowCount、并获得农用推杆电机推杆完全伸出的霍尔计数总数tota lcount,包括设置中断程序,根据A相输出信号的高低跳变触发中断程序,在中断程序中判断A相输出信号是否为上升沿中断或下降沿中断、并同时判断B相输出信号是否为高电平或低电平,获得A相输出信号及B相输出信号的同时判断结果,根据A相输出信号以及B相输出信号的同时判断结果判断农用推杆电机是否为正转或反转,获得农用推杆电机正反转判断结果,根据农用推杆电机正反转判断结果将当前计数值NowCount加1或减1。

根据A相输出信号的高低跳变触发中断程序,在中断程序中同时判断A相输出信号是否为上升沿以及B相输出信号是否为高低电平,获得A相输出信号及B相输出信号的同时判断结果,根据A相输出信号以及B相输出信号的同时判断结果判断农用推杆电机是否为正转,获得农用推杆电机正转判断结果,根据农用推杆电机正转判断结果将当前计数值NowCount加1或减1,如图4所示,包括以下步骤:

S21)A相输出信号触发中断程序,清除中断标志位;

S22)判断A相输出信号是否为下降沿中断,若否,则进入步骤S24);若是,则进入步骤S23);

S23)判断B相输出信号是否为高电平,若是,则农用推杆电机为正转,将当前计数值NowCount加1;若否,则农用推杆电机为反转,将当前计数值NowCount减1;

S24)判断A相输出信号是否为上升沿中断,若否,则退出中断程序;若是,则进入步骤S25);

S25)判断B相输出信号是否为高电平,若是,则农用推杆电机为反转,将当前计数值NowCount减1;若否,则农用推杆电机为正转,将当前计数值NowCount加1;退出中断程序。

本发明霍尔计数模块的工作原理是由A相输出信号的高低跳变来触发中断,在中断程序中同时判断A相输出信号是上升沿还是下降沿、以及B相输出信号的电平高低,二者的判断组合符合正转特性时当前计数值NowCount加1,二者的判断组合符合反转特征时当前计数值NowCount减1。

图3为本发明实施例中霍尔计数模块的工作流程示意图,1-4区间和13-16区间分别为电机正转,当前计数值NowCount增加;9-12区间为电机反转,当前计数值NowCount减小;5-8区间为A相输出信号受到干扰发生抖动的情况,此时计数值NowCount先增加后减小最终将干扰抵消掉;12-13区间为B相输出信号受到干扰,A相输出信号无跳变,因此当前计数值NowCount不变,同样使得本发明能够达到抗干扰的效果。

S3)建立行程控制接口模块,行程控制接口模块用于接收农用推杆电机推杆完全伸出的霍尔计数总数totalcount以及用户或调用程序发送的行程控制量,行程控制量为农用推杆电机推杆伸出长度的百分比值,根据农用推杆电机推杆完全伸出的霍尔计数总数totalcount将行程控制量换算成相应的霍尔设定值SetCount;

S4)建立电机自动停止检测模块,电机自动停止检测模块用于获取农用推杆电机的当前运行状态以及农用推杆电机的当前电流值,设置检测时长,每隔检测时长电机自动停止检测模块根据农用推杆电机的当前运行状态以及农用推杆电机的当前电流值判断农用推杆电机是否自动停止,获得电机自动停止检测结果;

本发明实施例中,电机自动停止检测模块根据记录的电机当前运行状态(是否在运行)以及电机的当前电流值判断电机是否已经因完全伸出或完全缩回触发了推杆限位开关而自动停止,每秒检测一次,检测结果供行程判断模块调用。

S5)建立电机驱动模块,电机驱动模块用于提供控制农用推杆电机的若干不同基本驱动函数;农用推杆电机的若干不同基本驱动函数包括电机伸出控制函数、电机缩回控制函数和电机急停控制函数;

S6)建立行程判断模块,行程判断模块用于分别调用电机自动停止检测模块中的电机自动停止检测结果、霍尔计数模块中的当前霍尔计数值NowCount、霍尔计数模块中的农用推杆电机推杆完全伸出的霍尔计数总数totalcount以及行程控制接口模块中的霍尔设定值SetCount;行程判断模块根据当前霍尔计数值NowCount、农用推杆电机推杆完全伸出的霍尔计数总数totalcount以及霍尔设定值SetCount获取农用推杆电机的当前推杆运行位置、并判断是否停止农用推杆电机或是否改变农用推杆电机的运行方向;行程判断模块根据电机自动停止检测模块中获得的电机自动停止检测结果判断是否切断农用推杆电机的电源;获得若干个不同的判断结果;行程判断模块根据若干个不同的判断结果分别对应调用电机驱动模块中的若干不同基本驱动函数,根据调用的电机驱动模块中的若干不同基本驱动函数对农用推杆电机进行驱动控制。

在步骤S6)中,行程判断模块根据若干个不同的判断结果分别对应调用电机驱动模块中的若干不同基本驱动函数,根据调用的电机驱动模块中的若干不同基本驱动函数对农用推杆电机进行驱动控制,如图5所示,包括以下步骤:

S61)获取行程控制接口模块中的霍尔设定值SetCount;

S62)判断霍尔设定值SetCount是否为急停参数,本发明实施例中急停参数为0xFF,若是,则进行农用推杆电机急停控制;若否,则进入步骤S63);

在步骤S62)中,进行农用推杆电机急停控制,如图6所示,包括以下步骤:

S621)判断农用推杆电机的当前运行状态是否为停止,若是,则进入步骤S623);若否,则进入步骤S622);

S622)调用并执行电机驱动模块中的电机急停控制函数,将农用推杆电机的运行状态更新为停止状态,进入步骤S623);

S623)计算并更新农用推杆电机的推杆的当前开合度,结束农用推杆电机急停控制。

S63)判断霍尔设定值SetCount是否为完全缩回参数,本发明实施例中急停参数为0x00,若是,则进行农用推杆电机完全缩回控制;若否,则进入步骤S64);

在步骤S63)中,进行农用推杆电机完全缩回控制,如图7所示,包括以下步骤:

S631)根据电机自动停止检测模块的电机自动停止检测结果判断农用推杆电机是否已经自动停止,若是,则进入步骤S632),若否,则进入步骤S633);

S632)判断农用推杆电机的当前运行状态是否为停止,若是,则进入步骤S634);若否,则调用并执行电机驱动模块中的电机急停控制函数,将农用推杆电机的运行状态更新为停止状态,将当前霍尔计数值NowCount置为计数容许误差值n,进入步骤S634);

S633)判断农用推杆电机的当前运行状态是否为正在缩回,若是,则进入步骤S634);若否,则调用并执行电机驱动模块中的电机缩回控制函数,将农用推杆电机的运行状态更新为正在缩回,进入步骤S634);

S634)结束农用推杆电机完全缩回控制。

S64)判断霍尔设定值SetCount是否为农用推杆电机推杆完全伸出的霍尔计数总数totalcount,若是,则进行农用推杆电机完全伸出控制;若否,则进入步骤S65);

在步骤S64)中,进行农用推杆电机完全伸出控制,如图8所示,包括以下步骤:

S641)根据电机自动停止检测模块的电机自动停止检测结果判断农用推杆电机是否已经自动停止,若是,则进入步骤S642),若否,则进入步骤S643);

S642)判断农用推杆电机的当前运行状态是否为停止,若是,则进入步骤S634);若否,则调用并执行电机驱动模块中的电机急停控制函数,将农用推杆电机的运行状态更新为停止状态,将当前霍尔计数值NowCount置为农用推杆电机推杆完全伸出的霍尔计数总数totalcount,进入步骤S644);

S643)判断农用推杆电机的当前运行状态是否为正在伸出,若是,则进入步骤S644);若否,则调用并执行电机驱动模块中的电机伸出控制函数,将农用推杆电机的运行状态更新为正在伸出,进入步骤S644);

S644)结束农用推杆电机完全伸出控制。

S65)判断霍尔设定值SetCount是否大于等于NowCount-n且小于等于NowCount+n,n为计数容许误差值,本发明实施例中计数容许误差值n取值为3,若是,则进行农用推杆电机临界状态控制;若否,则进入步骤S66);

在步骤S65)中,进行农用推杆电机临界状态控制,如图9所示,包括以下步骤:

S651)判断农用推杆电机的当前运行状态是否为停止,若是,则进入步骤S653);若否,则进入步骤S652);

S652)调用并执行所述电机驱动模块中的电机急停控制函数,将农用推杆电机的运行状态更新为停止状态,进入步骤S653);

S653)设置开合度设定值,计算并更新农用推杆电机的推杆的当前开合度,将所述农用推杆电机的推杆的当前开合度更新为开合度设定值,结束农用推杆电机临界状态控制。

S66)判断霍尔设定值SetCount是否大于当前霍尔计数值NowCount或小于当前霍尔计数值NowCount,若是,则进行农用推杆电机中间状态控制;若否,则结束农用推杆电机驱动行程控制。

在步骤S66)中,进行农用推杆电机中间状态控制,如图10所示,包括以下步骤:

S661)判断霍尔设定值SetCount是否大于当前霍尔计数值NowCount,若是,则进入步骤S662);若否,则进入步骤S663);

S662)判断农用推杆电机的当前运行状态是否为正在伸出,若是,则进入步骤S665);若否,则调用并执行电机驱动模块中的电机伸出控制函数,将农用推杆电机的运行状态更新为正在伸出,进入步骤S665);

S663)判断霍尔设定值SetCount是否小于当前霍尔计数值NowCount,若是,则进入步骤S664);若否,则进入步骤S665);

S664)判断农用推杆电机的当前运行状态是否为正在缩回,若是,则进入步骤S665);若否,则调用并执行所述电机驱动模块中的电机缩回控制函数,将农用推杆电机的运行状态更新为正在缩回,进入步骤S665);

S665)结束农用推杆电机中间状态控制。

本发明实施例中,根据霍尔设定值SetCount的大小,将电机的行程控制分为5种情况:急停控制、完全缩回控制、完全伸出控制、临界状态控制、中间状态控制,5种情况的执行顺序和执行方式如下:

急停控制。如果行程控制接口模块传来的霍尔设定值SetCount为0xFF,则进入急停控制程序(见图6),首先判断电机当前运行状态(共记录3种状态:停止、正在伸出、正在缩回)是否为停止状态,若是,则计算并更新推杆的当前开合度;若否,则立即执行电机急停控制函数控制电机停止运行,然后依次更新电机当前运行状态为停止、计算并更新推杆的当前开合度,最后结束电机急停控制。

完全缩回控制。行程控制接口模块发送的霍尔设定值SetCount为0时,执行完全缩回控制流程(见图7),该流程主要根据电机是否已经自动停止以及程序记录的电机当前运行状态来判断是否执行电机完全缩回函数。如果电机已经自动停止且电机当前运行状态也为停止,则直接结束完全缩回控制;若否,则将更新电机当前运行状态为停止或者正在缩回,其中当电机完全缩回完成时,还对当前计数值NowCount进行归零处理。本发明实施例中,归零并不是将其值设为0,而是设为3。

完全伸出控制。行程控制接口模块传来的霍尔设定值SetCount为totalcount时,执行完全伸出控制流程(见图8),完全伸出控制的执行流程与完全缩回流程类似,不同之处是该流程可能会调用的是电机伸出函数,可能将电机当前运行状态更新为停止或正在伸出,当推杆完全伸出完成时,还将当前计数值NowCount归为最大,即将其值设定为totalcount。

临界状态控制。行程控制接口模块发送的霍尔设定值SetCount大于等于(NowCount-3)且小于等于(NowCount+3)时,执行临界状态控制流程(见图9),临界状态控制是针对电机即将运行到设定开合度的情况,本发明将霍尔设定值SetCount与实际值相差3以内时都认为电机已经运行到设定的行程而执行停止函数并更新相关状态,如果电机当前运行状态为停止则结束临界状态控制。

中间状态控制。行程控制接口模块发送的霍尔设定值SetCount大于或小于NowCount时,则执行中间状态控制流程(见图10),中间状态控制流程主要用来判断是否应该改变电机的当前运行方向,所以会调用电机伸出函数或电机缩回函数,并会更改电机当前运行状态为正在伸出或正在缩回。

以上5种控制流程中除完全缩回控制和完全伸出控制二者顺序可调换之外,其它均应按照流程图中的先后顺序执行,图5所示的整个流程无限循环运行即可实现电机的行程控制。

另一方面,本发明实施例提供了一种基于霍尔计数的农用推杆电机行程控制系统,如图11所示,包括农用推杆电机设置模块、行程判断模块、霍尔计数模块、电机自动停止检测模块、电机驱动模块和行程控制接口;

农用推杆电机设置模块,用于在农用推杆电机的转轴设置两个霍尔传感器,两个霍尔传感器分别位于所述农用推杆电机的转轴同心圆上,两个霍尔传感器相互垂直且不随电机转动而转动;在电机转轴上安装一个磁体,该磁体随电机转动而做圆周运动,且每转动一圈与任一霍尔传感器靠近时会触发该霍尔传感器输出一个脉冲信号;将两个霍尔传感器的输出分别记为A相输出信号和B相输出信号;当农用推杆电机正转时,A相输出信号波形比所述B相输出信号波形超前四分之一周期;当农用推杆电机反转时,A相输出信号波形比所述B相输出信号波形落后四分之一周期;

霍尔计数模块,用于根据A相输出信号和B相输出信号记录当前霍尔计数值NowCount、并获得农用推杆电机推杆完全伸出的霍尔计数总数tota lcount;

行程控制接口模块,用于接收农用推杆电机推杆完全伸出的霍尔计数总数totalcount以及用户或调用程序发送的行程控制量,行程控制量为农用推杆电机推杆伸出长度的百分比值,根据农用推杆电机推杆完全伸出的霍尔计数总数totalcount将行程控制量换算成相应的霍尔设定值SetCount;

电机自动停止检测模块,用于获取农用推杆电机的当前运行状态以及农用推杆电机的当前电流值,设置检测时长,每隔检测时长所述电机自动停止检测模块根据农用推杆电机的当前运行状态以及农用推杆电机的当前电流值判断农用推杆电机是否自动停止,获得电机自动停止检测结果;

电机驱动模块,用于提供控制农用推杆电机的若干不同基本驱动函数;农用推杆电机的若干不同基本驱动函数包括电机伸出控制函数、电机缩回控制函数和电机急停控制函数;

行程判断模块,用于分别调用电机自动停止检测模块中的电机自动停止检测结果、霍尔计数模块中的当前霍尔计数值NowCount、霍尔计数模块中的农用推杆电机推杆完全伸出的霍尔计数总数totalcount以及行程控制接口模块中的霍尔设定值SetCount;行程判断模块根据所述当前霍尔计数值NowCount、农用推杆电机推杆完全伸出的霍尔计数总数totalcount以及霍尔设定值SetCount获取农用推杆电机的当前推杆运行位置、并判断是否停止农用推杆电机或是否改变农用推杆电机的运行方向;行程判断模块根据所述电机自动停止检测模块中获得的电机自动停止检测结果判断是否切断农用推杆电机的电源;获得若干个不同的判断结果;行程判断模块根据若干个不同的判断结果分别对应调用电机驱动模块中的若干不同基本驱动函数,根据调用的电机驱动模块中的若干不同基本驱动函数对农用推杆电机进行驱动控制。

通过采用本发明公开的上述技术方案,得到了如下有益的效果:

本发明解决了传统推杆电机无法自动控制行程的问题,使得原来只能由人工现场控制行程的方式转变为无人值守的自动控制,继而可以实现精准控制和远程控制。本发明计数功能选用两个单个造价不足一元人民币的霍尔传感器,非常适合对成本比较敏感的大田农业。本发明针对农业大田环境高湿度多尘土的特点,实现了一种简易可靠的电机行程控制算法,适合在大田智慧农业中推广使用。本发明提供的行程控制方法既可作为单独模块使用也可集成到现有的农业闸门控制器中作为一个智能驱动模块,实施方式灵活。本发明低成本易推广的特性使其能够在农业信息化中发挥重要作用,可大大提高农业信息化水平。

以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

26页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种开关磁阻电机断路故障容错控制方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!