1、第 卷 第 期 年 月昆明冶金高等专科学校学报 收稿日期:基金项目:云南省教育厅科学研究基金项目:基于嵌入式的轮式自主移动竞赛机器人控制系统关键技术研究()。作者简介:钟志贤(),男,云南建水人,讲师,工学硕士,主要从事嵌入式智能控制方面的研究。:一种实用微型直流电机驱动器的设计与实现钟志贤 昆明冶金高等专科学校工程训练中心(创新创业学院),云南 昆明 摘要:根据自主移动竞赛机器人控制系统的需要,设计实现了一个基于 单片机、管与继电器控制的 路微型直流电机驱动器。结合自定义通信协议,驱动器通过 串行总线接收上位机命令,实现对微型直流电机转速和转向的远程控制。驱动器结构简单,开发维护成本低,具有
2、很好的扩展性和使用价值。关键词:单片机;直流电机;继电器;管;总线;驱动器中图分类号:文献标识码:文章编号:()(),:,:;引言随着人工智能技术的快速发展,各高校、科研机构对轮式自主移动机器人的研究也愈加重视。在轮式自主移动机器人控制系统中,直流电机的控制应用较为广泛。目前比较常见的直流电机驱动电路主要采用 个功率元件组成 桥驱动,需要的开关器件数目多,成本和重量相对会增加,需要对死区时间进行控制,否则容易烧坏管子。另外,驱动器也可以使用一些专用的集成驱动 ,但是在大功率的直流电机驱动上仍存在不足 。本文设计的直流电机驱动器主要用于轮式自主移动竞赛机器人机械结构的运动控制,需要控制直流电机进
3、行双向转动,对电机进行调速。设计的直流电机驱动器采用双刀双掷继电器来控制电流的方向从而改变电机的转向,使用一个特大电流场效应管来实现 调速。充分使用继电器电流大、工作稳定的特点,可用大大简化驱动电路,实现大电流驱动。系统结构设计微型直流电机驱动器作为集成到轮式自主移动竞赛机器人控制系统中的一个独立模块,每一个驱动器模块可以同时驱动 路微型直流电机。驱动器模块通过 串行总线与上位机主控制器通信,方便用户灵活组网,实现多路电机集中控制。微型直流电机驱动器同样采用模块式设计,包括电源电路模块、在线调试与复位电路模块、路电机驱动电路模块、限位传感器接口电路模块和 串行总线电平转换电路模块。微型直流电机
4、驱动器以 单片机作为主控芯片,通过驱动高速开关的金属氧化物半导体场效应晶体管实现直流电机的速度调节;通过三极管驱动双刀双掷的继电器实现直流电机的转向控制;通过采集限位传感器的状态对电机进行起停控制。微型直流电机驱动器系统的结构示意如图 所示。-#+P1-#+P2-#+PnRS4224C8051F310(RS4224+$+DJTAG+D4D+P+DL+DMAX491(+E+D-#+Pl图 系统结构示意 硬件系统设计 单片机最小系统本驱动器主控制芯片采用 脚的 封装 单片机,具体选择其具有高速的、流水线结构的 兼容的 内核,时钟频率为 时,速度可达 ,芯片工作电压为 。具有 的可在系统编程的 存储
5、器,字节的片内 ,个增强型 和 个增强型的 串行接口,个硬件实现的 接口,个通用的 位定时器,具有个捕捉 比较模块和看门狗定时器功能的 位可编程计数器 定时器阵列(),真正的 位 的 通道单端 差分 ,带模拟多路器。扩展的中断系统提供 个中断源。具有 个数字 端口(个位口和个位口)均耐受 电压,每个端口引脚均可被配置为数字 或模拟输入,配置为数字 的引脚还可以配置为推挽或漏极开路输出。通过配置数字交叉开关控制寄存器可以将内部数字系统资源映射到端口 引脚,方便用户根据特定应用选择通用 端口和所需数字资源进行组合,能很好满足系统需求。本直流电机驱动器硬件系统设计单片机最小系统如图所示。其中 、口分
6、别为单片机外部时钟输入、外部时钟输出端口;、配置为串行口 的输出、输入口,分别连接到电平转换芯片 的输入、输出端口,网络标号分别为 、;、配置为 输出通过驱动电路分别控制 路直流电机的转速,网络标号分别为 、;、配置为数字 口,推挽输出模式,通过驱动三第 期 钟志贤:一种实用微型直流电机驱动器的设计与实现极管控制继电器改变 路直流电机的转向,网络标号分别为 、;单片机的 端口引出作为电机限位传感器的接口;端口连接串口电平转换芯片 第四引脚作为总线使能控制端口,网络标号为 ;端口控制一个 灯 作为工作指示灯使用,网络标号为 。驱动器还设置有电源指示灯 ,为其限流电阻。图 单片机最小系统电路原理
7、电源电路本直流电机驱动器硬件电源电路原理如图 所示。驱动器共需要 种电压源,分别为 、。其中 作为直流电机的动力电源,作为 管的驱动电源,作为直流电机限位传感器电源,作为单片机的电源使用。直流电源通过 接口引入,网络标号为“、”;为保险丝管,在 与 之间并联一个电容 作为滤波电容使用,取值为 。、电源通过 总线接口引入(图 中 所示),网络标号分别为“、”“、”。在 与 之间并联一个 的电容 进行滤波;在 与 之间并联一个 的电容 进行滤波。通过使用一片 电压转换芯片 将转换成 使用,网络标号为“、”,在 的输入端与地线之间并联 个电容 ()、(),同样 的输出端与地线之间并联 个电容 ()、
8、(),通过一大一小电容组合可以滤除电源的杂波和交流成分,容量较小的电容 、为高频去耦电容,用来滤除电源中的高频杂波以免电路产生自激。地线、地线、与 地线之间分别用一个 欧电阻 、进行短接实现共地。串行总线接口与 电路本直流电机驱动器通过 串行总线与上位机通信,总线接口如图 中 所示。同时该接口也作为 、直流电源引入接口。总线采用 线,全双工、差分传输,具有多点通信等优点,与 、相比更适合本驱动器使用;电平转换芯片采用 将单片机的 电平转换成 电平进行传输。芯片(图 所示)的第四引脚为总线使能端,由单片机的 端口控制。为 接口,为开发接口的双向数据信号,为开发接口的时钟信号,为单片机复位信号,一
9、个至少持续 的低电平即可使系统进行复位,为单片机的复位按键。昆明冶金高等专科学校学报 年 月图 电源电路原理 图 串行总线接口与 电路原理 直流电机驱动电路本直流电机驱动器设计有 路直流电机驱动电路,以其中 路进行介绍,电路原理如图 所示。当 、为低电平信号时,三极管 、处于截止状态,管 的栅极通过一个上拉电阻连接到 电平,管 导通,电流通过继电器的第 引脚与第 引脚,经电机 的 接口到 接口,后经继电器的第 引脚与第 引脚到达 管 的漏极接地形成通路,此时电机正向转动;反之,当 为高电平信号时,三极管 处于导通状态,管 的栅极通过三极管 接地为低电平,管 截止电流不能形成通路,此时电机停止转
10、动。当 为高电平时,三极管 导通,继电器线圈通电吸合,电流通过继电器的第 引脚与第 引脚,经电机的 到 接口,后经继电器的第 引脚与第 引脚到达 管 的漏极接地形成通路,此时电机反向转动。即通过 的 信号可用对电机调速,通过 的信号可用改变电机的转向。第 期 钟志贤:一种实用微型直流电机驱动器的设计与实现二极管 作为电机 线圈的续流二极管,二极管 作为继电器线圈的续流二极管保护电流,发光二极管 为电机正向转动时的指示灯,为其限流电阻。图 中的电阻 、与图 中的电阻 组成本路电机驱动电路的分压限流电阻保护单片机的引脚。图 直流电机驱动电路原理 限位传感器接口电路本直流电机驱动器需要配合相关机构限
11、位传感器对电机进行闭环控制,如当电机带动机构运行到位后,需要限位传感器将信号给到单片机使电机停止转动。每一路电机只少需要两个传感器进行闭环控制,故将单片机的 端口共 位引脚()引出,作为限位传感器的接口,引出的接口电路原理如图 中 所示。图中 均为阻值 的上拉电阻。图 限位传感器接入电路原理 软件系统设计直流电机驱动器软件系统采用模块化设计方法,主要包括程序流程设计、系统通信协议设计等。具体软件采用 语言进行编程,包括系统初始化函数设计、串口接收中断函数设计、主函数设计等。程序流程设计驱动器硬件系统上电后,首先进行系统初始化工作:可编程计数器 定时器 初始化、定时器初始化、串口初始化、端口初始
12、化、时钟配置初始化、系统中断优先级配置初始化。之后,系统进入主函数循环检测串口接收中断函数标志位,若接收到完整的数据帧,则提取接收到的数据帧中的控制信息,根据通信协议约定,进行 相关寄存器的赋值,改变 输出,同时控制继电器的吸合,进而控制电机的转向。具体程序流程如图 所示。昆明冶金高等专科学校学报 年 月 通信协议设计由于轮式自主移动竞赛机器人需要直流电机驱动控制的机构数量较多,控制系统相对复杂,机器人使用了上位机及不同系列的单片机处理器,为更好地保证直流电机驱动器的通信稳定性与扩展性,需要对设备之间的通信协议进行设计,确保整个控制系统无差错顺畅运行 。上位机与驱动器的通信协议,即接收和发送帧
13、格式如表 所示。PCA+D?UBPCA0CPH0+UDE0 x10:*DU0 x11:*DU0 x12:*D0 x10-0 x12?0 x20-0 x22?0 x30-0 x32?0 x40-0 x42?YNYNNNPCA0CPH0=0;PCA0CPH1=0;PCA0CPH2=0;PCA0CPH3=0;F*D0 x44?NI/O0I31*KK 2*KK*PCA0CPH0=0;YNUBPCA0CPH1+UDE0 x20:*DU0 x21:*DU0 x22:*D*PCA0CPH1=0UNYY3*KK UBPCA0CPH2+UDE0 x30:*DU0 x31:*DU0 x32:*D*PCA0CPH2
14、=0UNYY4*KK UBPCA0CPH3+UDE0 x40:*DU0 x41:*DU0 x42:*D*PCA0CPH3=0UNYYY图 程序流程 表 接收和发送的帧格式 序号字节内容字节意义备注 字头(固定)表示协议帧的开始 字头(固定)表示协议帧的开始 接收设备地址用户可以自己定义 控制数据长度控制数据长度(第 项之长度)控制命令 (电机停止)、(电机正转)、(电机反转)(电机停止)、(电机正转)、(电机反转)(电机停止)、(电机正转)、(电机反转)(电机停止)、(电机正转)、(电机反转)(、电机停止)控制数据不同的帧长度下,此项的字节数不同 校验和序号 项所有字节累加最低字节作为校验和第
15、 期 钟志贤:一种实用微型直流电机驱动器的设计与实现 串口接收中断函数 语言程序设计 通讯数据帧头 通讯数据帧头 等待接收数据头标志 数据长度滤波器,限制为 个数据 一个新帧到达,等待执行()本机地址 设置接收缓冲区的个数 设置每一缓冲区的数据最大长度 定义数据缓冲区结构体 ;发送数据的 地址 ;命令字 ;实际通讯的字节数 ;数据缓冲区 ;所有的和 ;:帧状态正确();:一个新的数据帧接收完();个接收缓冲区的个数 ;();数据长度 ;起动标志位 ;索引初始化 ;();接收数据暂存 ();()等待数据头 ,()()!;收到数据头,表示一个数据包传送开始 ;数据索引复位 ;昆明冶金高等专科学校学
16、报 年 月 ;()():第 个数据,读取 地址、(!)判断 地址是否符合,;如果不符合,从新进入等待自己的数据 ;:;提取数据帧长度,范围 ;因为数据索引初始就是 ;先清空标志位 ();提取整个帧状态 ;:;第 个数据,读取命令字 ;()存储数据 ;重启,等待下一新帧 ;有一个新帧到达,等待执行第 期 钟志贤:一种实用微型直流电机驱动器的设计与实现 结语通过合理选用 单片机作为驱动器主控芯片,芯片作为电平转换芯片驱动 总线,以及使用双刀双掷继电器配合特大电流场效应管实现电机的转向与调速,进行直流电机驱动器的开发,既能有效降低开发难度,也能节约开发时间与开发成本。通过与上位机的通信测试,使用差分
17、的 总线进行有线通信,能更好地提高系统的抗干扰性,有效保证通信的稳定性与安全性。目前驱动器只实现对直流电机转速的开环控制,后续可在此系统基础上增加光电码盘等传感器,采集转速信息,进一步实现对电机转速的闭环控制。本直流电机驱动器的使用能有效降低自主移动竞赛机器人直流电机运动机构驱动成本,也能为类似直流电机驱动系统的设计提供参考。参考文献:李超,李波 一种实用型直流电机控制电路的设计 现代电子技术,():韩超超,李云波 一种微型直流电机调速系统设计 自动化与仪器仪表,():王其军,杨坤,苏占彪,等 基于硬件的 无刷直流电机驱动器设计 传感器与微系统,():赵轩浩,高理富,曹会彬,等 基于 的无刷直
18、流电机驱动器设计 仪表技术,():沈开灿 基于 控制的直流电机驱动器原理分析 电子世界,():马朝骥,冯雯雯,庞佑兵,等 一种有刷直流电机驱动器的设计 微电子学,():钟志贤,丁瑜,吴世立,等 基于 总线的多路舵机网络控制器设计 昆明冶金高等专科学校学报,():檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿 (上接第 页)参考文献:宋丽瑛 水泥质量控制 武汉:武汉理工出版社,中华人民共和国国家标准质量监督检验检疫总局,中国国家标准化管理委员会 ,水泥比表面积测定方法 勃氏法 北京:中国标准出版社,胡斌 探讨影响勃氏法水泥比表面积试验结果的因素 四川水泥,():林雯对通用硅酸盐水泥细度(比表面积)检测结果偏差因素的探讨 河南建材,:闵永涛 水泥比表面积试验检测结果偏差的因素探讨 内蒙古公路与运输,():王友云,李伟,李嘉仪 水泥比表面积测定的影响因素及操作要点分析 广东建材,():昆明冶金高等专科学校学报 年 月