本申请涉及微控制器,特别是涉及一种电机控制方法、装置和计算机设备。
背景技术:
1、随着物联网、工业自动化等领域的发展,微控制单元(microcontroller unit,mcu)的应用越来越广泛。
2、相关技术中,以光学相干断层扫描仪(optical coherence tomography,oct)设备为例,可以通过mcu对oct设备上的多个电机进行控制。
3、然而,相关技术中的电机控制方式存在控制效率低的问题。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种电机控制方法、装置和计算机设备,能够提高对电机的控制效率。
2、第一方面,本申请提供了一种电机控制方法,应用于微控制器,微控制器的操作系统为多任务内核的操作系统;该方法包括:
3、将上位机发送的至少一个任务命令存储到目标设备的至少一个电机命令队列中;其中,电机命令队列包括每个电机的命令控制队列;
4、按照预设时间间隔,通过目标设备的处理器切换执行各命令控制队列中的任务命令,以配置驱动参数;
5、通过各驱动参数驱动目标设备的各电机以完成对应任务命令的执行。
6、在其中一个实施例中,将上位机发送的至少一个任务命令存储到目标设备的至少一个电机命令队列中,包括:
7、在任务命令为控制任务命令的情况下,将各控制任务命令存储至对应电机的命令控制队列中。
8、在其中一个实施例中,将各控制任务命令存储至对应电机的命令控制队列中,包括:
9、针对任一个控制任务命令,获取控制任务命令对应的电机标识;
10、将控制任务命令存储至电机标识对应的命令控制队列中。
11、在其中一个实施例中,按照预设时间间隔,通过目标设备的处理器切换执行各命令控制队列中的任务命令,以配置驱动参数,包括:
12、获取各命令控制队列中存在控制任务命令的目标命令控制队列;
13、按照预设时间间隔,通过处理器轮流从各目标命令控制队列中获取控制任务命令,并根据控制任务命令,为对应的电机配置驱动参数。
14、在其中一个实施例中,电机命令队列还包括命令查询队列;将上位机发送的至少一个任务命令存储到目标设备的至少一个电机命令队列中,包括:
15、在任务命令为查询任务命令的情况下,将各查询任务命令存储至命令查询队列中。
16、在其中一个实施例中,该方法还包括:
17、在通过各驱动参数驱动目标设备的各电机的情况下,控制处理器执行命令查询队列中的查询任务命令。
18、在其中一个实施例中,将上位机发送的至少一个任务命令存储到目标设备的至少一个电机命令队列中,包括:
19、将各任务命令存储至目标设备的命令接收队列中,并检测目标设备的处理器当前是否处于执行任务命令的状态;
20、若是,则控制处理器暂停执行当前的任务命令,并将命令接收队列中的任务命令存储至电机命令队列中。
21、在其中一个实施例中,该方法还包括:
22、针对任一个任务命令,获取任务命令的执行结果,以及执行结果的发送指示信号;
23、在获取到发送指示信号的情况下,向上位机发送任务命令的执行结果,并在执行结果发送完成后,释放发送指示信号。
24、第二方面,本申请还提供了一种电机控制装置,应用于微控制器,微控制器的操作系统为多任务内核的操作系统;该装置包括:
25、存储模块,用于将上位机发送的至少一个任务命令存储到目标设备的至少一个电机命令队列中;其中,电机命令队列包括每个电机的命令控制队列;
26、配置模块,用于按照预设时间间隔,通过目标设备的处理器切换执行各命令控制队列中的任务命令,以配置驱动参数;
27、执行模块,用于通过各驱动参数驱动目标设备的各电机以完成对应任务命令的执行。
28、第三方面,本申请实施例提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,该处理器执行计算机程序时实现上述第一方面中任一实施例提供的方法的步骤。
29、第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面中任一实施例提供的方法的步骤。
30、第五方面,本申请实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面中任一实施例提供的方法的步骤。
31、上述电机控制方法、装置和计算机设备,将上位机发送的至少一个任务命令存储到目标设备的至少一个电机命令队列中;其中,电机命令队列包括每个电机的命令控制队列;然后按照预设时间间隔,通过目标设备的处理器切换执行各命令控制队列中的任务命令,以配置驱动参数,并通过各驱动参数驱动目标设备的各电机以完成对应任务命令的执行。该方法中,在根据上位机发送的任务命令控制各电机运动时,可以通过处理器按照预设的时间间隔切换执行各命令控制队列中的任务命令,以配置驱动参数,通过驱动参数驱动电机运动,每一个命令控制队列均对应一个电机,这样,可以做到在处理器执行命令控制队列中的任务命令时,其他已经配置过驱动参数的电机不会停止运行,会通过驱动参数驱动电机运动。这样,虽然任务命令是交替切换执行的,但是,由于上一个命令控制队列中的任务命令只执行一个预设时间间隔以配置对应驱动参数驱动对应的一个电机运行,再切换执行下一个命令控制队列中的任务命令的一个预设时间间隔长度以配置对应驱动参数驱动对应的另一个电机运行。在该另一个电机运行时,由于上一个命令控制队列中的任务命令所配置的驱动参数已经配置完成,对应电机已经开始运动,而不用等待上一个任务命令完整地执行完成才去执行下一个任务命令,从而可以做到并行控制各电机运行,提高了目标设备中电机的控制效率。
1.一种电机控制方法,其特征在于,应用于微控制器,所述微控制器的操作系统为多任务内核的操作系统;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述将上位机发送的至少一个任务命令存储到目标设备的至少一个电机命令队列中,包括:
3.根据权利要求2所述的方法,其特征在于,所述将各所述控制任务命令存储至对应电机的命令控制队列中,包括:
4.根据权利要求1-3任一项所述的方法,其特征在于,所述按照预设时间间隔,通过所述目标设备的处理器切换执行各所述命令控制队列中的任务命令,以配置驱动参数,包括:
5.根据权利要求1-3任一项所述的方法,其特征在于,所述电机命令队列还包括命令查询队列;所述将上位机发送的至少一个任务命令存储到目标设备的至少一个电机命令队列中,包括:
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1-3任一项所述的方法,其特征在于,所述将上位机发送的至少一个任务命令存储到目标设备的至少一个电机命令队列中,包括:
8.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
9.一种电机控制装置,其特征在于,应用于微控制器,所述微控制器的操作系统为多任务内核的操作系统;所述装置包括:
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
