盐城工业职业技术学院机电工程学院 王丽丽
基于嵌入式系统的电机调速控制系统设计
盐城工业职业技术学院机电工程学院 王丽丽
本系统基于 ARM2410-S 嵌入式系统,控制直流电机与步进电机调速,通过键盘作为控制输入信号端,通过键盘上输入命令,来控制直流电机和步进电机的转向、转速,软件的开发平台采用的是 RedHatLinux9.0。系统控制程序分为主程序、直流电机控制程序、步进电机控制程序以及键盘控制程序等。通过调试,嵌入式控制系统较好地实现了直流电机与步进电机转向、转速控制。
嵌入式控制系统;直流电机;步进电机;调速控制
嵌入式系统是基于计算机技术,以应用为中心,其软硬件可配置,对功能、可靠性、成本、体积、功耗有严格约束的一种专用系统。直流电机是由直流电源驱动,具有很好的回转特性和输出效率,和相同功率的一般交流电机相比,具有更强的扭矩和过载能力。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,使得其在速度、位置等控制领域的应用十分广泛和简单。
本控制系统为直流电机和步进电机的调速系统,基于ARM2410-S嵌入式系统平台,将键盘作为控制输入端,从键盘上输入命令来控制直流电机和步进电机的转向、转速。其中,软件的开发平台选用的是 RedHatLinux9.0。本程序设计主要分为直流电机控制和步进电机控制。系统整体设计流程图如图1所示。
图1 系统整体设计流程图
3.1 主程序设计
通过主程序的编写控制整个系统的流程:进入系统后,软件首先进行键盘初始化,打开键盘的端口,并在PC机上提示要输入的控制量来选择直流电机控制或步进电机控制。此程序中设定选择控制量 1为直流电机控制,选择控制量2为步进电机控制。
若选择直流电机控制,则通过提示输入控制命令,输入控制电机的转速,输入完成后,再根据提示输入控制命令,实现电机正转或是反转,此程序中设定选择控制量 1为电机正转,选择控制量 2为电机反转。功能实现之后跳出程序,关闭键盘。
图2 主函数流程图
若选择步进电机控制,同直流电机控制一样,通过提示输入控制命令,输入控制电机的转动角度,输入完之后,再根据提示输入控制命令,实现电机正转或是反转,此程序中设定选择控制量1为电机正转,选择控制量2为电机反转。功能实现之后跳出程序,关闭键盘。主函数流程图如图2所示。
3.2 键盘控制程序设计
键盘在本控制系统中起到了控制命令输入的作用,该键盘是由键盘芯片 ZLG7289 控制的,键盘芯片返回的字符需要经过简单的处理才能变成我们想要的键值。键盘程序流程如图3所示。
图3 键盘程序流程图
3.3 直流电机控制程序设计
嵌入式系统中,直流电机拥有自身的驱动函数 dc-motor.o,在编写时为在主函数中调用方便,简化为 一 个 直 流 电 机 的 打 开 函 数 int open_dc()和一个入口参数的控制函数 intdc_motor(intsetpwm),入口参数为一个带正负号的电机转速控制量。
3.4 步进电机控制程序设计
嵌入式系统中,步进电机同直流电机一样拥有自身的驱动函数step-motor.o,在编写时为在主函数中调用方便,简化为一个直流电机的打开函数 intopen_dc()和一个入口 参 数 的 控 制 函 数 intstep_motor (intwz),入口参数为一个带正负号的电机转速控制量。
本系统采用嵌入式控制系统,基于 ARM2410-S 嵌入式平台,运用键盘作为控制命令输入端,键盘是由键盘芯片 ZLG7289 控制,软件的 开 发 平 台 采 用 的 是 RedHat Linux9.0,通过调试,系统较好地实现了对直流电机与步进电机的转向、转速控制。
[1]王宁.基于嵌入式系统的开放式教育机器人控制器[D].郑州大学硕士论文,2007.5.
[2]郭天祥.新概念 51 单片机 C语言教程[M].北京:电子工业出版社,2008.
[3]王晖.基于 MCS-51 单片机的设计调试与原理[J].现代电子技术,2006,29(8):113-114.